Aller au contenu principal

Récupérer les réservations

Ce service web récupère la liste des réservations associées à la zone locative passée en paramètre

GET @api/partners/hotels/@hotel_id/rooms/@room_id/bookings
- from (date) : Récupération des réservations avec une date de début de séjour supérieure au paramètre
- to (date) : Récupération des réservations avec une date de début de séjour inférieure au paramètre
- checkin_min_date (date) : Récupération des réservations avec une date de début de séjour supérieure au paramètre
- checkin_max_date (date) : Récupération des réservations avec une date de début de séjour supérieure au paramètre
- checkout_min_date (date) : Récupération des réservations avec une date de fin de séjour supérieure au paramètre
- checkout_max_date (date) : Récupération des réservations avec une date de fin de séjour supérieure au paramètre

Réponse du service

Le service répond avec un code HTTP 200 OK en cas de réussite du traitement. Vous trouverez ci-dessous un exemple de réponse au format JSON.

Exemple de réponse JSON
  {
"data": [{
/** @var int Identifiant unique d'une réservation */
"id": 269559,
/** @var string Référence unique du dossier */
"reference": "R200155753",
/** @var string Type de contrat (+ d'infos ci-dessous) */
"workflow": "system",
/** @var string Référence de la structure */
"hotel_id": "H88G000200",
/** @var string Référence de la zone locative */
"room_id": "H88G000200",
/** @var string Nature du séjour (+ d'infos ci-dessous) */
"nature": "par",
/** @var string Source du séjour (+ d'infos ci-dessous) */
"source": "system",
/** @var string Statut de la réservation (+ d'infos ci-dessous) */
"state": "confirmed",
/** @var object Commentaires associés à la réservation */
"comments": {
/** @var string|null Commentaire de l'agent */
"agentComment": "Arrivée tardive prévue vers 20h.",
/** @var string|null Commentaire du propriétaire */
"ownerComment": "Clé déposée dans la boîte aux lettres.",
/** @var string|null Commentaire du voyageur */
"customerComment": "Nous serons 2 adultes et 1 enfant en bas âge.",
/** @var string|null Commentaire public visible par tous */
"publicComment": "Séjour validé, merci de prendre contact 48h avant l'arrivée."
},
/** @var bool La caution est sécurisée ? */
"is_guaranteed": true,
/** @var bool La réservation est une vente de dernière minute ? */
"is_last_minute": false,
/** @var bool La réservation nécessite une confirmation propriétaire ? */
"is_owner_acknowledgment_required": true,
/** @var date Date d'entrée en location */
"checkin": "2020-09-11",
/** @var date Date de sortie de location */
"checkout": "2020-09-19",
/** @var int Nombre d'adultes */
"adults": 2,
/** @var int Nombre d'enfants */
"children": 0,
/** @var int Nombre de bébés */
"babies": 0,
/** @var int Nombre d'animaux */
"pets": 0,
/** @var bool Assurance souscrite ? */
"insurance": true,
/** @var array Liste des services additionnels de séjour */
"additionnal_services": [{
"name": "Ménage de fin de séjour",
"amount": 200
},
{
"name": "Location vélo",
"amount": 50
}
],
/** @var array Liste des promotions appliquées sur le séjour */
"discounts": [
{
/** @var int Identifiant unique de la promotion */
"id": 9,
/** @var string Référence unique de la promotion */
"reference": "D240000002",
/** @var string Nom de la promotion */
"name": "Promotion de test",
/** @var string|null Code de la promotion */
"code": null,
/** @var string Nature de promotion */
"type": "period",
/** @var string|null Qui supporte la promotion ? */
"distribution": "shared",
/** @var bool La promotion est-elle cumulable avec d'autres ? */
"is_cumulative": true
},
{
"id": 10,
"reference": "D240000003",
"name": "Promotion avec code",
"code": "E8X2WDPHGF",
"type": "markup",
"distribution": null,
"is_cumulative": false
}
],
/** @var float Montant total du séjour */
"trip_amount": 772.6,
/** @var float Montant des loyers avant remises/promotions */
"periods_amount": 550,
/** @var float Montant des services additionnels */
"options_amount": 250,
/** @var float Montant des remises/promotions */
"discounts_amount": 100,
/** @var float Montant de l'assurance annulation */
"insurance_amount": 45,
/** @var float Montant des frais de dossiers voyageurs */
"service_fee_amount": 30,
/** @var float Montant du markup */
"markup_amount": 10,
/** @var float Montant du markup de distribution */
"partner_markup_amount": 10,
/** @var float Montant de la taxe de séjour collectée */
"tourist_tax_amount": 17.6,
/** @var float Montant des commissions sur le propriétaire */
"commission_amount": 45,
/** @var float Taux de TVA % sur les frais de dossiers/commissions */
"tva_rate": 20,
/** @var datetime Date de création de la réservation */
"created_at": "2020-11-15T16:46:09+0100",
/** @var datetime|null Date de dernière modification de la réservation */
"updated_at": null,
/** @var datetime|null Date d'annulation de la réservation */
"cancelled_at": null,
/** @var datetime|null Date de confirmation de la réservation */
"confirmed_at": "2020-11-15T16:46:26+0000",
"main_guest": {
/** @var string Référence unique du voyageur */
"reference": "C180116142",
/** @var string Adresse e-mail du voyageur */
"email": "guest@cloudspire.io",
/** @var string|null Numéro de téléphone du voyageur */
"phone": "+33612345678",
/** @var string|null Civilité du voyageur */
"gender": "Mr",
/** @var string|null Prénom du voyageur */
"firstname": "Benoit",
/** @var string|null Nom du voyageur */
"lastname": "JACQUOT",
/** @var string|null Raison sociale */
"company_name": "BLIZZARD",
/** @var string Nom d'affichage du voyageur (+ d'infos ci-dessous) */
"nicename": "Mr Benoit JACQUOT",
/** @var string|null Code postal du voyageur */
"zipcode": "88600",
/** @var string|null Pays du voyageur */
"country": "France"
},
"operator": {
/** @var string Identifiant unique de l'agent qui à réalisé la réservation */
"id": "4d6f00e7334949109611568d04ff10b6",
/** @var string Nom d'affichage de l'agent qui à réalisé la réservation*/
"display_name": "John Doe"
}
}],
"meta": {
/** @var int Nombre de réservations*/
"count": 1
}
}

