Correspondances : socle commun (bientôt disponible)

Correspondances appliquées à toutes les fiches, sauf mention contraire dans la page du type. Les chemins Apidae sont ceux de l’API v002.

Identité

schema.orgSource ApidaeRègle
@typeselon le type d’objetvoir article dédié ; un type parent redondant est retiré (Store + Bakery → Bakery)
namenomlangue produite, à défaut français
descriptionpresentation.descriptifCourt, à défaut descriptifDetailletexte brut : balises HTML et commentaires retirés, entités décodées (&eacute;, &#233;, &amp;…) ; un « < » qui ne forme pas une balise (< 5 km) est conservé
identifierididentifiant Apidae de la fiche
inLanguage—langue du JSON-LD (fr, en…)

Localisation

schema.orgSource ApidaeRègle
address (PostalAddress)localisation.adressestreetAddress = lignes d’adresse jointes par « , » ; name = nom du lieu s’il diffère du nom de la fiche ; postalCode ; addressLocality = commune ; addressCountry = code ISO 3166-1 du pays de la commune
geo (GeoCoordinates)localisation.geolocalisationseulement si la géolocalisation est validée ; latitude, longitude, elevation (altitude en mètres)
containedInPlace (City)communename, identifier = code INSEE
hasMapmultimédia de type planURL du plan (lieux uniquement)

Contact

schema.orgSource Apidae (type de moyen de communication)Règle
telephoneTéléphonele premier ; format international (+33…) pour les numéros français
emailMélle premier
urlSite webla première URL http(s) — site de l’établissement, pas la page de votre site
sameAsFacebook, Instagram, X, LinkedIn, TikTok, YouTube, Google My Business, Tripadvisor, Yelp…, et multimédias « réseaux sociaux »toutes les URL http(s), sans doublon

Ouverture

schema.orgSource ApidaeRègle
openingHoursSpecificationouverture.periodesOuvertures[] avec leurs horairesune spécification par créneau : dayOfWeek (URL schema.org des jours), opens, closes, validFrom/validThrough = dates de la période ; pour une période « tous les ans », voir ci-dessous
specialOpeningHoursSpecificationfermetures exceptionnelles (dates et jours fériés)une entrée par date des douze prochains mois, opens = closes = 00:00 (fermé)

Périodes « tous les ans » : une période qui ne couvre pas l’année entière (une saison du 1ᵉʳ juin au 30 septembre, par exemple) reçoit validFrom/validThrough, bornés sur l’occurrence en cours ou à venir : les mois et jours de la période sont projetés sur l’année courante, la fin est reportée à l’année suivante si elle précède le début (du 1ᵉʳ novembre au 31 mars) ; vue en janvier, une période à cheval sur deux années reste rattachée à l’occurrence commencée l’année précédente tant qu’elle est en cours (du 1ᵉʳ décembre de l’année précédente au 31 mars de l’année courante) ; une occurrence déjà terminée donne celle de l’année suivante. Une période couvrant du 1ᵉʳ janvier au 31 décembre reste sans bornes (ouverture permanente). Le balisage étant calculé à chaque appel, les bornes suivent l’année en cours ; si vous mettez la réponse en cache, ne publiez pas de bornes dépassées.

Fermetures impossibles ignorées : une date de fermeture absente ou impossible (29 février d’une année non bissextile) est ignorée, sans effet sur le reste de la fiche.

Ne sont pas produits : périodes terminées, motifs « n-ième jour du mois », jours fériés dans les créneaux, créneaux fermés, horaires de « dernière entrée », créneaux sans heure d’ouverture et de fermeture. Les fêtes et manifestations n’ont pas de spécification d’ouverture : leurs périodes deviennent des dates d’événement.

Tarifs

schema.orgSource ApidaeRègle
isAccessibleForFreedescriptionTarif.indicationTariftrue : gratuit, accès libre, entrée libre (y compris stationnement ou transport payant) ; false : payant ; absent sinon (ex. participation libre)
offers (Offer)descriptionTarif.periodes[].tarifs[]une offre par tarif des périodes en cours ou à venir : name = type de tarif, price = minimum (à défaut maximum), priceSpecification min/max si fourchette, priceCurrency (EUR par défaut), validFrom/validThrough ; types exclus : caution, taxe de séjour, remise… (voir annexe TarifType)
priceRangeoffres émises« 35 € – 75 € » ; établissements uniquement (LocalBusiness)
currenciesAccepteddeviseétablissements uniquement
paymentAccepteddescriptionTarif.modesPaiement[]libellés joints ; établissements uniquement

Prestations, accessibilité, clientèles

schema.orgSource ApidaeRègle
petsAllowedprestations.animauxAcceptestrue / false / « Avec supplément » ; hébergements uniquement
amenityFeature (LocationFeatureSpecification)équipements, conforts, services, activités, tourisme adapté, environnementsélection d’éléments discriminants (piscine, parking, wifi, spa, borne de recharge, vue remarquable, accessibilité fauteuil…) ; value = false pour les critères négatifs (ex. « non accessible en fauteuil ») ; lieux uniquement
availableLanguageprestations.languesParlees[]codes BCP 47 ; hébergements et attractions uniquement
audience / typicalAgeRangeprestations.typesClientele[]clientèles de portée générale (familles, groupes…) ; tranches d’âge
additionalProperty « Difficulté », « Cotation… »niveaux de difficulté et cotations des clientèlesvaleur du niveau
awardprestations.labelsTourismeHandicap[]« Marque Tourisme et Handicap – déficience … »

Images et médias

schema.orgSource ApidaeRègle
image (ImageObject)illustrations[] (images)fichier de la langue produite (à défaut le premier) : contentUrl, url, caption (légende), copyrightNotice et creditText (copyright), width, height
video (VideoObject)multimédias vidéoname, description, contentUrl (fichier) ou embedUrl (lien)
logomultimédia logoURL
subjectOf (CreativeWork)brochure virtuellename, url

Labels, classements, chaînes

Source : distinctions[] (distinctions en cours de validité uniquement), routées selon la correspondance de chaque nom de distinction :

CibleExemplesRègle
awardlabels notoires, guides, AOP, patrimoine mondial…libellé, complété de la qualification (« Gîtes de France — 3 épis »)
brandchaînes hôtelièresOrganization
memberOfassociations et réseaux (restauration…)Organization
starRatingclassements officiels en étoilesRating (ratingValue, author = Atout France pour le classement national) ; hébergements et restaurants uniquement ; le classement du type (voir page hébergements) est prioritaire
additionalPropertyagréments, chartes, marques localesPropertyValue

Les libellés identiques issus de plusieurs sources ne sont émis qu’une fois.

Attribution et fraîcheur

schema.orgSource ApidaeRègle
dateModifiedgestion.dateModificationISO 8601 avec fuseau
creatorgestion.membreProprietaireOrganization : nom et site web du membre propriétaire de la donnée
sdPublisher—Apidae Tourisme
sdDatePublished—date de génération du balisage

Fuseau horaire

Les dates-heures portent le décalage du fuseau de la fiche, calculé à la date (heure d’été / d’hiver) : fuseau des collectivités d’outre-mer d’après le code INSEE (Guadeloupe, Martinique, Guyane, La Réunion, Mayotte…), sinon celui du pays, sinon Europe/Paris.

Propriétés réservées à certains types

Pour rester conforme au vocabulaire, certaines propriétés ne sont émises que sur les types qui les admettent (et leurs sous-types) :

PropriétéTypes
priceRange, paymentAccepted, currenciesAcceptedLocalBusiness
starRatingLodgingBusiness, FoodEstablishment
servesCuisine, acceptsReservationsFoodEstablishment
availableLanguageLodgingBusiness, TouristAttraction
petsAllowed, numberOfRoomsLodgingBusiness, Accommodation
touristTypeTouristAttraction, TouristDestination, TouristTrip
amenityFeature, hasMap, publicAccessPlace
brandOrganization, Product, Service
memberOfOrganization
maximumAttendeeCapacityEvent, Place

Un @type qui n’appartient pas au vocabulaire schema.org n’est jamais émis : il est écarté de la correspondance.

Dérogations

Par choix, quelques propriétés sont émises hors de leur domaine schema.org strict, parce que l’information est utile aux consommateurs du balisage et tolérée par Google :

PropriétéÉmise aussi surRaison
telephone, emailEvent, TouristTripcontact de l’organisateur ou du prestataire
geo, containedInPlace, openingHoursSpecificationOrganization (structures sans type LocalBusiness)localisation et horaires de la structure
isAccessibleForFreeProductgratuité d’un séjour ou d’un forfait
additionalProperty, audiencetous les typescaractéristiques et publics sans propriété dédiée
award, creator, dateModifiedtoutes les fichesdistinctions, producteur de la donnée, fraîcheur

Le validateur schema.org (validator.schema.org) peut signaler des avertissements sur ces propriétés ; ils sont attendus et sans effet sur les résultats enrichis de Google. publicAccess, lui, reste réservé à Place. audience n’est émise que si son audienceType est connu.