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.
| Valeur | Description |
|---|---|
| system | Contrat centrale |
| direct | Contrat location directe |
| partner | Contrat partenaire |
state (string)
Cet attribut représente le statut courant de la réservation.
| Valeur | Description |
|---|---|
| confirmed | Réservation confirmée |
| cancelled | Réservation annulée |
nature (string)
Cet attribut représente la nature de la réservation.
| Valeur | Description |
|---|---|
| pro | Séjour professionnel |
| par | Séjour particulier |
source (string)
Cet attribut représente la source de la réservation.
| Valeur | Description |
|---|---|
| cloudspire | Contrat en provenance de Cloudspire |
| owner | Contrat en provenance du propriétaire |
| partner | Contrat en provenance d'un partenaire |
| gdf_sn | Contrat en provenance de GDF SN |
| gdf_ce | Contrat en provenance du CE GDF |
| booking_com | Contrat en provenance de Booking.com |
| hometogo | Contrat en provenance de Hometogo |
| holidu | Contrat en provenance de Holidu |
| expedia | Contrat en provenance d'Expedia |
| gdf_crs | Contrat en provenance du CRS GDF |
| origine_france | Contrat en provenance d'Origine France |
| fdt_province_liege | Contrat en provenance de FDT Province Liège |
| Contrat en provenance de Google | |
| vaolo | Contrat en provenance de Vaolo |
| vendee_tourisme | Contrat en provenance de Vendée Tourisme |
| crdt_auverge | Contrat en provenance de CRDT Auvergne |
| mddt_haute_loire | Contrat en provenance de MDDT Haute-Loire |
| open_systeme_original_france | Contrat en provenance d'Open Système Original France |
| city_break | Contrat en provenance de City Break |
| crt_centre_vdl | Contrat en provenance du CRT Centre VDL |
| pays_loire | Contrat en provenance du Pays de la Loire |
| rhone_tourisme | Contrat en provenance de Rhône Tourisme |
| hda_koedia | Contrat 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.
| Valeur | Description |
|---|---|
| period | Promotion sur les loyers du séjour |
| markup | Promotion sur le markup |
| commission | Promotion sur les commissions |
| service_fee | Promotion 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.
| Valeur | Description |
|---|---|
| shared | Promotion partagée par le propriétaire et l'agence |
| owner | Promotion entièrement supportée par le propriétaire |
| sr | Promotion entièrement supportée par l'agence |
Gestion des erreurs
| Code HTTP | Raison |
|---|---|
| 400 | Erreur(s) de validation des données |
| 403 | Identifiant/mot de passe incorrect |
| 403 | Compte partenaire désactivé (voir avec Cloudspire) |
| 500 | Erreur interne de traitement des données |