Informations détaillées de la réponse

workflow (string)

Cet attribut représente le type de contrat concerné par la réservation.

ValeurDescription
systemContrat centrale
directContrat location directe
partnerContrat partenaire

state (string)

Cet attribut représente le statut courant de la réservation.

ValeurDescription
confirmedRéservation confirmée
cancelledRéservation annulée

nature (string)

Cet attribut représente la nature de la réservation.

ValeurDescription
proSéjour professionnel
parSéjour particulier

source (string)

Cet attribut représente la source de la réservation.

ValeurDescription
cloudspireContrat en provenance de Cloudspire
ownerContrat en provenance du propriétaire
partnerContrat en provenance d'un partenaire
gdf_snContrat en provenance de GDF SN
gdf_ceContrat en provenance du CE GDF
booking_comContrat en provenance de Booking.com
hometogoContrat en provenance de Hometogo
holiduContrat en provenance de Holidu
expediaContrat en provenance d'Expedia
gdf_crsContrat en provenance du CRS GDF
origine_franceContrat en provenance d'Origine France
fdt_province_liegeContrat en provenance de FDT Province Liège
googleContrat en provenance de Google
vaoloContrat en provenance de Vaolo
vendee_tourismeContrat en provenance de Vendée Tourisme
crdt_auvergeContrat en provenance de CRDT Auvergne
mddt_haute_loireContrat en provenance de MDDT Haute-Loire
open_systeme_original_franceContrat en provenance d'Open Système Original France
city_breakContrat en provenance de City Break
crt_centre_vdlContrat en provenance du CRT Centre VDL
pays_loireContrat en provenance du Pays de la Loire
rhone_tourismeContrat en provenance de Rhône Tourisme
hda_koediaContrat en provenance de HDA Koedia
  • Dans le cadre d'une réservation système (source = system), l'opérateur spécifié est l'agent de réservation qui à réalisé la réservation
  • Dans le cadre d'une réservation propriétaire (source = owner), l'opérateur spécifié est le propriétaire lui-même

discounts.type (string)

Cet attribut représente la nature de la promotion sur le dossier.

ValeurDescription
periodPromotion sur les loyers du séjour
markupPromotion sur le markup
commissionPromotion sur les commissions
service_feePromotion sur les frais de dossier

main_guest.nicename (string)

Cet attribut représente le nom d'affichage du voyageur. Sa valeur est calculée selon les règles suivantes :

  • Pour un compte professionnel : retourne la raison sociale
  • Pour un compte particulier avec prénom et nom renseignés : retourne la civilité + prénom + nom

discounts.distribution (string)

Cet attribut représente la stratégie de répartition de la promotion sur le dossier.

ValeurDescription
sharedPromotion partagée par le propriétaire et l'agence
ownerPromotion entièrement supportée par le propriétaire
srPromotion entièrement supportée par l'agence

Gestion des erreurs

Code HTTPRaison
400Erreur(s) de validation des données
403Identifiant/mot de passe incorrect
403Compte partenaire désactivé (voir avec Cloudspire)
500Erreur interne de traitement des données