Disponibilités
Cœur de l'API : recherche des disponibilités et des prix nets partenaire par ville ou par liste d'hôtels. Chaque offre renvoie un rateKey signé à rejouer dans Vérification de prix.
Requête
Corps JSON
- Name
city- Type
- integer
- Description
Identifiant de la ville (référentiel). Obligatoire si
hotelsabsent.
- Name
hotels- Type
- integer[]
- Description
Liste d'identifiants d'hôtels (200 maximum). Obligatoire si
cityabsent.
- Name
checkIn- Type
- string
- Description
ISO
YYYY-MM-DD.
- Name
checkOut- Type
- string
- Description
ISO
YYYY-MM-DD.
- Name
rooms- Type
- object[]
- Description
Occupation des chambres :
{ "adults": 2, "children": [8, 12] }(âges des enfants).
- Name
currency- Type
- string
- Description
Devise de réponse (ex.
TND). Devise de votre compte partenaire par défaut.
- Name
language- Type
- string
- Description
Langue des libellés (défaut
fr).
Règles
cityouhotels, jamais les deux.- Une recherche identique (même partenaire, ville, dates, occupation) est cachée 5 minutes côté passerelle.
- Les offres fournisseurs ne sont jamais exposées : seul le stock propre (contrats directs) répond.
curl -s -X POST "https://partners.bravebooking.net/v1/1000/availability" \
-H "X-Api-Key: $API_KEY" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"city": 146070,
"checkIn": "2027-01-15",
"checkOut": "2027-01-20",
"rooms": [{ "adults": 2, "children": [8] }],
"currency": "TND",
"language": "fr"
}'
Réponse
{
"searchId": "srch_01JC8EXAMPLE",
"hotels": [
{
"id": 1803258,
"name": "Villa Demo Stays",
"image": "https://stage-public.s3.fr-par.scw.cloud/clients/1000/hotels/1803258/thumb.jpg",
"offers": [
{
"rateKey": "rk_x9F2kQ8example",
"room": { "id": "18", "name": "Chambre Deluxe Vue Mer" },
"boarding": { "id": 16, "name": "Petit-déjeuner" },
"price": { "amount": 500.0, "currency": "TND", "net": true },
"cancellation": [
{ "from": "2026-12-15", "to": "2027-01-14", "type": "PERCENT", "value": 0 },
{ "from": "2027-01-14", "type": "PERCENT", "value": 100, "nature": "NO_SHOW" }
],
"confirmation": "instant",
"promotion": null,
"onRequest": false,
"stopSales": []
}
]
}
]
}
Champs d'une offre
- Name
rateKey- Type
- string
- Description
Clé d'offre signée et opaque. À rejouer telle quelle dans
checkratepuis dans la réservation. Ne pas décoder ni modifier.
- Name
price- Type
- object
- Description
Prix net partenaire (
net: true), montant total du séjour pour l'occupation demandée.
- Name
cancellation- Type
- object[]
- Description
Frais d'annulation chiffrés et datés :
from,to(optionnel),type(PERCENT,NIGHT,PRICE),value,natureoptionnelle (NO_SHOW,NON_REFUNDABLE…).
- Name
confirmation- Type
- string
- Description
instant(confirmation immédiate) ouonRequest(sur demande, délai de confirmation).
- Name
promotion- Type
- object | null
- Description
Promotion éventuelle appliquée au prix.
- Name
stopSales- Type
- object[]
- Description
Arrêts de vente éventuels (
from,to, motif).
Erreurs
400 validation_failed (ville et hôtels absents, dates invalides, plus de 200 hôtels), 422 stop_sales (aucune offre vendable sur la période). Voir Erreurs.