Availability

The heart of the API: search availability and net partner rates by city or hotel list. Each offer returns a signed rateKey to replay in Rate check.

POST/v1/{code}/availability

Request

JSON body

  • Name
    city
    Type
    integer
    Description

    City id (reference data). Required if hotels is absent.

  • Name
    hotels
    Type
    integer[]
    Description

    List of hotel ids (200 maximum). Required if city is absent.

  • Name
    checkIn
    Type
    string
    Description

    ISO YYYY-MM-DD.

  • Name
    checkOut
    Type
    string
    Description

    ISO YYYY-MM-DD.

  • Name
    rooms
    Type
    object[]
    Description

    Room occupancy: { "adults": 2, "children": [8, 12] } (children ages).

  • Name
    currency
    Type
    string
    Description

    Response currency (e.g. TND). Your partner account currency by default.

  • Name
    language
    Type
    string
    Description

    Labels language (default fr).

Rules

  • city or hotels, never both.
  • An identical search (same partner, city, dates, occupancy) is cached 5 minutes gateway-side.
  • Supplier offers are never exposed: only own stock (direct contracts) answers.
POST
/v1/1000/availability
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"
  }'

Response

{
  "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": []
        }
      ]
    }
  ]
}

Offer fields

  • Name
    rateKey
    Type
    string
    Description

    Signed, opaque offer key. Replay as-is in checkrate then in the booking. Do not decode or modify it.

  • Name
    price
    Type
    object
    Description

    Net partner price (net: true), total stay amount for the requested occupancy.

  • Name
    cancellation
    Type
    object[]
    Description

    Dated, priced cancellation fees: from, to (optional), type (PERCENT, NIGHT, PRICE), value, optional nature (NO_SHOW, NON_REFUNDABLE…).

  • Name
    confirmation
    Type
    string
    Description

    instant (immediate confirmation) or onRequest (confirmation delay).

  • Name
    promotion
    Type
    object | null
    Description

    Promotion applied to the price, if any.

  • Name
    stopSales
    Type
    object[]
    Description

    Stop-sales periods, if any (from, to, reason).

Errors

400 validation_failed (city and hotels both missing, invalid dates, more than 200 hotels), 422 stop_sales (nothing sellable on the period). See Errors.

Was this page helpful?