Format des types courants

Retrouvez ici les définitions de format pour les types courants (date, textes, …)

Textes

Les textes disponibles dans Apidae sont au format texte simple, sans balisage particulier. L’usage du HTML y est interdit.

Pour procéder à l’affichage des textes en environnement HTML, il est important de procéder aux tâches courantes d’échappement remplacement pour un affichage correct en HTML. En particulier, l’échappement des caractères &, <, > et le remplacement des retours à la ligne (\n, \r\n) par des retours à la ligne HTML

Dates

Les dates sont au format ISO 8601 : « 2012-06-27 ».

Dans le cas de l’utilisation du critère tousLesAns, les années ne sont pas significatives. Détail dans les Périodes d’ouverture.

Heures

Les heures (heures d’ouverture / fermeture) sur ouverture.periodesOuvertures[].horaireOuverture / ouverture.periodesOuvertures[].horaireFermeture sont au format « HH:MM:SS ».

Age et unité

Concernant le fonctionnement des champs prestations.ageMinprestations.ageMaxprestations.uniteAgeMinprestations.uniteAgeMax, le comportement est le suivant :

  • La valeur présente dans les champs prestations.ageMin et prestations.ageMax est tout le temps exprimé en nombre de mois. Ceci permet de faciliter les traitements globaux en stockant l’information de manière uniforme ;
  • Les champs prestations.uniteAgeMin et prestations.uniteAgeMax servent à préciser quel est le format préféré d’affichage de l’information. Ce format peut être en mois ou en année ;
  • Les champs d’unité doivent donc être utilisé au moment de l’affichage, pour vérifier s’il est nécessaire de convertir l’âge fourni (en nombre de mois) en un nombre d’année.

Tarifs

L’interface de saisie des tarifs dans Apidae permet de définir 3 types d’intitulé :

  • Les tarifs « À partir de » : identifiés par le fait que seul le champ periodes[i].tarifs[j].minimum est renseigné
  • Les tarifs « Tarif unique » : identifiés par le fait que les champs periodes[i].tarifs[j].minimum et periodes[i].tarifs[j].maximum sont renseignés avec la même valeur. Les tarifs dont le champ periodes[i].tarifs[j].minimum n’est pas renseigné sont également à interpréter de en tant que « Tarif unique« 
  • Les tarifs « De … à … » : identifiés par le fait que les champs periodes[i].tarifs[j].minimum et periodes[i].tarifs[j].maximum diffèrent.

Ces intitulés ne sont pas renseignés dans le flux et ne peuvent être déduits qu’au travers des règles explicitées ci-dessus

Exemple

"tarifs": [
    {
        "devise": "EUR",
        "minimum": 10.00,
        "maximum": 10.00,
        "precisionTarif": {
            "libelleFr": "Unique"
        },
        ...
    },
    {
        "devise": "EUR",
        "minimum": 20.00,
        "precisionTarif": {
            "libelleFr": "À partir de"
        },
        ...
    },
    {
        "devise": "EUR",
        "minimum": 30.00,
        "maximum": 40.00,
        "precisionTarif": {
            "libelleFr": "Min/Max"
        },
        ...
    }
]

Lieux

Pour des raisons de rétro-compatibilité, les lieux sont présents à deux endroits dans la structure des documents, localisation.adresse.nomDuLieu et localisation.lieu. Le nomDuLieu ne contient qu’un libellé alors que localisation.lieu indique l’identifiant du lieu ainsi que les différentes traductions du nom.

Attention : seuls les lieux issus d’un objet contiennent le nœud localisation.lieuObjetTouristique.

Nœud : localisation.adresse.nomDuLieu

"localisation" : {
    "adresse" : {
      "nomDuLieu" : "Le Galet",
      "adresse1" : "Rue du collège",
      "codePostal" : "01600",
      "commune" : {
        "id" : 293,
        "code" : "01322",
        "nom" : "Reyrieux",
        "pays" : {
          "elementReferenceType" : "Pays",
          "id" : 532,
          "libelleFr" : "France",
          "ordre" : 78
        },
        "codePostal" : "01600"
      }
    }
  }

Nœud : localisation.lieu

"lieu" : {
      "id" : 5295,
      "nom" : {
        "libelleFr" : "Le Galet"
      }
 }