{
  "openapi": "3.1.0",
  "info": {
    "title": "Booking.com Demand API",
    "version": "3.3",
    "summary": "Access Booking.com travel services through a single API.",
    "description": "The Booking.com Demand API enables Demand partners to search, retrieve,\npreview, create, and manage supported travel-service orders.\n\nDemand API v3.3 introduces structural improvements and selected breaking\nchanges compared with v3.2. It also provides car rental booking and\npost-booking capabilities.\n\nThe API:\n\n* Follows REST principles.\n* Uses JSON for requests and responses.\n* Uses HTTPS POST requests for all endpoints.\n* Requires Demand API authentication using an Affiliate ID and API token.\n\nFor more information, see the [Try out the API guide](/demand/docs/getting-started/try-out-the-api)."
  },
  "servers": [
    {
      "url": "https://demandapi.booking.com/3.3",
      "description": "Production environment – use for live integrations."
    },
    {
      "url": "https://demandapi-sandbox.booking.com/3.3",
      "description": "Sandbox environment – use for testing and validation."
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Accommodations",
      "x-displayName": "Accommodation",
      "description": "This collection includes endpoints related to **stays** within the connected trip experience. <br/>Use these endpoints to:<br/>- Search for hotels, apartments, and other accommodation types.<br/>- Check real-time availability and pricing.<br/>- Retrieve property details and guest reviews."
    },
    {
      "name": "Attractions",
      "x-displayName": "Attractions",
      "description": "Use these endpoints to search for and retrieve attractions, activities, and experience details."
    },
    {
      "name": "Cars",
      "x-displayName": "Car rentals",
      "description": "Use these endpoints to search for and retrieve car-rental availability, vehicle information, depot details, supplier information, reviews, and terms and conditions."
    },
    {
      "name": "Common/autocomplete",
      "x-displayName": "Autocomplete",
      "description": "Use this endpoint to retrieve ranked suggestions based on a free-text query. Designed for real-time \"as-you-type\" autocomplete experiences."
    },
    {
      "name": "Common/locations",
      "x-displayName": "Locations",
      "description": "This collection provides standardised **location identifiers** for geographical entities such as airports, countries, cities, and regions. <br/>Use the returned identifiers when constructing requests across all travel services API collections, including both accommodation and car rental endpoints."
    },
    {
      "name": "Common/payments",
      "x-displayName": "Payments",
      "description": "Provides generic **payment-related identifiers**, including supported currency codes, payment cards, and relevant metadata for booking flows.<br/>- Use the returned identifiers when constructing requests across all travel services API collections, including both accommodation and car rental endpoints."
    },
    {
      "name": "Common/languages",
      "x-displayName": "Languages",
      "description": "Use this endpoint to retrieve a list of supported IETF language tag codes.<br/>- You can use these codes when constructing requests across all travel services API collections, including both accommodation and car rental endpoints."
    },
    {
      "name": "Orders",
      "x-displayName": "Orders",
      "description": "Use these endpoints to preview, create, retrieve, cancel, and manage orders for supported travel services."
    }
  ],
  "paths": {
    "/accommodations/search": {
      "post": {
        "summary": "Search",
        "description": "Use this endpoint to search for accommodations that match your specified criteria. <br/>By default, **the response returns the cheapest available product** for each accommodation.<br/><br/>When applying location filters such as country or region, results are ranked by Booking.com popularity (top picks) rather than price, with higher-ranked listings appearing first.",
        "operationId": "/accommodations/search",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/searchInput"
              },
              "example": {
                "booker": {
                  "country": "nl",
                  "platform": "desktop"
                },
                "checkin": "!START_DATE!",
                "checkout": "!END_DATE!",
                "city": -2140479,
                "extras": [
                  "extra_charges",
                  "products"
                ],
                "guests": {
                  "number_of_adults": 2,
                  "number_of_rooms": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/searchOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 10004,
                      "currency": {
                        "accommodation": "EUR",
                        "booker": "EUR"
                      },
                      "deep_link_url": "booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&mcid=10",
                      "price": {
                        "base": {
                          "accommodation_currency": 1081.49,
                          "booker_currency": 1081.49
                        },
                        "charges": [
                          {
                            "charge": 21,
                            "condition": null,
                            "included_in": {
                              "display": true
                            },
                            "total_amount": {
                              "accommodation_currency": 97.34,
                              "booker_currency": 97.34
                            }
                          },
                          {
                            "charge": 22,
                            "condition": null,
                            "included_in": {
                              "display": true
                            },
                            "total_amount": {
                              "accommodation_currency": 75.7,
                              "booker_currency": 75.7
                            }
                          },
                          {
                            "charge": 142,
                            "condition": null,
                            "included_in": {
                              "display": true
                            },
                            "total_amount": {
                              "accommodation_currency": 6,
                              "booker_currency": 6
                            }
                          }
                        ],
                        "display": {
                          "accommodation_currency": 1260.52,
                          "booker_currency": 1260.52
                        },
                        "total": {
                          "accommodation_currency": 1260.52,
                          "booker_currency": 1260.52
                        }
                      },
                      "products": [
                        {
                          "id": "1000420_95127794_2_0_0",
                          "bundle": null,
                          "children": [],
                          "deal": null,
                          "inventory": {
                            "third_party": false,
                            "type": "sell"
                          },
                          "number_of_adults": 2,
                          "policies": {
                            "cancellation": {
                              "free_cancellation_until": null,
                              "type": "non_refundable"
                            },
                            "meal_plan": {
                              "meals": [],
                              "plan": "no_plan"
                            },
                            "payment": {
                              "timings": [
                                "pay_at_the_property"
                              ]
                            }
                          },
                          "price": {
                            "base": {
                              "accommodation_currency": 1081.49,
                              "booker_currency": 1081.49
                            },
                            "charges": [
                              {
                                "charge": 21,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": true
                                },
                                "mode": "percentage",
                                "percentage": 9,
                                "total_amount": {
                                  "accommodation_currency": 107.07,
                                  "booker_currency": 107.07
                                },
                                "unit_amount": null
                              },
                              {
                                "charge": 22,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": false
                                },
                                "mode": "percentage",
                                "percentage": 7,
                                "total_amount": {
                                  "accommodation_currency": 83.27,
                                  "booker_currency": 83.27
                                },
                                "unit_amount": null
                              },
                              {
                                "charge": 142,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": true
                                },
                                "mode": "per_person_per_night",
                                "percentage": null,
                                "total_amount": {
                                  "accommodation_currency": 6,
                                  "booker_currency": 6
                                },
                                "unit_amount": {
                                  "accommodation_currency": 3,
                                  "booker_currency": 3
                                }
                              }
                            ],
                            "display": {
                              "accommodation_currency": 1260.52,
                              "booker_currency": 1260.52
                            },
                            "total": {
                              "accommodation_currency": 1260.52,
                              "booker_currency": 1260.52
                            }
                          },
                          "room": "1000425"
                        }
                      ],
                      "url": "https://www.booking.com/hotel/nl/conscious-the-tire-station.html?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&group_adults=2&no_rooms=1"
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": "..."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/availability": {
      "post": {
        "summary": "Availability",
        "description": "Use this endpoint to check real-time availability, prices, and charges for **up to 50 accommodation IDs**.\n\n- By default, only product availability and prices are returned.\n- Use the `extras` or `filters` parameters to retrieve additional details such as extra charges or payment information.\n\n**Mandatory fields**: `accommodations`, `booker`, `checkin`, `checkout`, and `guests`.",
        "operationId": "/accommodations/availability",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/availabilityInput"
              },
              "example": {
                "accommodations": [
                  10004
                ],
                "booker": {
                  "country": "nl",
                  "platform": "desktop"
                },
                "checkin": "!START_DATE!",
                "checkout": "!END_DATE!",
                "extras": [
                  "extra_charges"
                ],
                "filters": {
                  "meal_plan": "breakfast_included",
                  "cancellation_type": "free_cancellation"
                },
                "guests": {
                  "number_of_adults": 2,
                  "number_of_rooms": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/availabilityOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 10004,
                      "currency": {
                        "accommodation": "EUR",
                        "booker": "EUR"
                      },
                      "deep_link_url": "booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!",
                      "products": [
                        {
                          "id": "1000420_358188572_2_0_0",
                          "bundle": null,
                          "deal": null,
                          "inventory": {
                            "third_party": false,
                            "type": "sell"
                          },
                          "maximum_occupancy": {
                            "adults": 2,
                            "children": null,
                            "total": 2
                          },
                          "number_available": 3,
                          "policies": {
                            "cancellation": {
                              "free_cancellation_until": "!START_DATE-2!T00:00:00+00:00",
                              "type": "free_cancellation",
                              "schedule": [
                                {
                                  "from": "now",
                                  "price": {
                                    "accommodation_currency": 0,
                                    "booker_currency": 0
                                  }
                                },
                                {
                                  "from": "!START_DATE-2!T00:00:00+00:00",
                                  "price": {
                                    "accommodation_currency": 1189.2,
                                    "booker_currency": 1189.2
                                  }
                                }
                              ]
                            },
                            "meal_plan": {
                              "meals": [],
                              "plan": "no_plan"
                            },
                            "payment": {
                              "timings": [
                                "pay_at_the_property"
                              ]
                            }
                          },
                          "price": {
                            "base": {
                              "accommodation_currency": 1189.2,
                              "booker_currency": 1189.2
                            },
                            "chargeable_online": {
                              "accommodation_currency": 1302.7,
                              "booker_currency": 1302.7
                            },
                            "charges": [
                              {
                                "charge": 21,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": true
                                },
                                "mode": "percentage",
                                "percentage": 9,
                                "total_amount": {
                                  "accommodation_currency": 107.07,
                                  "booker_currency": 107.07
                                },
                                "unit_amount": null
                              },
                              {
                                "charge": 22,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": false
                                },
                                "mode": "percentage",
                                "percentage": 7,
                                "total_amount": {
                                  "accommodation_currency": 83.27,
                                  "booker_currency": 83.27
                                },
                                "unit_amount": null
                              },
                              {
                                "charge": 142,
                                "condition": null,
                                "included_in": {
                                  "display": true,
                                  "chargeable_online": true
                                },
                                "mode": "per_person_per_night",
                                "percentage": null,
                                "total_amount": {
                                  "accommodation_currency": 6,
                                  "booker_currency": 6
                                },
                                "unit_amount": {
                                  "accommodation_currency": 3,
                                  "booker_currency": 3
                                }
                              }
                            ],
                            "display": {
                              "accommodation_currency": 1385.97,
                              "booker_currency": 1385.97
                            },
                            "total": {
                              "accommodation_currency": 1385.97,
                              "booker_currency": 1385.97
                            }
                          },
                          "room": "1000420"
                        },
                        "..."
                      ],
                      "recommendation": {
                        "price": {
                          "base": {
                            "accommodation_currency": 1081.49,
                            "booker_currency": 1081.49
                          },
                          "chargeable_online": {
                            "accommodation_currency": 1260.52,
                            "booker_currency": 1260.52
                          },
                          "charges": [
                            {
                              "charge": 21,
                              "total_amount": {
                                "accommodation_currency": 97.34,
                                "booker_currency": 97.34
                              },
                              "condition": null,
                              "included_in": {
                                "display": true,
                                "chargeable_online": true
                              }
                            },
                            {
                              "charge": 22,
                              "total_amount": {
                                "accommodation_currency": 75.7,
                                "booker_currency": 75.7
                              },
                              "condition": null,
                              "included_in": {
                                "display": true,
                                "chargeable_online": true
                              }
                            },
                            {
                              "charge": 142,
                              "total_amount": {
                                "accommodation_currency": 6,
                                "booker_currency": 6
                              },
                              "condition": null,
                              "included_in": {
                                "display": true,
                                "chargeable_online": true
                              }
                            }
                          ],
                          "display": {
                            "accommodation_currency": 1260.52,
                            "booker_currency": 1260.52
                          },
                          "total": {
                            "accommodation_currency": 1260.52,
                            "booker_currency": 1260.52
                          }
                        },
                        "products": [
                          {
                            "id": "1000420_95127794_2_0_0",
                            "children": [],
                            "number_of_adults": 2,
                            "price": {
                              "base": {
                                "accommodation_currency": 1081.49,
                                "booker_currency": 1081.49
                              },
                              "chargeable_online": {
                                "accommodation_currency": 1260.52,
                                "booker_currency": 1260.52
                              },
                              "charges": [
                                {
                                  "charge": 21,
                                  "total_amount": {
                                    "accommodation_currency": 97.34,
                                    "booker_currency": 97.34
                                  },
                                  "condition": null,
                                  "included_in": {
                                    "display": true,
                                    "chargeable_online": true
                                  }
                                },
                                {
                                  "charge": 22,
                                  "total_amount": {
                                    "accommodation_currency": 75.7,
                                    "booker_currency": 75.7
                                  },
                                  "condition": null,
                                  "included_in": {
                                    "display": true,
                                    "chargeable_online": true
                                  }
                                },
                                {
                                  "charge": 142,
                                  "total_amount": {
                                    "accommodation_currency": 6,
                                    "booker_currency": 6
                                  },
                                  "condition": null,
                                  "included_in": {
                                    "display": true,
                                    "chargeable_online": true
                                  }
                                }
                              ],
                              "display": {
                                "accommodation_currency": 1260.52,
                                "booker_currency": 1260.52
                              },
                              "total": {
                                "accommodation_currency": 1260.52,
                                "booker_currency": 1260.52
                              }
                            }
                          }
                        ]
                      },
                      "url": "https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&no_rooms=1&group_adults=2"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/chains": {
      "post": {
        "summary": "Chains",
        "description": "Use this endpoint to retrieve a list of accommodation chains and their associated brands.\n\n A chain-branded accommodation is part of a larger corporate group and operates under a recognised brand. The returned information can be used to filter search results by chain or brand across other endpoints.\n\n- To obtain the full list of chains, call this endpoint with an empty request body.\n- The `id` values returned are the codes used as input and output in other API requests, ensuring consistency across your integration.\n\n **Example of chain:**  \"Radisson Hotel Group\" with brands such as \"Radisson Blu\" or \"Park Inn by Radisson.\"",
        "operationId": "/accommodations/chains",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 3,
                      "brands": [
                        {
                          "id": 1018,
                          "name": "Campanile"
                        },
                        "..."
                      ],
                      "name": "Louvre Hotels Group"
                    },
                    "..."
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/constants": {
      "post": {
        "summary": "Constants",
        "description": "Retrieve standardised codes and names for accommodation-related entities, such as facilities, room types, bed types, themes, and additional charges.\n\nThese constants are canonical identifiers that can be used to filter searches, populate reference data, or ensure consistency across other accommodation endpoints.\n\n- To fetch constants in multiple languages, provide IETF language tags (see common/languages).\n- Sending an empty request body returns all available constants.\n- Use the `constants` array to request only specific sections (e.g., `accommodation_facilities`, `bed_types`).",
        "operationId": "/accommodations/constants",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input"
              },
              "example": {
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-2"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": {
                    "accommodation_facilities": [
                      {
                        "id": 2,
                        "facility_type": 16,
                        "name": {
                          "en-gb": "Parking",
                          "zh-cn": "停车场"
                        }
                      },
                      "..."
                    ],
                    "accommodation_themes": [
                      {
                        "id": 1,
                        "name": {
                          "en-gb": "Apartments",
                          "zh-cn": "公寓"
                        }
                      },
                      "..."
                    ],
                    "accommodation_types": [
                      {
                        "id": 201,
                        "name": {
                          "en-gb": "Apartment",
                          "zh-cn": "公寓"
                        }
                      },
                      "..."
                    ],
                    "bed_types": [
                      {
                        "id": 1,
                        "description": {
                          "en-gb": "90-130 cm wide",
                          "zh-cn": "宽 90-130 厘米"
                        },
                        "description_imperial": {
                          "en-gb": "35-51 inches wide",
                          "zh-cn": "宽 35-51 英寸"
                        },
                        "name": {
                          "en-gb": "Single bed(s)",
                          "zh-cn": "单人床"
                        }
                      },
                      "..."
                    ],
                    "charge_types": [
                      {
                        "id": 0,
                        "name": {
                          "en-gb": "service charge",
                          "zh-cn": "服务费"
                        }
                      },
                      "..."
                    ],
                    "facility_types": [
                      {
                        "id": 1,
                        "name": {
                          "en-gb": "General",
                          "zh-cn": "综合设施"
                        }
                      },
                      "..."
                    ],
                    "review_scores": [
                      {
                        "maximum_score": 2.9,
                        "minimum_score": 2,
                        "name": {
                          "en-gb": "very poor",
                          "zh-cn": "非常差"
                        }
                      },
                      "..."
                    ],
                    "room_facilities": [
                      {
                        "id": 1,
                        "facility_type": 7,
                        "name": {
                          "en-gb": "Coffee/Tea maker",
                          "zh-cn": "沏茶/咖啡设备"
                        }
                      },
                      "..."
                    ],
                    "room_types": [
                      {
                        "id": 1,
                        "name": {
                          "en-gb": "Apartment",
                          "zh-cn": "公寓"
                        }
                      },
                      "..."
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/details": {
      "post": {
        "summary": "Details",
        "description": "Retrieve detailed information about accommodation properties that match your search criteria.\n\nYou must provide at least one of the following parameters: `accommodations`, `airport`, `city`, `country`, or `region`.\n\nUse the `extras` parameter to request additional information such as `facilities`, `photos`, `policies`, `rooms`, or `bundles`.\n\nKey points:\n- You can request data in multiple languages using IETF language tags.\n- This endpoint provides static information about properties; availability and pricing are retrieved via other endpoints.\n- Passing an empty `extras` array returns only the core property details.\n- Maximum 100 accommodation IDs can be queried in a single request.",
        "operationId": "/accommodations/details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/detailsInput"
              },
              "example": {
                "accommodations": [
                  10004
                ],
                "extras": [
                  "bundles",
                  "description",
                  "facilities",
                  "payment",
                  "photos",
                  "policies",
                  "rooms"
                ],
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/detailsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 10004,
                      "accommodation_status": "open",
                      "accommodation_type": 204,
                      "brands": [],
                      "bundles": [
                        {
                          "id": 12345,
                          "value_adds": [
                            {
                              "type": "high_speed_internet",
                              "description": {
                                "en-gb": [
                                  "High speed internet throughout your stay."
                                ]
                              }
                            }
                          ]
                        }
                      ],
                      "accepts_reservations_after_midnight": true,
                      "checkin_checkout_times": {
                        "checkin_from": "15:00:00",
                        "checkin_to": null,
                        "checkout_from": "07:00:00",
                        "checkout_to": "12:00:00"
                      },
                      "currency": "EUR",
                      "description": {
                        "important_information": {
                          "en-gb": "The credit card that has been used to book a non-refundable rate, will be charged on the day of booking and needs to be presented upon check-in. In case the credit card owner is not traveling with you, an online payment link will be sent to prepay your stay.\n\nPlease note that the hotel pre-authorizes your credit card with the amount for the first night, 8 days prior to arrival. This is not a payment and this only applies to flexible rates.\n\nParking in Amsterdam is challenging, there are parking garages near to the hotel or a valet service is possible to arrange upon request. Charges are applicable. Please contact the hotel ahead of time for information",
                          "zh-cn": "酒店将在预订当天收取用于支付不退款房价的信用卡，客人需在办理入住手续时出示该信用卡。如果信用卡持有人未与客人同行，酒店将发送在线付款链接以预付客人的住宿费用。\n\n请注意，酒店将在客人抵达前8天通过其信用卡预授权第一晚的房费。这不是付款，这仅适用于变化的利率。\n\n在阿姆斯特丹（Amsterdam）停车很有挑战性，酒店附近有停车库，或者可应要求为客人安排代客泊车服务，收费适用。请提前联系酒店以获取信息。"
                        },
                        "license_numbers": [],
                        "text": {
                          "en-gb": "The Pavilions Amsterdam, The Toren features elegant accommodation alongside the famous Keizersgracht canal, around the corner from the Anne Frank House. It offers elegant rooms with flat-screen TVs with digital entertainment system.\n\nEach air-conditioned room at the Toren has an en suite bathroom with a bathtub. They have classic decorations such as chandeliers and ceiling paintings. Tea/coffee making facilities and a complimentary mini bar are also provided in every room.\n\nIn the morning, guests can enjoy a delightful breakfast buffet in the elegant breakfast room with views of the Keizersgracht. The trendy hotel bar serves refreshing drinks during the day.\n\nWestermarkt Tram Stop is less than 250 metres from the hotel. Dam Square and the Royal Palace are a 10-minute walk away.",
                          "zh-cn": "The Pavilions Amsterdam, The Toren酒店位于安妮弗兰克之家（Anne Frank House）拐角处，毗邻著名的Keizersgracht运河，提供典雅的住宿。酒店提供带平板电视和数字娱乐系统的典雅客房。\n\nToren酒店的每间空调客房均配有带浴缸的独立浴室。客房拥有典雅的装饰，如吊灯和天花板画。每间客房还提供沏茶/咖啡设施和免费迷你吧。\n\n早晨，客人可在典雅的早餐室享用可口的自助早餐，并欣赏Keizersgracht的景色。时髦的酒店酒吧白天提供清凉饮料。\n\n酒店距离韦斯特马克特电车站（Westermarkt Tram Stop）不到250米，距离水坝广场（Dam Square）和皇宫（Royal Palace）有10分钟的步行路程。"
                        },
                        "trader": {
                          "address": {
                            "address_line": "Prinsengract 153",
                            "city": "Amsterdam",
                            "country": "nl",
                            "post_code": "94571"
                          },
                          "email": "test@test.test",
                          "name": "Test Test",
                          "registration_number": "123456788",
                          "telephone": "+123456789",
                          "trade_register": "hjdfvhfjd",
                          "trader_verified": true
                        }
                      },
                      "facilities": [
                        {
                          "id": 5,
                          "attributes": []
                        },
                        "..."
                      ],
                      "is_genius": true,
                      "location": {
                        "address": {
                          "en-us": "Keizersgracht 164"
                        },
                        "city": -2140479,
                        "coordinates": {
                          "latitude": 52.375858,
                          "longitude": 4.886006
                        },
                        "country": "nl",
                        "districts": [
                          145,
                          3024,
                          9173
                        ],
                        "postal_code": "1015 CZ",
                        "regions": [
                          1010,
                          2776
                        ]
                      },
                      "long_stay_friendly": false,
                      "meal_prices": {
                        "breakfast": 20,
                        "dinner": null,
                        "lunch": null
                      },
                      "name": {
                        "en-us": "The Pavilions Amsterdam, The Toren"
                      },
                      "number_of_rooms": 11,
                      "payment": {
                        "amex_cvc_required": false,
                        "cvc_required": true,
                        "domestic_no_cc": false,
                        "methods": {
                          "cash": true,
                          "cards": [
                            1,
                            2,
                            3
                          ],
                          "virtual_cards": [
                            1,
                            2,
                            3
                          ]
                        },
                        "timings": [
                          "pay_at_the_property"
                        ]
                      },
                      "photos": [
                        {
                          "main_photo": true,
                          "tags": [
                            "Neighbourhood"
                          ],
                          "url": {
                            "large": "https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                            "standard": "https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                            "thumbnail": "https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                            "thumbnail_large": "https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o="
                          }
                        },
                        "..."
                      ],
                      "policies": {
                        "cots_and_extra_beds": [
                          {
                            "age": {
                              "from": 0,
                              "to": 2
                            },
                            "mode": "per_night",
                            "price": 0,
                            "type": "crib"
                          }
                        ],
                        "damage": {
                          "amount": 50,
                          "currency": "EUR",
                          "deposit": {
                            "collect": {
                              "date": {
                                "days_offset": 0,
                                "reference_date": "checkin"
                              },
                              "payment_method": "credit_card"
                            },
                            "refund": {
                              "date": {
                                "days_offset": 0,
                                "reference_date": "checkout"
                              },
                              "payment_method": "credit_card"
                            }
                          }
                        },
                        "maximum_checkin_age": null,
                        "minimum_checkin_age": 18,
                        "minimum_guest_age": 0,
                        "pets": {
                          "allowed": "no",
                          "charge_mode": null
                        }
                      },
                      "price_category": "$$$$",
                      "programmes": {
                        "travel_proud": false,
                        "sustainable_offerings": {
                          "certifications": [
                            {
                              "name": "Green Key"
                            }
                          ]
                        }
                      },
                      "ranking": 123456,
                      "rating": {
                        "number_of_reviews": 930,
                        "preferred": true,
                        "review_score": 9,
                        "stars": 4,
                        "stars_type": "official"
                      },
                      "rooms": [
                        {
                          "id": "1000420",
                          "attributes": [
                            "non_smoking"
                          ],
                          "bed_options": [
                            {
                              "bed_configurations": [
                                {
                                  "id": "1000420-1",
                                  "configuration": [
                                    {
                                      "bed_type": 6,
                                      "number_of_beds": 1
                                    }
                                  ]
                                },
                                {
                                  "id": "1000420-2",
                                  "configuration": [
                                    {
                                      "bed_type": 1,
                                      "number_of_beds": 2
                                    }
                                  ]
                                }
                              ],
                              "has_bathroom": true,
                              "is_bedroom": true
                            }
                          ],
                          "cots_and_extra_beds": {
                            "are_allowed_together": false,
                            "maximum_number_of_cots": 0,
                            "maximum_number_of_extra_beds": 0
                          },
                          "description": {
                            "en-gb": "This room features decor with rich colours and original features. It is located in the annex building, 8 houses away from the main building. It is internally positioned, overlooking a small courtyard."
                          },
                          "facilities": [
                            1,
                            "..."
                          ],
                          "maximum_occupancy": {
                            "adults": 2,
                            "children": [
                              {
                                "from_age": 0,
                                "to_age": 2,
                                "amount": 1,
                                "included_in_total": false
                              },
                              {
                                "from_age": 3,
                                "to_age": 17,
                                "amount": 2,
                                "included_in_total": true
                              }
                            ]
                          },
                          "name": {
                            "en-gb": "Standard Double or Twin Room",
                            "zh-cn": "标准双人或双床间 "
                          },
                          "number_of_rooms": {
                            "bathrooms": 1,
                            "bedrooms": 1,
                            "living_rooms": 0
                          },
                          "photos": [
                            {
                              "tags": [
                                "Neighbourhood"
                              ],
                              "url": {
                                "large": "https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                                "standard": "https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                                "thumbnail": "https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=",
                                "thumbnail_large": "https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o="
                              }
                            },
                            "..."
                          ],
                          "room_type": 9,
                          "size": 18
                        },
                        "..."
                      ],
                      "spoken_languages": [
                        "de",
                        "en-gb",
                        "fr",
                        "nl"
                      ],
                      "themes": [
                        6,
                        "..."
                      ],
                      "url": {
                        "web": "https://www.booking.com/hotel/nl/toren.html?affiliate_id=!AFFILIATE_ID!",
                        "app": "booking://hotel/10004?affiliate_id=!AFFILIATE_ID!"
                      },
                      "work_friendly": false
                    }
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/details/changes": {
      "post": {
        "summary": "Updates",
        "description": "Use this endpoint to track accommodations that have opened, closed, or had content updates since a specific timestamp.\n\nChanges can include updates to general information, facilities, rooms, photos, payments, and more.\n\n**Key points**:\n- You can filter results by `country` or `city`.\n- Use the `next` timestamp from the response to fetch subsequent updates.\n- Combine this endpoint with [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details) to keep your local accommodation cache up to date.\n- Maximum number of IDs returned is approximately 5000 per request.",
        "operationId": "/accommodations/details/changes",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/changesInput"
              },
              "example": {
                "last_change": "!START_DATE!T12:00:00+00:00",
                "filters": {
                  "countries": [
                    "nl",
                    "es",
                    "in"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/changesOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": {
                    "changes": {
                      "changed": [
                        100,
                        101,
                        102
                      ],
                      "closed": {
                        "fraud": [],
                        "permanently": [
                          107,
                          108
                        ],
                        "temporarily": [
                          105
                        ]
                      },
                      "opened": [
                        111,
                        112
                      ]
                    },
                    "from": "!START_DATE!T12:00:00+00:00",
                    "next": "!START_DATE!T12:24:42+00:00",
                    "total_changes": 8
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/reviews": {
      "post": {
        "summary": "Reviews",
        "description": "This endpoint provides access to reviews for specified accommodations, allowing you to retrieve traveller feedback associated with a particular property.</br></br> The reviews returned can be [filtered and sorted](/demand/docs/accommodations/filter-sorting), with the option to limit the number of reviews per accommodation by specifying the `rows` parameter.</br></br> Please note that the ratings **score is based on all traveller traffic across Booking.com**, and may not necessarily reflect the experience of your own customers.</br></br> If you choose to display or use these ratings and reviews, you are responsible for ensuring that your travellers are properly informed about what these scores represent.",
        "operationId": "/accommodations/reviews",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reviewsInput"
              },
              "example": {
                "accommodations": [
                  10004
                ],
                "languages": [
                  "en-gb"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reviewsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 10004,
                      "reviews": [
                        {
                          "id": 2130645894,
                          "date": "2023-04-12",
                          "language": "en-gb",
                          "negative": "front entrance is not clean (\nbreakfast was served not like a buffet, every time you have to ask a waiter to bring additional food.",
                          "positive": "beautiful hôtel in the central area",
                          "reviewer": {
                            "country": "ch",
                            "name": "Svetlana",
                            "travel_purpose": "leisure",
                            "type": "couple"
                          },
                          "score": 9,
                          "summary": "Fantastic hotel with kind personal who are providing hospitality and excellent service.",
                          "text_meets_guidelines": true
                        },
                        "..."
                      ],
                      "url": "https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews"
                    }
                  ],
                  "metadata": {
                    "next_page": "..."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/reviews/scores": {
      "post": {
        "summary": "Review and scores",
        "description": "This endpoint returns score distribution and score breakdown for the specified accommodations. The scores information can be filtered by reviewer parameters and languages.",
        "operationId": "/accommodations/reviews/scores",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-2"
              },
              "example": {
                "accommodations": [
                  10004
                ],
                "languages": [
                  "en-gb"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-3"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 10004,
                      "breakdown": {
                        "cleanliness": {
                          "number_of_reviews": 243,
                          "score": 9.27
                        },
                        "comfort": {
                          "number_of_reviews": 242,
                          "score": 9.26
                        },
                        "facilities": {
                          "number_of_reviews": 242,
                          "score": 8.84
                        },
                        "free_wifi": {
                          "number_of_reviews": 24,
                          "score": 8.75
                        },
                        "location": {
                          "number_of_reviews": 242,
                          "score": 9.59
                        },
                        "staff": {
                          "number_of_reviews": 243,
                          "score": 9.63
                        },
                        "value_for_money": {
                          "number_of_reviews": 243,
                          "score": 8.25
                        }
                      },
                      "distribution": {
                        "1": {
                          "number_of_reviews": 1,
                          "percentage": 0.41
                        },
                        "2": {
                          "number_of_reviews": 0,
                          "percentage": 0
                        },
                        "3": {
                          "number_of_reviews": 2,
                          "percentage": 0.82
                        },
                        "4": {
                          "number_of_reviews": 2,
                          "percentage": 0.82
                        },
                        "5": {
                          "number_of_reviews": 5,
                          "percentage": 2.06
                        },
                        "6": {
                          "number_of_reviews": 3,
                          "percentage": 1.23
                        },
                        "7": {
                          "number_of_reviews": 18,
                          "percentage": 7.41
                        },
                        "8": {
                          "number_of_reviews": 41,
                          "percentage": 16.87
                        },
                        "9": {
                          "number_of_reviews": 67,
                          "percentage": 27.57
                        },
                        "10": {
                          "number_of_reviews": 104,
                          "percentage": 42.8
                        }
                      },
                      "number_of_reviews": 243,
                      "score": 8.9,
                      "url": "https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/accommodations/third-party-suppliers": {
      "post": {
        "summary": "Third-party suppliers",
        "description": "Use this endpoint to retrieve the list of third-party suppliers that facilitate accommodation inventory on Booking.com.\n\nA third-party supplier is an external partner company that provides accommodation inventory through Booking.com. When a product is facilitated by a third-party supplier:\n\n* `inventory.third_party` is `true`.\n* `inventory.third_party_supplier_id` contains the supplier identifier.\n\nUse the returned `id` values to match the `inventory.third_party_supplier_id` returned by /accommodations/availability and retrieve supplier information, such as the supplier name and company address.\n\nCall this endpoint with an empty request body to retrieve the complete list of suppliers.",
        "operationId": "/accommodations/third-party-suppliers",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Accommodations"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-4"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 101,
                      "name": "Example Supplier",
                      "company_address": "123 Example Street, 1000 Amsterdam, Netherlands"
                    },
                    {
                      "id": 102,
                      "name": "Another Supplier",
                      "company_address": null
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/attractions/search": {
      "post": {
        "summary": "Search attractions",
        "description": "Use this endpoint to search for attractions based on a single search criterion, such as attraction IDs, cities, countries, geographic coordinates, or points of interest.",
        "operationId": "/search",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/attractionsSearchInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/attractionsSearchOutput"
                },
                "example": {
                  "data": [
                    {
                      "id": "PRahAzWtTraa",
                      "free_cancellation": true,
                      "price": {
                        "currency": "EUR",
                        "total": 20
                      },
                      "urls": {
                        "app": {
                          "detail": "booking://attractions/product?slug=prahazwttraa-heineken-experience-amsterdam&aid=956509",
                          "search_results": "booking://attractions/searchresults?ufi=-2140479&pinned_product_id=PRahAzWtTraa&aid=956509"
                        },
                        "web": {
                          "detail": "https://www.booking.com/attractions/nl/prahazwttraa-heineken-experience-amsterdam.en-gb.html?selected_currency=EUR&aid=956509",
                          "search_results": "https://www.booking.com/attractions/searchresults/nl/amsterdam.en-gb.html?pinned_product=PRahAzWtTraa&aid=956509"
                        }
                      }
                    },
                    {
                      "id": "PRAmdacCwQLH",
                      "free_cancellation": false,
                      "price": {
                        "currency": "EUR",
                        "total": 15.5
                      },
                      "urls": {
                        "app": {
                          "detail": "booking://attractions/product?slug=pramdaccwqlh-madame-tussauds-ticket&aid=956509",
                          "search_results": "booking://attractions/searchresults?ufi=-2140479&pinned_product_id=PRAmdacCwQLH&aid=956509"
                        },
                        "web": {
                          "detail": "https://www.booking.com/attractions/nl/pramdaccwqlh-madame-tussauds-ticket.en-gb.html?selected_currency=EUR&aid=956509",
                          "search_results": "https://www.booking.com/attractions/searchresults/nl/amsterdam.en-gb.html?pinned_product=PRAmdacCwQLH&aid=956509"
                        }
                      }
                    },
                    {
                      "id": "PRNQsDG3swdK",
                      "free_cancellation": true,
                      "price": {
                        "currency": "EUR",
                        "total": 27.99
                      },
                      "urls": {
                        "app": {
                          "detail": "booking://attractions/product?slug=prnqsdg3swdk-full-day-dutch-countryside-tour-with-canal-cruise&aid=956509",
                          "search_results": "booking://attractions/searchresults?ufi=-2140479&pinned_product_id=PRNQsDG3swdK&aid=956509"
                        },
                        "web": {
                          "detail": "https://www.booking.com/attractions/nl/prnqsdg3swdk-full-day-dutch-countryside-tour-with-canal-cruise.en-gb.html?selected_currency=EUR&aid=956509",
                          "search_results": "https://www.booking.com/attractions/searchresults/nl/amsterdam.en-gb.html?pinned_product=PRNQsDG3swdK&aid=956509"
                        }
                      }
                    }
                  ],
                  "metadata": {
                    "next_page": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImN1cnJlbmN5IjoiRVVSIiwicXVlcnkiOnsiY291bnRyaWVzIjpbIm5sIiwiZnIiXSwiY29vcmRpbmF0ZXMiOnsibGF0aXR1ZGUiOjUyLjM3LCJsb25naXR1ZGUiOjQuOTAsIm1heF9kaXN0YW5jZV9rbSI6MTAwLjAwfSwic3RhcnRfZGF0ZSI6IjIwMjUtMDktMjEiLCJlbmRfZGF0ZSI6IjIwMjUtMDktMjIiLCJzdXBwb3J0ZWRfbGFuZ3VhZ2VzIjpbIm5sIl0sIm1pbl9yYXRpbmciOjQuMDAsIm1pbl9yZXZpZXdfY291bnQiOjV9LCJvcmRlcl9ieSI6Im1hdGNoX3Njb3JlIiwicGFnZV9udW1iZXIiOjJ9LCJhdWQiOiIvYXR0cmFjdGlvbnMvc2VhcmNoIiwiZXhwIjoxNzU3Mzc0MzI0fQ.JUU7kbuwiCaS4n_SZANA577BvZWdqDDQizU8q6fTrg0",
                    "total_results": 128
                  },
                  "request_id": "01fr9ez700exycb98w90w5r9sh"
                }
              }
            }
          }
        }
      }
    },
    "/attractions/details": {
      "post": {
        "summary": "Attraction details",
        "description": "Use this endpoint to retrieve static information about attractions such as name, description, address, URL, etc. **Note:** This endpoint does not return any pricing information.",
        "operationId": "/attractions/details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/attractionsInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/attractionsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "PRTcWzDlwXjP",
                      "badges": [
                        "best_seller"
                      ],
                      "categories": [
                        "PTCMCuXtHgrC",
                        "PTCMCY1Fkppn"
                      ],
                      "duration": "PT2H",
                      "photos": [
                        {
                          "url": "https://cf.bstatic.com/xdata/images/xphoto/500x375/170335205.jpg"
                        }
                      ],
                      "points_of_interest": [
                        109912
                      ],
                      "locations": [
                        {
                          "address": "Museumstraat 1",
                          "city": -2140479,
                          "coordinates": {
                            "latitude": 52.360043,
                            "longitude": 4.885177
                          },
                          "country": "nl",
                          "post_code": "1071XX",
                          "type": "attraction"
                        }
                      ],
                      "long_description": {
                        "en-gb": "Discover Dutch art and history at the Rijksmuseum, home to masterpieces by Rembrandt and Vermeer."
                      },
                      "name": {
                        "en-gb": "Rijksmuseum Admission"
                      },
                      "ratings": {
                        "number_of_reviews": 3250,
                        "score": 4.8
                      },
                      "supported_languages": [
                        "en-gb",
                        "en-us",
                        "nl"
                      ],
                      "urls": {
                        "app": {
                          "detail": "booking://attractions/product?slug=pr0dwcibnsiu-rijksmuseum-admission&aid=956509",
                          "search_results": "booking://attractions/searchresults?ufi=-2140479&pinned_product_id=PR0dwCIbnsiU&aid=956509"
                        },
                        "web": {
                          "detail": "https://www.booking.com/attractions/nl/pr0dwcibnsiu-rijksmuseum-admission.html?aid=956509",
                          "search_results": "https://www.booking.com/attractions/searchresults/nl/amsterdam.en-gb.html?pinned_product=PR0dwCIbnsiU&aid=956509"
                        }
                      }
                    }
                  ],
                  "metadata": {
                    "next_page": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImN1cnJlbmN5IjoiRVVSIiwicXVlcnkiOnsiY291bnRyaWVzIjpbIm5sIiwiZnIiXSwiY29vcmRpbmF0ZXMiOnsibGF0aXR1ZGUiOjUyLjM3LCJsb25naXR1ZGUiOjQuOTAsIm1heF9kaXN0YW5jZV9rbSI6MTAwLjAwfSwic3RhcnRfZGF0ZSI6IjIwMjUtMDktMjEiLCJlbmRfZGF0ZSI6IjIwMjUtMDktMjIiLCJzdXBwb3J0ZWRfbGFuZ3VhZ2VzIjpbIm5sIl0sIm1pbl9yYXRpbmciOjQuMDAsIm1pbl9yZXZpZXdfY291bnQiOjV9LCJvcmRlcl9ieSI6Im1hdGNoX3Njb3JlIiwicGFnZV9udW1iZXIiOjJ9LCJhdWQiOiIvYXR0cmFjdGlvbnMvc2VhcmNoIiwiZXhwIjoxNzU3Mzc0MzI0fQ.JUU7kbuwiCaS4n_SZANA577BvZWdqDDQizU8q6fTrg0",
                    "total_results": 128
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed or the API key is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          }
        }
      }
    },
    "/attractions/points-of-interest": {
      "post": {
        "summary": "Points of interest",
        "description": "Returns points of interest associated with attractions, such as museums and monuments. The response includes localised names, coordinates and links to Booking.com search results.\n\n- Use the returned IDs in the `points_of_interest` search criterion of [/attractions/search](#/attractions/search). They match the `points_of_interest` IDs returned by [/attractions/details](#/attractions/details).\n- Filter by `cities` or `countries` or send an empty object (`{}`) to list points of interest across all locations.\n- These IDs are not the landmark IDs returned by `/common/locations/landmarks`.\n\nResults are paginated. A point of interest's search results page can be empty if no attractions are currently associated with it.",
        "operationId": "/attractions/points-of-interest",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/attractionsPointsOfInterestInput"
              },
              "examples": {
                "default": {
                  "$ref": "#/components/examples/input"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/attractionsPointsOfInterestOutput"
                },
                "examples": {
                  "default": {
                    "$ref": "#/components/examples/output"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/attractions/reviews": {
      "post": {
        "summary": "Attraction Reviews",
        "description": "Retrieves reviews for a specific attraction. The reviews returned can be filtered and sorted, with the option to limit the number of reviews per attraction by specifying the \"rows\" parameter.\n**Note:** The scores reflect all traveller feedback across Booking.com and may not directly correspond to the experiences of your own customers. If you choose to display or use these ratings and reviews, you are responsible for ensuring that your travellers understand what these scores represent.",
        "operationId": "/attractions/reviews",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-3"
              },
              "example": {
                "attraction": "PRTcWzDlwXjP",
                "language": "en-gb",
                "rows": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-5"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "attraction": "PRTcWzDlwXjP",
                      "id": "review123456",
                      "author": "John D.",
                      "author_country_code": "us",
                      "rating": 5,
                      "text": "Amazing experience at the museum. The artwork is incredible and the building itself is an architectural masterpiece.",
                      "language": "en-gb",
                      "date": "2025-08-15"
                    },
                    {
                      "attraction": "PR0dwCIbnsiU",
                      "id": "review789012",
                      "author": "Maria S.",
                      "author_country_code": "es",
                      "rating": 4,
                      "text": "Very good museum with impressive collections. Would recommend allowing more time than suggested to see everything.",
                      "language": "en-gb",
                      "date": "2025-07-22"
                    }
                  ],
                  "metadata": {
                    "next_page": "NextPageToken123",
                    "total_results": 243
                  }
                }
              }
            }
          }
        }
      }
    },
    "/attractions/reviews/scores": {
      "post": {
        "summary": "Attraction Review Scores",
        "description": "Returns detailed review scores for specific attractions.",
        "operationId": "/attractions/reviews/scores",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-4"
              },
              "example": {
                "attractions": [
                  "PRTcWzDlwXjP"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-6"
                },
                "examples": {
                  "typical-attractions": {
                    "$ref": "#/components/examples/example-1"
                  },
                  "few-reviews": {
                    "$ref": "#/components/examples/example-2"
                  },
                  "no-reviews": {
                    "$ref": "#/components/examples/example-3"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/attractions/constants": {
      "post": {
        "summary": "Attraction constants",
        "description": "Returns localised attraction constants, including category and subcategory metadata.\n\n- Use this endpoint to retrieve and cache the category ID-to-name mapping before performing attraction searches with category filters.\n- Call this endpoint during initial integration or periodically to refresh cached values.\n- To retrieve all constants, send an empty request body.",
        "operationId": "constants",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Attractions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-5"
              },
              "examples": {
                "english": {
                  "summary": "Request with English language",
                  "value": {
                    "languages": [
                      "en-gb"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response. Returns localised attraction category constants.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/attractions_constants_output"
                },
                "examples": {
                  "single_language": {
                    "summary": "Response with default language (en-gb)",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "data": {
                        "categories": [
                          {
                            "id": "PTCMCuXtHgrC",
                            "name": {
                              "en-gb": "Tours"
                            },
                            "parent": null
                          },
                          {
                            "id": "PTCMCcodv3rh",
                            "name": {
                              "en-gb": "Museums, arts & culture"
                            },
                            "parent": null
                          },
                          {
                            "id": "PTCMCY1Fkppn",
                            "name": {
                              "en-gb": "Boat tours & cruises"
                            },
                            "parent": "PTCMCuXtHgrC"
                          }
                        ]
                      }
                    }
                  },
                  "multi_language": {
                    "summary": "Response with multiple languages",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "data": {
                        "categories": [
                          {
                            "id": "PTCMCuXtHgrC",
                            "name": {
                              "en-gb": "Tours",
                              "es": "Tours"
                            },
                            "parent": null
                          },
                          {
                            "id": "PTCMCcodv3rh",
                            "name": {
                              "en-gb": "Museums, arts & culture",
                              "es": "Museos, arte y cultura"
                            },
                            "parent": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. The request is invalid or contains unsupported parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_language": {
                    "summary": "Unsupported language code",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "errors": [
                        {
                          "code": "invalid_parameter",
                          "message": "Parameter 'languages[0]' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorised. Authentication failed or the API key is missing or invalid. Refer to the [Authentication section](/demand/docs/development-guide/authentication) for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. An unexpected error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "server_error": {
                    "summary": "Unexpected server error",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "errors": [
                        {
                          "code": "internal_server_error",
                          "message": "An unexpected error occurred. Please try again later."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/search": {
      "post": {
        "description": "Use this endpoint to retrieve the available car rentals matching the search criteria.",
        "summary": "Search car rentals",
        "operationId": "search",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_search_input"
              },
              "examples": {
                "searchByAirport": {
                  "$ref": "#/components/examples/searchByAirport"
                },
                "searchByCoordinatesWithResponseLimit": {
                  "$ref": "#/components/examples/searchByCoordinatesWithResponseLimit"
                },
                "searchByPayment": {
                  "$ref": "#/components/examples/searchByPayment"
                },
                "searchByCityIdWithSorting": {
                  "$ref": "#/components/examples/searchByCityIdWithSorting"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_search_output"
                },
                "example": {
                  "request_id": "01h00fr9y7qkbxtc6kyv97j49z",
                  "data": [
                    {
                      "car": 122655,
                      "offer": 803765581,
                      "categories": [
                        "large",
                        "suvs"
                      ],
                      "policies": {
                        "cancellation": {
                          "type": "free_cancellation",
                          "details": {
                            "context": "before_pickup",
                            "duration": "P7D"
                          }
                        },
                        "damage_excess": {
                          "amount": 3000,
                          "currency": "EUR"
                        },
                        "deposit": {
                          "amount": 1500,
                          "currency": "EUR"
                        },
                        "insurance_package": "basic",
                        "fuel": "return_same",
                        "mileage": {
                          "amount": 12.54,
                          "currency": "EUR",
                          "distance_limit": 200,
                          "distance_unit": "kilometers",
                          "type": "limited"
                        },
                        "payment": {
                          "timing": "pay_online_now"
                        },
                        "theft_excess": {
                          "amount": 3000,
                          "currency": "EUR"
                        }
                      },
                      "price": {
                        "total": 121.9,
                        "currency": "EUR",
                        "credit_card_required": false,
                        "extra_charges": [
                          {
                            "charge": "aged_driver_fee",
                            "total_amount": 21.9
                          },
                          {
                            "charge": "one_way_fee",
                            "total_amount": 50
                          }
                        ]
                      },
                      "route": {
                        "pickup": {
                          "depot": 112314,
                          "depot_location_type": "in_terminal"
                        },
                        "dropoff": {
                          "depot": 112314,
                          "depot_location_type": "in_terminal"
                        }
                      },
                      "insurance": {
                        "name": "Full Protection",
                        "id": "999",
                        "price": {
                          "amount": 144.7,
                          "currency": "EUR"
                        }
                      },
                      "special_offer": "upgrade",
                      "supplier": 7455,
                      "url": {
                        "app": "booking://page",
                        "web": "https://example.com"
                      },
                      "estimated_commission": {
                        "amount": 12.5,
                        "currency": "GBP"
                      }
                    }
                  ],
                  "metadata": {
                    "next_page": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7Im1heGltdW1fcmVzdWx0cyI6MTAsIm9mZnNldCI6MTB9LCJhdWQiOiJDQVJTX1NVUFBMSUVSUyIsImV4cCI6MTY4MzY0NzMwNX0.y7NmH48mm7lImd2WxsHdotj6n-dVQAzJCGCnIJCKy3A",
                    "total_results": 122
                  },
                  "search_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "missing_parameter": {
                    "summary": "Missing parameter",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "missing_parameter",
                          "message": "Parameter 'booker' is missing."
                        }
                      ]
                    }
                  },
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'pickup.datetime' is invalid. 'pickup.datetime' should not be in past."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/availability": {
      "post": {
        "summary": "Car availability",
        "description": "Retrieve availability details for a specific car rental offer, including final pricing, available insurance options, and optional extras (such as an additional driver or child seat) that can be added to the order.",
        "operationId": "/availability",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_availability_input"
              },
              "example": {
                "offer": 740171366,
                "search_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7InNlYXJjaF9rZXkiOiJleUprY21sMlpYSnpRV2RsSWpvek5pd2laSEp2Y0U5bVprUmhkR1ZVYVcxbElqb2lNakF5TlMwd09TMHlNRlF4TVRvd05Ub3dNQ0lzSW1SeWIzQlBabVpNYjJOaGRHbHZiaUk2SWsxQlRpSXNJbVJ5YjNCUFptWk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY0dsamExVndSR0YwWlZScGJXVWlPaUl5TURJMUxUQTVMVEU0VkRFeE9qQTFPakF3SWl3aWNHbGphMVZ3VEc5allYUnBiMjRpT2lKTlFVNGlMQ0p3YVdOclZYQk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY21WdWRHRnNSSFZ5WVhScGIyNUpia1JoZVhNaU9qSXNJbk5sY25acFkyVkdaV0YwZFhKbGN5STZXeUpUVlZCUVVrVlRVMTlFU1ZKRlExUmZVRUZaWDB4UFEwRk1YMVpGU0VsRFRFVlRJbDE5IiwiYm9va2VyIjp7ImNvdW50cnkiOiJnYiJ9fSwiYXVkIjoiL2NhcnMvYXZhaWxhYmlsaXR5IiwiZXhwIjoxNzUzMTA2MDg2fQ.t8VrrJhUAvbAwIK_bO5cNAIB5Z_UfcolMEsGzlq3-eo",
                "currency": "GBP",
                "language": "en-gb"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Availability details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_availability_output"
                },
                "example": {
                  "request_id": "01k1deq3e5b41da80f28yybhz0",
                  "data": {
                    "offer": 740171366,
                    "currency": "GBP",
                    "policies": {
                      "cancellation": {
                        "type": "free_cancellation",
                        "details": {
                          "context": "before_pickup",
                          "duration": "PT48H"
                        }
                      },
                      "damage_excess": {
                        "amount": 1500
                      },
                      "deposit": {
                        "amount": 1500
                      },
                      "insurance_package": "inclusive",
                      "payment": {
                        "timing": "pay_online_now"
                      },
                      "fuel": "return_same",
                      "mileage": {
                        "distance_limit": 200,
                        "distance_unit": "miles",
                        "amount": 0.3,
                        "currency": "GBP",
                        "type": "limited"
                      },
                      "theft_excess": {
                        "amount": 1500
                      }
                    },
                    "price": {
                      "base": 74.4,
                      "total": 194.4,
                      "credit_card_required": false,
                      "extra_charges": [
                        {
                          "charge": "aged_driver_fee",
                          "total_amount": 120
                        }
                      ]
                    },
                    "products": [
                      {
                        "id": "14383444201010",
                        "type": "additional_driver",
                        "maximum_available": 3,
                        "mode": "each_per_rental",
                        "price": {
                          "unit_amount": {
                            "display": {
                              "value": 20,
                              "currency": "GBP"
                            },
                            "pay": {
                              "value": 20,
                              "currency": "GBP",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      },
                      {
                        "id": "14383470981010",
                        "type": "baby_seat",
                        "maximum_available": 2,
                        "mode": "each_per_rental",
                        "price": {
                          "unit_amount": {
                            "display": {
                              "value": 33.98,
                              "currency": "GBP"
                            },
                            "pay": {
                              "value": 33.98,
                              "currency": "GBP",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      },
                      {
                        "id": "14383497761010",
                        "type": "child_booster_seat",
                        "maximum_available": 2,
                        "mode": "each_per_rental",
                        "price": {
                          "unit_amount": {
                            "display": {
                              "value": 21.98,
                              "currency": "GBP"
                            },
                            "pay": {
                              "value": 21.98,
                              "currency": "GBP",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      },
                      {
                        "id": "14383524541010",
                        "type": "child_seat",
                        "maximum_available": 2,
                        "mode": "each_per_rental",
                        "price": {
                          "unit_amount": {
                            "display": {
                              "value": 33.98,
                              "currency": "GBP"
                            },
                            "pay": {
                              "value": 33.98,
                              "currency": "GBP",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      },
                      {
                        "id": "14383551321010",
                        "type": "gps",
                        "maximum_available": 1,
                        "mode": "per_rental",
                        "price": {
                          "unit_amount": {
                            "display": {
                              "value": 31.98,
                              "currency": "GBP"
                            },
                            "pay": {
                              "value": 31.98,
                              "currency": "GBP",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      }
                    ],
                    "deal": null,
                    "special_offer": "upgrade",
                    "supplier": 3486,
                    "route": {
                      "dropoff": {
                        "depot": 243816,
                        "depot_location_type": "meet_greet"
                      },
                      "pickup": {
                        "depot": 243816,
                        "depot_location_type": "meet_greet"
                      }
                    },
                    "insurance": {
                      "quote_reference": "38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2",
                      "name": "Full Protection",
                      "id": "999",
                      "price": {
                        "display": {
                          "value": 114.24,
                          "currency": "GBP"
                        },
                        "pay": {
                          "value": 114.24,
                          "currency": "EUR",
                          "timing": "pay_online_now"
                        }
                      },
                      "coverage_amount": {
                        "value": 60000,
                        "currency": "EUR"
                      },
                      "documents": [
                        {
                          "name": "policy_document",
                          "url": "https://staging.rentalcover.com/pds"
                        },
                        {
                          "name": "ipid",
                          "url": "https://files.rentalcover.com/ipids/uploads/staging/document.pdf"
                        }
                      ]
                    },
                    "estimated_commission": {
                      "amount": 12.5,
                      "currency": "GBP"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_offer": {
                    "summary": "Invalid offer ID",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_request",
                          "message": "Offer 123 is invalid"
                        }
                      ]
                    }
                  },
                  "expired_token": {
                    "summary": "Search token expired",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "expired_token",
                          "message": "Token 'search_token' has expired."
                        }
                      ]
                    }
                  },
                  "invalid_token": {
                    "summary": "Invalid token",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_token",
                          "message": "Token 'search_token' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. The request failed due to a server-side issue. Please retry or contact support if the issue persists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/constants": {
      "post": {
        "summary": "Car constants",
        "description": "This endpoint returns localised car rental constants used across the Cars API collection, such as extras, fuel policies, payment timings, and transmission types.\n\nIt also returns customer service contact email addresses per requested language for partner support scenarios where Booking.com handles travellers' communication directly. \nTo retrieve all constants, send an empty request body.",
        "operationId": "constants",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_constants_input"
              },
              "examples": {
                "allConstants": {
                  "$ref": "#/components/examples/inputAll"
                },
                "specificConstants": {
                  "$ref": "#/components/examples/inputSomeConstants"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_constants_output"
                },
                "example": {
                  "request_id": "01jpvx9va93ghgwxq7zypagvdr",
                  "data": {
                    "car_categories": [
                      {
                        "id": "carriers",
                        "name": {
                          "de": "Großraumfahrzeug",
                          "en-gb": "People carrier"
                        }
                      },
                      {
                        "id": "compact_suv",
                        "name": {
                          "de": "Kompaktklasse-SUV",
                          "en-gb": "Compact SUV"
                        }
                      },
                      {
                        "id": "convertible",
                        "name": {
                          "de": "Cabrio",
                          "en-gb": "Convertible"
                        }
                      },
                      {
                        "id": "estate",
                        "name": {
                          "de": "Kombi",
                          "en-gb": "Estate"
                        }
                      },
                      {
                        "id": "large",
                        "name": {
                          "de": "Groß",
                          "en-gb": "Large"
                        }
                      },
                      {
                        "id": "large_suv",
                        "name": {
                          "de": "Großer SUV",
                          "en-gb": "Full-size SUV"
                        }
                      },
                      {
                        "id": "medium",
                        "name": {
                          "de": "Mittelklasse",
                          "en-gb": "Medium"
                        }
                      },
                      {
                        "id": "midsize_suv",
                        "name": {
                          "de": "Mittelgroßer SUV",
                          "en-gb": "Midsize SUV"
                        }
                      },
                      {
                        "id": "pickup",
                        "name": {
                          "de": "Pickup",
                          "en-gb": "Pickup"
                        }
                      },
                      {
                        "id": "premium",
                        "name": {
                          "de": "Premium",
                          "en-gb": "Premium"
                        }
                      },
                      {
                        "id": "small",
                        "name": {
                          "de": "Klein",
                          "en-gb": "Small"
                        }
                      },
                      {
                        "id": "suvs",
                        "name": {
                          "de": "SUV",
                          "en-gb": "SUV"
                        }
                      }
                    ],
                    "customer_services": [
                      {
                        "id": "email",
                        "name": {
                          "de": "customer.service-de@cars.booking.com",
                          "en-gb": "customer.service@cars.booking.com"
                        }
                      }
                    ],
                    "depot_services": [
                      {
                        "id": "meet_greet",
                        "name": {
                          "de": "Meet & Greet",
                          "en-gb": "Meet & Greet"
                        }
                      },
                      {
                        "id": "shuttle",
                        "name": {
                          "de": "Shuttlebus",
                          "en-gb": "Shuttle Bus"
                        }
                      },
                      {
                        "id": "unknown",
                        "name": {
                          "de": "Unbekannt",
                          "en-gb": "Unknown"
                        }
                      }
                    ],
                    "depot_types": [
                      {
                        "id": "airport_hotel",
                        "name": {
                          "de": "Airport-Hotel",
                          "en-gb": "Airport hotel"
                        }
                      },
                      {
                        "id": "car_rental_centre",
                        "name": {
                          "de": "Mietwagenstation",
                          "en-gb": "Car rental centre"
                        }
                      },
                      {
                        "id": "downtown",
                        "name": {
                          "de": "Innenstadt",
                          "en-gb": "Downtown"
                        }
                      },
                      {
                        "id": "in_terminal",
                        "name": {
                          "de": "Im Terminal",
                          "en-gb": "In terminal"
                        }
                      },
                      {
                        "id": "meet_greet",
                        "name": {
                          "de": "Meet & Greet",
                          "en-gb": "Meet & Greet"
                        }
                      },
                      {
                        "id": "outside_terminal",
                        "name": {
                          "de": "Außerhalb des Terminals",
                          "en-gb": "Outside of terminal"
                        }
                      },
                      {
                        "id": "shuttle_bus",
                        "name": {
                          "de": "Shuttlebus",
                          "en-gb": "Shuttle bus"
                        }
                      },
                      {
                        "id": "trainstation",
                        "name": {
                          "de": "Bahnhof",
                          "en-gb": "Train station"
                        }
                      }
                    ],
                    "extras": [
                      {
                        "id": "additional_driver",
                        "name": {
                          "de": "Zusätzlicher Fahrer",
                          "en-gb": "Additional driver"
                        }
                      },
                      {
                        "id": "baby_seat",
                        "name": {
                          "de": "Babyschale",
                          "en-gb": "Baby seat"
                        }
                      },
                      {
                        "id": "bluetooth_handsfree_kit",
                        "name": {
                          "de": "Bluetooth-Freisprecheinrichtung",
                          "en-gb": "Bluetooth hands-free kit"
                        }
                      },
                      {
                        "id": "booster_seat",
                        "name": {
                          "de": "Kindersitzerhöhung",
                          "en-gb": "Child booster seat"
                        }
                      },
                      {
                        "id": "child_booster_seat",
                        "name": {
                          "de": "Kindersitzerhöhung",
                          "en-gb": "Child booster seat"
                        }
                      },
                      {
                        "id": "child_seat",
                        "name": {
                          "de": "Kindersitz",
                          "en-gb": "Child seat"
                        }
                      },
                      {
                        "id": "child_seat_isofix",
                        "name": {
                          "de": "ISOFIX",
                          "en-gb": "ISOFIX"
                        }
                      },
                      {
                        "id": "etc_card_electronic_toll_collection_card",
                        "name": {
                          "de": "ETC",
                          "en-gb": "ETC"
                        }
                      },
                      {
                        "id": "excess_protection",
                        "name": {
                          "de": "Geringere Selbstbeteiligung",
                          "en-gb": "Reduced excess"
                        }
                      },
                      {
                        "id": "fast_track",
                        "name": {
                          "de": "Express-Zugang",
                          "en-gb": "Queue jump"
                        }
                      },
                      {
                        "id": "gps",
                        "name": {
                          "de": "Navi",
                          "en-gb": "GPS"
                        }
                      },
                      {
                        "id": "infant_seat",
                        "name": {
                          "de": "Babyschale",
                          "en-gb": "Baby seat"
                        }
                      },
                      {
                        "id": "luggage_rack",
                        "name": {
                          "de": "Gepäckträger",
                          "en-gb": "Luggage rack"
                        }
                      },
                      {
                        "id": "personal_travel_assistant",
                        "name": {
                          "de": "Persönlicher Reiseassistent",
                          "en-gb": "Personal travel assistant"
                        }
                      },
                      {
                        "id": "queue_jump",
                        "name": {
                          "de": "Express-Zugang",
                          "en-gb": "Queue jump"
                        }
                      },
                      {
                        "id": "roof_rack",
                        "name": {
                          "de": "Dachgepäckträger",
                          "en-gb": "Roof rack"
                        }
                      },
                      {
                        "id": "ski_box",
                        "name": {
                          "de": "Skibox",
                          "en-gb": "Ski box"
                        }
                      },
                      {
                        "id": "ski_rack",
                        "name": {
                          "de": "Skiträger",
                          "en-gb": "Ski rack"
                        }
                      },
                      {
                        "id": "skierized_equipment",
                        "name": {
                          "de": "Winterausstattung",
                          "en-gb": "Winter sports equipment"
                        }
                      },
                      {
                        "id": "snow_chains",
                        "name": {
                          "de": "Schneeketten",
                          "en-gb": "Snow chains"
                        }
                      },
                      {
                        "id": "snow_tyres",
                        "name": {
                          "de": "Winterreifen",
                          "en-gb": "Snow tyres"
                        }
                      },
                      {
                        "id": "wifi_mobile",
                        "name": {
                          "de": "WLAN-Router",
                          "en-gb": "Wifi router"
                        }
                      },
                      {
                        "id": "wifi_router",
                        "name": {
                          "de": "WLAN-Router",
                          "en-gb": "Wifi router"
                        }
                      }
                    ],
                    "special_offers": [
                      {
                        "id": "one_additional_driver",
                        "name": {
                          "de": "1 zusätzlicher Fahrer inbegriffen",
                          "en-gb": "1 additional driver included"
                        }
                      },
                      {
                        "id": "two_additional_drivers",
                        "name": {
                          "de": "2 zusätzliche Fahrer inbegriffen",
                          "en-gb": "2 additional drivers included"
                        }
                      },
                      {
                        "id": "three_additional_drivers",
                        "name": {
                          "de": "3 zusätzliche Fahrer inbegriffen",
                          "en-gb": "3 additional drivers included"
                        }
                      },
                      {
                        "id": "all_additional_drivers",
                        "name": {
                          "de": "Alle zusätzlichen Fahrer inbegriffen",
                          "en-gb": "All additional drivers included"
                        }
                      },
                      {
                        "id": "gps",
                        "name": {
                          "de": "Navi inbegriffen",
                          "en-gb": "GPS included"
                        }
                      },
                      {
                        "id": "baby_or_child_seat",
                        "name": {
                          "de": "Babyschale / Kindersitz inbegriffen",
                          "en-gb": "Baby/child seat included"
                        }
                      },
                      {
                        "id": "priority_pickup",
                        "name": {
                          "de": "Priority-Abholung inbegriffen",
                          "en-gb": "Priority pick-up included"
                        }
                      },
                      {
                        "id": "wifi_device",
                        "name": {
                          "de": "WLAN inbegriffen",
                          "en-gb": "Wifi included"
                        }
                      },
                      {
                        "id": "sim_card",
                        "name": {
                          "de": "SIM-Karte inbegriffen",
                          "en-gb": "SIM card included"
                        }
                      },
                      {
                        "id": "upgrade",
                        "name": {
                          "de": "Upgrade auf die nächste Fahrzeuggruppe inbegriffen",
                          "en-gb": "Upgrade to the next car group included"
                        }
                      },
                      {
                        "id": "black_friday",
                        "name": {
                          "de": "Black Friday",
                          "en-gb": "Black Friday"
                        }
                      },
                      {
                        "id": "getaway_deal",
                        "name": {
                          "de": "Kurztrip-Angebot",
                          "en-gb": "Getaway deal"
                        }
                      },
                      {
                        "id": "mobile_rate",
                        "name": {
                          "de": "Handypreis",
                          "en-gb": "Mobile rate"
                        }
                      }
                    ],
                    "fuel_policies": [
                      {
                        "id": "free_tank",
                        "name": {
                          "de": "Kostenlose Tankfüllung",
                          "en-gb": "Free tank"
                        }
                      },
                      {
                        "id": "prepay_no_refunds",
                        "name": {
                          "de": "Vorab-Einkauf",
                          "en-gb": "Pre-purchase (non-refundable)"
                        }
                      },
                      {
                        "id": "prepay_part_refunds",
                        "name": {
                          "de": "Vorab-Einkauf (Teilerstattung)",
                          "en-gb": "Pre-purchase (partial refund)"
                        }
                      },
                      {
                        "id": "prepay_refunds",
                        "name": {
                          "de": "Vorab-Einkauf",
                          "en-gb": "Pre-purchase (refundable)"
                        }
                      },
                      {
                        "id": "return_same",
                        "name": {
                          "de": "Gleiche Tankfüllung",
                          "en-gb": "Like for like"
                        }
                      },
                      {
                        "id": "return_same_or_prepay_no_refunds",
                        "name": {
                          "de": "Gleiche Tankfüllung",
                          "en-gb": "Like for like"
                        }
                      },
                      {
                        "id": "return_same_preauth",
                        "name": {
                          "de": "Gleiche Tankfüllung (Vorabbuchung)",
                          "en-gb": "Like for like (pre-authorisation)"
                        }
                      },
                      {
                        "id": "unknown",
                        "name": {
                          "de": "Unbekannt",
                          "en-gb": "Unknown"
                        }
                      },
                      {
                        "id": "unlimited",
                        "name": {
                          "de": "Unbegrenzte Kilometer",
                          "en-gb": "Unlimited mileage"
                        }
                      }
                    ],
                    "fuel_types": [
                      {
                        "id": "diesel",
                        "name": {
                          "de": "Diesel",
                          "en-gb": "Diesel"
                        }
                      },
                      {
                        "id": "electric",
                        "name": {
                          "de": "Rein elektrisch",
                          "en-gb": "Fully electric"
                        }
                      },
                      {
                        "id": "ethanol",
                        "name": {
                          "de": "Ethanol",
                          "en-gb": "Ethanol"
                        }
                      },
                      {
                        "id": "hybrid",
                        "name": {
                          "de": "Hybrid",
                          "en-gb": "Hybrid"
                        }
                      },
                      {
                        "id": "hydrogen",
                        "name": {
                          "de": "Wasserstoff",
                          "en-gb": "Hydrogen"
                        }
                      },
                      {
                        "id": "lpg",
                        "name": {
                          "de": "Autogas",
                          "en-gb": "LPG"
                        }
                      },
                      {
                        "id": "multi_fuel",
                        "name": {
                          "de": "Mehrstoff",
                          "en-gb": "Multi Fuel"
                        }
                      },
                      {
                        "id": "petrol",
                        "name": {
                          "de": "Benzin",
                          "en-gb": "Petrol"
                        }
                      },
                      {
                        "id": "plug_in_hybrid",
                        "name": {
                          "de": "Plug-in-Hybrid",
                          "en-gb": "Plug-in hybrid"
                        }
                      },
                      {
                        "id": "unspecified",
                        "name": {
                          "de": "Nicht angegeben",
                          "en-gb": "Unspecified"
                        }
                      }
                    ],
                    "general": [
                      {
                        "id": "airport",
                        "name": {
                          "de": "Flughafen (im Terminal)",
                          "en-gb": "Airport (in terminal)"
                        }
                      },
                      {
                        "id": "air_conditioning",
                        "name": {
                          "de": "Klimaanlage",
                          "en-gb": "Air Conditioning"
                        }
                      },
                      {
                        "id": "before_pickup",
                        "name": {
                          "de": "Kostenlose Stornierung vor der Abholung",
                          "en-gb": "Free cancellation before pick-up"
                        }
                      },
                      {
                        "id": "each_per_rental",
                        "name": {
                          "de": "Jeder pro Miete",
                          "en-gb": "Each per rental"
                        }
                      },
                      {
                        "id": "free_cancellation",
                        "name": {
                          "de": "Kostenlose Stornierung",
                          "en-gb": "Free cancellation"
                        }
                      },
                      {
                        "id": "kilometers",
                        "name": {
                          "de": "km",
                          "en-gb": "km"
                        }
                      },
                      {
                        "id": "limited",
                        "name": {
                          "de": "Begrenzt",
                          "en-gb": "Limited"
                        }
                      },
                      {
                        "id": "miles",
                        "name": {
                          "de": "Meilen",
                          "en-gb": "miles"
                        }
                      },
                      {
                        "id": "n_large_bag",
                        "name": {
                          "de": "N großer Koffer",
                          "en-gb": "N Large bag"
                        }
                      },
                      {
                        "id": "n_large_bags",
                        "name": {
                          "de": "N große Koffer",
                          "en-gb": "N Large bags"
                        }
                      },
                      {
                        "id": "n_small_bag",
                        "name": {
                          "de": "N kleiner Koffer",
                          "en-gb": "N Small bag"
                        }
                      },
                      {
                        "id": "n_small_bags",
                        "name": {
                          "de": "N kleine Koffer",
                          "en-gb": "N Small bags"
                        }
                      },
                      {
                        "id": "per_rental",
                        "name": {
                          "de": "Pro Miete",
                          "en-gb": "Per rental"
                        }
                      }
                    ],
                    "payment_timings": [
                      {
                        "id": "pay_partially_online",
                        "name": {
                          "de": "Teils jetzt zahlen, teils später",
                          "en-gb": "Pay part now, part later"
                        }
                      },
                      {
                        "id": "pay_online_now",
                        "name": {
                          "de": "Jetzt zahlbar",
                          "en-gb": "Pay now"
                        }
                      },
                      {
                        "id": "pay_at_pickup",
                        "name": {
                          "de": "Zahlbar bei der Abholung",
                          "en-gb": "Pay at pick-up"
                        }
                      }
                    ],
                    "protection_levels": [
                      {
                        "id": "basic",
                        "name": {
                          "de": "Basis",
                          "en-gb": "Basic"
                        }
                      },
                      {
                        "id": "inclusive",
                        "name": {
                          "de": "Inbegriffen",
                          "en-gb": "Inclusive"
                        }
                      },
                      {
                        "id": "zero_excess",
                        "name": {
                          "de": "Kein Eigenanteil",
                          "en-gb": "Zero excess"
                        }
                      }
                    ],
                    "review_scores": [
                      {
                        "id": "cleanliness",
                        "name": {
                          "de": "Sauberkeit",
                          "en-gb": "Cleanliness"
                        }
                      },
                      {
                        "id": "condition",
                        "name": {
                          "de": "Fahrzeugzustand",
                          "en-gb": "Car condition"
                        }
                      },
                      {
                        "id": "drop_off_speed",
                        "name": {
                          "de": "Abgabegeschwindigkeit",
                          "en-gb": "Drop-off speed"
                        }
                      },
                      {
                        "id": "friendliness",
                        "name": {
                          "de": "Hilfsbereitschaft",
                          "en-gb": "Helpfulness"
                        }
                      },
                      {
                        "id": "location",
                        "name": {
                          "de": "Lage",
                          "en-gb": "Location"
                        }
                      },
                      {
                        "id": "pick_up_speed",
                        "name": {
                          "de": "Abholgeschwindigkeit",
                          "en-gb": "Pick-up speed"
                        }
                      },
                      {
                        "id": "value_for_money",
                        "name": {
                          "de": "Preis-Leistungs-Verhältnis",
                          "en-gb": "Value for money"
                        }
                      }
                    ],
                    "transmission": [
                      {
                        "id": "automatic",
                        "name": {
                          "de": "Automatik",
                          "en-gb": "Automatic"
                        }
                      },
                      {
                        "id": "manual",
                        "name": {
                          "de": "Schaltgetriebe",
                          "en-gb": "Manual"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'constants[0]' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/depots": {
      "post": {
        "description": "Retrieve a paginated list of car rental depots. Supports incremental updates via the `last_modified` filter.",
        "summary": "Depots",
        "operationId": "depots",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/depots_input"
              },
              "example": {
                "last_modified": "2026-03-01T11:05:00+00:00",
                "maximum_results": 100,
                "languages": [
                  "en-gb",
                  "nl"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Depots retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/depots_output"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 5944,
                      "contact": {
                        "email": "depot@test.booking.com",
                        "telephone": "+31882847620"
                      },
                      "city": -2140479,
                      "pickup": {
                        "instructions": {
                          "en-gb": "Collect your vehicle at the rental counter in the arrivals hall.",
                          "nl": "Haal uw voertuig op bij de verhuurbalie in de aankomsthal."
                        },
                        "working_hours": {
                          "monday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "tuesday": [
                            {
                              "closing_time": "12:00:00",
                              "opening_time": "07:00:00"
                            },
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "14:00:00"
                            }
                          ],
                          "wednesday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "thursday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "friday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "saturday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "sunday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ]
                        }
                      },
                      "location": {
                        "address": "5 Aankomstpassage",
                        "airport": "AMS",
                        "coordinates": {
                          "latitude": 52.309456,
                          "longitude": 4.762266
                        },
                        "country": "nl",
                        "depot_location_type": "airport_hotel",
                        "name": {
                          "en-gb": "Amsterdam Airport Schiphol - Terminal 3",
                          "nl": "Amsterdam Luchthaven Schiphol - Terminal 3"
                        },
                        "post_code": "1118 AX"
                      },
                      "dropoff": {
                        "instructions": {
                          "en-gb": "The procedure for returning the vehicle will be explained to you at the rental counter.",
                          "nl": "De procedure voor het inleveren van de auto zal worden toegelicht aan de balie."
                        },
                        "working_hours": {
                          "monday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "tuesday": [
                            {
                              "closing_time": "12:00:00",
                              "opening_time": "07:00:00"
                            },
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "14:00:00"
                            }
                          ],
                          "wednesday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "thursday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "friday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "saturday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ],
                          "sunday": [
                            {
                              "closing_time": "21:00:00",
                              "opening_time": "07:00:00"
                            }
                          ]
                        }
                      },
                      "services": [
                        "shuttle"
                      ],
                      "supplier": 47,
                      "ratings": {
                        "number_of_reviews": 120,
                        "score": 8.7
                      }
                    }
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'last_modified' is invalid. last_modified value must not be earlier than 7 days ago."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "An unexpected error occurred while processing the request. Please try again later or contact support if the issue persists."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/depots/reviews/scores": {
      "post": {
        "description": "Use this endpoint to retrieve review scores and score breakdowns for depots, including the overall review score and total number of reviews.",
        "summary": "Depot scores",
        "operationId": "depotScores",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_depots_scores_input"
              },
              "example": {
                "maximum_results": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_depots_scores_output"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 5944,
                      "breakdown": {
                        "cleanliness": {
                          "score": 8.7
                        },
                        "condition": {
                          "score": 8.7
                        },
                        "drop_off_speed": {
                          "score": 8.7
                        },
                        "friendliness": {
                          "score": null
                        },
                        "location": {
                          "score": 8.7
                        },
                        "pick_up_speed": {
                          "score": 8.7
                        },
                        "value_for_money": {
                          "score": 8.7
                        }
                      },
                      "number_of_reviews": 105,
                      "score": 9.1
                    }
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'maximum_results' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/details": {
      "post": {
        "description": "Use this endpoint to fetch car details like bag capacity, number of doors, brand and model, etc.",
        "summary": "Car details",
        "operationId": "details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_details_input"
              },
              "example": {
                "last_modified": "2026-04-01T11:05:00+00:00",
                "maximum_results": 100
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_details_output"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 37715,
                      "capacity": {
                        "bags": {
                          "large": 1,
                          "small": 1
                        },
                        "doors": "4/2",
                        "seats": "4+2"
                      },
                      "country": "es",
                      "features": [
                        "air_conditioning",
                        "all_wheel_drive"
                      ],
                      "image": "https://example.com/image.jpg",
                      "make": "Hyundai",
                      "model": "Elantra",
                      "specification": {
                        "code": "ECAR",
                        "description": "economy",
                        "fuel": "petrol",
                        "transmission": "automatic"
                      },
                      "supplier": 423
                    }
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'last_modified' is invalid. last_modified value must not be earlier than 7 days ago."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/suppliers": {
      "post": {
        "description": "Use this endpoint to fetch a list of car rental suppliers. <br/>You can use a supplier ID (or an array of them), to retrieve specific details. <br/>Alternatively, if you do not add any ID in the request, the response will include all suppliers.",
        "summary": "Suppliers",
        "operationId": "suppliers",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Cars"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cars_suppliers_input"
              },
              "example": {
                "suppliers": [
                  62
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cars_suppliers_output"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 62,
                      "name": "Budget",
                      "logo": "https://example.com/path_to_the_logo.jpeg"
                    }
                  ],
                  "metadata": {
                    "next_page": null,
                    "total_results": 1
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'suppliers' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cars/terms-and-conditions": {
      "post": {
        "description": "Use this endpoint to retrieve the terms and conditions for a specific car during the pre-booking process. The response includes structured content in the requested language.",
        "summary": "Retrieve terms and conditions.",
        "operationId": "terms-and-conditions",
        "tags": [
          "Cars"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "offer": 123456789,
                "currency": "USD",
                "language": "en-us",
                "search_token": "eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjo"
              },
              "schema": {
                "$ref": "#/components/schemas/cars_terms_and_conditions_input"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "terms_summary": {
                      "common": {
                        "credit_cards_allowed": true,
                        "debit_cards_allowed": true,
                        "driver_age": 25,
                        "insurance_available": true,
                        "rental_duration": 3
                      },
                      "damage_excess": {
                        "content": [
                          "This is the maximum amount you'll pay if the car's bodywork gets damaged or stolen"
                        ],
                        "excess_value": "$1000",
                        "subtitle": "Your liability in case of damage",
                        "title": "Damage excess"
                      },
                      "deposit": {
                        "accepted_cards": [
                          {
                            "title": "Visa credit card",
                            "type": "VISA"
                          }
                        ],
                        "accepted_cards_title": "Accepted payment methods",
                        "content": [
                          "A security deposit of $200 will be required at pick-up"
                        ],
                        "subtitle": "Required at pick-up",
                        "title": "Security deposit"
                      },
                      "disclaimers": [
                        "All information is subject to local supplier terms and conditions"
                      ],
                      "driver_and_license": {
                        "needed_items": [
                          "Valid driver's license",
                          "Credit card in main driver's name"
                        ],
                        "title": "Driver requirements",
                        "top_text": "Required documents for pick-up"
                      },
                      "mileage": {
                        "content": "Unlimited mileage included",
                        "subtitle": "Distance included",
                        "title": "Mileage"
                      }
                    },
                    "terms": [
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "text": "Driver must be <b>at least 25 years of age</b> to rent this vehicle.",
                                        "type": "clause_option"
                                      }
                                    ],
                                    "type": "sub_clause"
                                  }
                                ],
                                "title": "Age restrictions",
                                "type": "clause"
                              }
                            ],
                            "title": "Driver requirements",
                            "type": "section"
                          }
                        ],
                        "title": "Rental agreement",
                        "type": "chapter"
                      }
                    ]
                  },
                  "request_id": "01fr9ez700exycb98w90w5r9sh"
                },
                "schema": {
                  "$ref": "#/components/schemas/cars_terms_and_conditions_output"
                }
              }
            },
            "description": "Successful response."
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_offer": {
                    "summary": "Invalid offer ID",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_request",
                          "message": "Offer 123 is invalid"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/autocomplete": {
      "post": {
        "summary": "Retrieve autocomplete suggestions",
        "description": "Returns ranked destination suggestions for a free-text query. Use this endpoint to provide suggestions as a user types.\n\nResults are ranked using destination popularity and the supplied country context. The endpoint supports prefix matching and basic typo tolerance. Use `filters.types` to restrict results to specific destination types.\n\nEach result includes a destination type, identifier, localised name and geographic context. Geographic details vary by destination type and may be unavailable.",
        "operationId": "/common/autocomplete",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/autocomplete"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/autoCompleteInput"
              },
              "examples": {
                "autocompleteRequest": {
                  "$ref": "#/components/examples/autocompleteRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response containing ranked suggestions. The data array may be empty when no suggestions match the query.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/autoCompleteOutput"
                },
                "examples": {
                  "autocompleteResponse": {
                    "$ref": "#/components/examples/autocompleteResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or contains unsupported parameter values (for example, query too short or invalid `filters.types`). Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error."
          }
        }
      }
    },
    "/common/languages": {
      "post": {
        "summary": "Retrieve language codes",
        "description": "This endpoint returns a list of human language codes and their names in the corresponding language. To get the full list call the endpoint passing an empty body. The language codes returned are what is used as input and output for other endpoints.",
        "operationId": "/common/languages",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/languages"
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-7"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "ar",
                      "name": "العربية"
                    },
                    "..."
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/airports": {
      "post": {
        "summary": "Airports",
        "description": "This endpoint returns a list of airport codes and their names in the selected languages. The airports returned may be filtered by a location id. For example, you can get the list of airports in The Netherlands by passing: `{\"country\":\"nl\"}`. To get the full list call the endpoint passing an empty body. The airport codes returned are what is used as input and output for other endpoints. This endpoint implements pagination of the results.",
        "operationId": "/common/locations/airports",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/airportInput"
              },
              "example": {
                "country": "nl",
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/airportOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "AMS",
                      "name": {
                        "en-gb": "Schiphol Airport",
                        "zh-cn": "史基浦机场"
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/cities": {
      "post": {
        "summary": "Cities",
        "description": "This endpoint returns a list of city IDs and their names in the selected languages.\n\nYou can filter the results by location ID. For example, to retrieve the list of cities in the Netherlands, pass: `{\"country\":\"nl\"}`.\nTo retrieve the bulk list, call the endpoint with an empty request body.\nThe city IDs returned by this endpoint are used as input and output values in other Demand API endpoints.\nIf a city ID returned by another Demand API endpoint is not included in the bulk list, retrieve it by passing the ID in the `city` field, for example: `{\"city\":900043160}`. A city returned by an ID-specific request may not be included in the bulk list.",
        "operationId": "/common/locations/cities",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/citiesInput"
              },
              "example": {
                "country": "nl",
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/citiesOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": -2156821,
                      "name": {
                        "zh-cn": "兹沃勒"
                      },
                      "coordinates": {
                        "latitude": 52.378281,
                        "longitude": 4.90007
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": "..."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/countries": {
      "post": {
        "summary": "Countries",
        "description": "This endpoint returns a list of country codes and their names in the selected languages. The countries returned may be filtered by a location id. For example, you can get the list of countries that are associated with the European Alps region by passing: `{\"region\":1199}`. <br/><br/>To get the full list call the endpoint passing an empty body. The returned country codes are used as input and output for other endpoints. <br/><br/>This endpoint implements pagination of the results.",
        "operationId": "/common/locations/countries",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/countriesInput"
              },
              "example": {
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/countriesOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "ad",
                      "name": {
                        "en-gb": "Andorra",
                        "zh-cn": "安道尔"
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": "..."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/districts": {
      "post": {
        "summary": "Districts",
        "description": "This endpoint returns a list of districts with translations in the selected languages. The districts returned may be filtered by a location id. For example, you can get the list of districts in Amsterdam by passing: `{\"city\":-2140479}`. <br/><br/>To get the full list call the endpoint passing an empty body. The district ids returned are what is used as input and output for other endpoints.<br/><br/> This endpoint implements pagination of the results.",
        "operationId": "/common/locations/districts",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/districtsInput"
              },
              "example": {
                "city": -2140479,
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/districtsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 145,
                      "name": {
                        "en-gb": "Amsterdam City Centre",
                        "zh-cn": "阿姆斯特丹市中心"
                      },
                      "coordinates": {
                        "latitude": 52.378281,
                        "longitude": 4.90007
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/landmarks": {
      "post": {
        "summary": "Landmarks",
        "description": "This endpoint returns a list of relevant geographical landmark codes and their names in the selected languages. The landmarks returned may be filtered by a location id. For example, you can get the list of landmarks that are associated with the city of Paris in France by passing: `{\"city\":-1456928}`. <br/><br/>To get the full list call the endpoint passing an empty body. The landmark codes returned are what is used as input and output for other endpoints. <br/><br/>This endpoint implements pagination of the results.",
        "operationId": "/common/locations/landmarks",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/landmarksInput"
              },
              "example": {
                "city": -2140479,
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/landmarksOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 1,
                      "coordinates": {
                        "latitude": 52.378281,
                        "longitude": 4.90007
                      },
                      "name": {
                        "en-gb": "Amsterdam Central Station",
                        "zh-cn": "阿姆斯特丹中央车站"
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": "..."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/locations/regions": {
      "post": {
        "summary": "Regions",
        "description": "This endpoint returns a list of regions with translations in the selected languages. The regions returned may be filtered by a location id. For example, you can get the list of regions in the Netherlands or that the Netherlands is a part of by passing: `{\"country\":\"nl\"}`. To get the full list call the endpoint passing an empty body. The region ids returned are what is used as input and output for other endpoints. This endpoint implements pagination of the results.",
        "operationId": "/common/locations/regions",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/locations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/regionsInput"
              },
              "example": {
                "country": "nl",
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/regionsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 1003,
                      "name": {
                        "en-gb": "Drenthe",
                        "zh-cn": "德伦特省"
                      }
                    },
                    "..."
                  ],
                  "metadata": {
                    "next_page": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/common/payments/cards": {
      "post": {
        "summary": "Retrieve payment cards",
        "description": "This endpoint returns a list of supported payment cards and their names in English. Examples of payment types are the different credit and debit cards. <br/><br/>To get the full list call the endpoint passing an empty body. The codes returned are what is used as input and output for other endpoints.",
        "operationId": "/common/payments/cards",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/payments"
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-8"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": 1,
                      "name": "American Express"
                    },
                    "..."
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/common/payments/currencies": {
      "post": {
        "summary": "Retrieve currency codes",
        "description": "This endpoint returns a list of currency codes and their names in the selected languages. To get the full list call the endpoint passing an empty body. <br/><br/>The currency codes returned are what is used as input and output for other endpoints.",
        "operationId": "/common/payments/currencies",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Common/payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-6"
              },
              "example": {
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-9"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "AED",
                      "name": {
                        "en-gb": "U.A.E. dirham",
                        "zh-cn": "阿联酋迪拉姆"
                      }
                    },
                    "..."
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orders/preview": {
      "post": {
        "summary": "Preview an order",
        "description": "Use this endpoint to validate an order before checkout and calculate the final price, including a detailed price breakdown, payment schedule, and cancellation policies for accommodation and car rentals. Provide the booker's details and preferred currency to receive personalised pricing.\n\nFor accommodations: Include check-in and check-out dates, room allocation, and selected products.\n\nFor cars: Include the offer ID and search token. Optionally include selected optional products (such as GPS or child seats) returned by /cars/availability to add extras, and/or an insurance.quote_reference from /cars/availability to attach third-party insurance.",
        "operationId": "orders/preview",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/previewInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/previewOutput"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_car_offer": {
                    "summary": "Invalid offer ID",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_request",
                          "message": "Offer 123 is invalid"
                        }
                      ]
                    }
                  },
                  "invalid_request": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_request",
                          "message": "Invalid request parameters. Check required fields and their formats."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/create": {
      "post": {
        "summary": "Create an order",
        "description": "Use this endpoint to create and confirm an order using a valid order token and payment information when required by the selected offer. Car orders are not available in sandbox environment; use the production environment instead.",
        "operationId": "/orders/create",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/create_input"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The order was successfully created. The response includes the reservation details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ordersCreateOutput"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "expired_token": {
                    "summary": "Order token expired",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "expired_token",
                          "message": "Token 'order_token' has expired."
                        }
                      ]
                    }
                  },
                  "invalid_token": {
                    "summary": "Invalid token",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_token",
                          "message": "Token 'order_token' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the requested endpoint is not available in sandbox. Use the production environment instead.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "sandbox_blocked": {
                    "summary": "Endpoint not available in the sandbox environment",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "sandbox_blocked",
                          "message": "The /orders/create endpoint for cars is not available in the sandbox. Use the production environment instead."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "The request could not be completed due to a conflict. This may occur if:\n- The order contains unavailable items.\n- A reservation already exists for the same request (duplicate submission).\n\nRefer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_duplicate_response"
                },
                "examples": {
                  "order_unavailable": {
                    "summary": "Order unavailable error",
                    "value": {
                      "request_id": "01kkxmx797zvybfxfsy8byzj8z",
                      "errors": [
                        {
                          "id": "order_unavailable",
                          "message": "Order has unavailable items: vehicle '123456789' for this order is unavailable."
                        }
                      ]
                    }
                  },
                  "duplicate_car_reservation": {
                    "summary": "Duplicate car reservation error",
                    "value": {
                      "request_id": "01kkxn37vb2e2x5957j5vj9ghr",
                      "errors": [
                        {
                          "id": "duplicate_request",
                          "message": "This reservation already exists for the submitted request. Use the returned reservation ID to retrieve the booking via /orders/details/cars and check its status (booked or processed). Do not retry the request.",
                          "reservation": "982045031"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details": {
      "post": {
        "summary": "Orders details",
        "description": "Use this endpoint to retrieve detailed information about existing orders across supported travel services. Use it to synchronise internal systems, monitor booking updates, payment information for invoicing or reconciliation workflows, and generate reporting or analytics across travel services. See the [Reporting and reconciliation guide](/demand/docs/orders-api/order-details) for more details.\n\nYou can query orders using one of the following filter types:\n- **Creation** or **update date** — retrieve orders created or updated within a 7-day range.\n- **Travel dates** — filter by service start or end date (up to 7 days).\n- **Order** or **reservation ID** — fetch details for specific orders.\n\n**Notes:**\n- 'currency' is a required field.\n- 'services' restricts results to one or more travel services.",
        "operationId": "/orders/details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Filter by last updated date",
                    "description": "Retrieve orders that were last updated within a specific time range.",
                    "$ref": "#/components/schemas/inputUpdated"
                  },
                  {
                    "title": "Filter by creation date",
                    "description": "Retrieve orders that were created within a specific time range.",
                    "$ref": "#/components/schemas/inputCreated"
                  },
                  {
                    "title": "Filter by start date",
                    "description": "Retrieve orders based on the start date of the travel service.",
                    "example": {
                      "start": {
                        "from": "2026-04-01",
                        "to": "2026-04-07"
                      },
                      "currency": "EUR",
                      "services": [
                        "accommodations",
                        "cars"
                      ]
                    },
                    "$ref": "#/components/schemas/inputStart"
                  },
                  {
                    "title": "Filter by end date",
                    "description": "Retrieve orders based on the end date of the travel service.",
                    "example": {
                      "end": {
                        "from": "2026-04-01",
                        "to": "2026-04-07"
                      },
                      "currency": "EUR",
                      "maximum_results": 20
                    },
                    "$ref": "#/components/schemas/inputEnd"
                  },
                  {
                    "title": "Filter by order IDs",
                    "description": "Retrieve details for a specific list of order IDs.",
                    "example": {
                      "orders": [
                        "509430129718799",
                        "509430129718800"
                      ],
                      "currency": "EUR",
                      "extras": [
                        "payment"
                      ]
                    },
                    "$ref": "#/components/schemas/inputOrder"
                  },
                  {
                    "title": "Filter by reservation IDs",
                    "description": "Retrieve orders linked to specific reservation IDs.",
                    "example": {
                      "reservations": [
                        "12345677",
                        "76543210"
                      ],
                      "currency": "EUR"
                    },
                    "$ref": "#/components/schemas/inputReservations"
                  },
                  {
                    "title": "Paginate through results",
                    "description": "Retrieve orders using a pagination token.",
                    "example": {
                      "page": "eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9",
                      "extras": [
                        "payment"
                      ]
                    },
                    "$ref": "#/components/schemas/inputPage"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response. Returns a list of orders matching the requested filter criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ordersDetailsOutput"
                },
                "examples": {
                  "accommodation": {
                    "$ref": "#/components/examples/accommodation"
                  },
                  "car": {
                    "$ref": "#/components/examples/car"
                  },
                  "attraction": {
                    "$ref": "#/components/examples/attraction"
                  },
                  "transfer": {
                    "$ref": "#/components/examples/transfer"
                  },
                  "mixed": {
                    "$ref": "#/components/examples/mixed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details/accommodations": {
      "post": {
        "summary": "Orders with accommodation details",
        "description": "Use this endpoint to retrieve detailed information for one or more accommodation orders.You can request order details either by **reservation** or **order** ID depending on your integration.\n- The response includes all key information for each order, including booking status, pricing, commission, cancellation details, and optional extras.\n- Results are sorted by order creation date in descending order, with the most recently booked orders listed first.",
        "operationId": "/orders/details/accommodations",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Retrieve by Order IDs",
                    "$ref": "#/components/schemas/inputOrder-2",
                    "example": {
                      "currency": "USD",
                      "extras": [
                        "policies",
                        "extra_charges"
                      ],
                      "orders": [
                        "509430129718799",
                        "509430129718800"
                      ]
                    }
                  },
                  {
                    "title": "Retrieve by Reservation IDs",
                    "$ref": "#/components/schemas/inputReservation",
                    "example": {
                      "currency": "USD",
                      "extras": [
                        "policies",
                        "extra_charges"
                      ],
                      "reservations": [
                        "2321873123",
                        "4666773123"
                      ]
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response containing accommodation order details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/outputAccommodationsOrder"
                },
                "examples": {
                  "thirdPartyInventory": {
                    "$ref": "#/components/examples/outputThirdParty"
                  },
                  "bookingInventory": {
                    "$ref": "#/components/examples/outputNonThirdParty"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or contains unsupported parameter values. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          }
        }
      }
    },
    "/orders/details/cars": {
      "post": {
        "summary": "Car order details for post-booking",
        "description": "Returns enriched, up-to-date car order details for a specific reservation, including vehicle, supplier, pricing, insurance, policy, and driver information. Use this endpoint after creating or cancelling a car order, or whenever you need to retrieve the latest post-booking status.\n\nAvailable in API v3.3, this endpoint provides the live post-booking functionality previously available through /orders/details/cars/live in Demand API v3.2.",
        "operationId": "/orders/details/cars",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "description": "Currency for display prices. Does not change actual payment currencies.",
                    "$ref": "#/components/schemas/currencyId"
                  },
                  "reservations": {
                    "type": "array",
                    "description": "List of reservation IDs to retrieve live car order details for. Currently limited to a single reservation per request.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 1,
                    "minItems": 1
                  },
                  "booker": {
                    "description": "Information about the person who made the booking. Required for car order details.",
                    "type": "object",
                    "properties": {
                      "country": {
                        "$ref": "#/components/schemas/countryId"
                      }
                    },
                    "required": [
                      "country"
                    ]
                  },
                  "extras": {
                    "description": "Optional additional information to include in the response.",
                    "type": "object",
                    "properties": {
                      "include_invoice": {
                        "description": "Whether to retrieve invoice documents for the reservation. When false or omitted, invoice documents are not returned and no invoice retrieval is performed.",
                        "type": "boolean",
                        "default": false
                      }
                    }
                  }
                },
                "required": [
                  "reservations",
                  "booker"
                ]
              },
              "example": {
                "currency": "USD",
                "reservations": [
                  "11223344"
                ],
                "booker": {
                  "country": "nl"
                },
                "extras": {
                  "include_invoice": true
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Live car order details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ordersDetailsCarsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "affiliate": 1234567,
                      "reservation": "11223344",
                      "duration": 3,
                      "status": "confirmed",
                      "pickup": {
                        "datetime": "2025-10-15T10:00:00",
                        "location": "Dublin Airport",
                        "depot_description": "Airport",
                        "depot_id": "12345",
                        "instructions": "Proceed to shuttle bus zone 3."
                      },
                      "dropoff": {
                        "datetime": "2025-10-18T10:00:00",
                        "location": "Dublin Airport",
                        "depot_description": "Airport",
                        "depot_id": "12345",
                        "instructions": "Follow signs to car rental return area."
                      },
                      "driver": {
                        "name": "John Doe",
                        "email": "john.doe@example.com",
                        "telephone": "+15558675309"
                      },
                      "car": {
                        "flight_number": "BA123",
                        "id": 803765581,
                        "image": "images/car_images/web/toyota/corolla_lrg.jpg",
                        "category": "Compact",
                        "transmission": "Automatic",
                        "doors": "4",
                        "seats": "5",
                        "air_conditioning": true,
                        "big_suitcase": "2",
                        "small_suitcase": "1",
                        "currency": "EUR",
                        "make_and_model": "Toyota Corolla",
                        "special_offer": "Baby/child seat included",
                        "supplier": {
                          "id": "SUP123",
                          "name": "Avis",
                          "telephone": "+353 1 800 123456",
                          "confirmation_number": "ZYX987"
                        },
                        "price": {
                          "base": {
                            "display": {
                              "value": 110,
                              "currency": "USD"
                            },
                            "pay": {
                              "value": 100,
                              "currency": "EUR",
                              "timing": "pay_online_now"
                            }
                          },
                          "pre_discount_base": {
                            "display": {
                              "value": 132,
                              "currency": "USD"
                            },
                            "pay": {
                              "value": 120,
                              "currency": "EUR",
                              "timing": "pay_online_now"
                            }
                          },
                          "total": [
                            {
                              "display": {
                                "value": 110,
                                "currency": "USD"
                              },
                              "pay": {
                                "value": 100,
                                "currency": "EUR",
                                "timing": "pay_online_now"
                              }
                            },
                            {
                              "display": {
                                "value": 0,
                                "currency": "USD"
                              },
                              "pay": {
                                "value": 0,
                                "currency": "EUR",
                                "timing": "pay_at_pickup"
                              }
                            }
                          ]
                        },
                        "policies": {
                          "deposit": {
                            "value": 500,
                            "currency": "EUR",
                            "timing": "pay_at_pickup"
                          },
                          "mileage": {
                            "type": "unlimited"
                          },
                          "fuel_policy": "return_same",
                          "cancellation": {
                            "type": "free_cancellation",
                            "schedule": [
                              {
                                "from": "2025-10-14T10:00:00Z",
                                "to": "2025-10-17T09:59:59Z",
                                "free_cancellation": true,
                                "price": null
                              },
                              {
                                "from": "2025-10-17T10:00:00Z",
                                "to": "2025-10-19T10:00:00Z",
                                "free_cancellation": false,
                                "price": {
                                  "display": {
                                    "value": 25,
                                    "currency": "USD"
                                  },
                                  "pay": {
                                    "value": 22.73,
                                    "currency": "EUR"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "products": [
                        {
                          "id": "14383444951010",
                          "type": "additional_driver",
                          "selected_quantity": 1,
                          "mode": "each_per_rental",
                          "price": {
                            "display": {
                              "value": 16.49,
                              "currency": "USD"
                            },
                            "pay": {
                              "value": 14.99,
                              "currency": "EUR",
                              "timing": "pay_at_pickup"
                            }
                          }
                        }
                      ],
                      "insurance": [
                        {
                          "id": "335",
                          "name": "RentalCover Full Protection",
                          "price": {
                            "display": {
                              "value": 32.63,
                              "currency": "USD"
                            },
                            "pay": {
                              "value": 28.01,
                              "currency": "EUR"
                            }
                          },
                          "policy_reference": "1a8192e7-cc40-41a0-9bc1-801d95dc0c23",
                          "status": "confirmed",
                          "documents": [
                            {
                              "name": "policy_document",
                              "url": "https://staging.rentalcover.com/en/pds/WXXG-CVHM-INS",
                              "status": "available"
                            },
                            {
                              "name": "ipid",
                              "url": null,
                              "status": "unavailable"
                            },
                            {
                              "name": "certificate",
                              "url": "https://cars.booking.com/protection-documents/document/signed/certificate/46e710cb-b3d9-415a-bcc5-00ea1c920389",
                              "status": "available"
                            }
                          ]
                        }
                      ],
                      "invoices": [
                        {
                          "type": "invoice",
                          "created": "2026-09-01T06:10:00Z",
                          "invoice_document": {
                            "url": "https://example.com/invoice.pdf",
                            "status": "available"
                          },
                          "electronic_invoice": {
                            "url": "https://example.com/invoice.xml",
                            "status": "available"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "missing_parameter": {
                    "summary": "Missing parameter",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "missing_parameter",
                          "message": "One of the following parameters is missing: 'reservations'."
                        }
                      ]
                    }
                  },
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'reservations' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details/cars/faq": {
      "post": {
        "summary": "Retrieve Car rental FAQs",
        "description": "Returns a list of frequently asked questions (FAQs) and their answers related to car rentals. You can request one or more preferred languages using the languages parameter.\nIf content is not available in any of the requested languages, the response defaults to English.",
        "operationId": "/cars/FAQs",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "description": "Request parameters to retrieve FAQs",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaqInput"
              },
              "example": {
                "languages": [
                  "en-gb",
                  "fr",
                  "de",
                  "es"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response containing the list of FAQs and corresponding answers, returned in each requested language where available.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaqOutput"
                },
                "example": {
                  "request_id": "123456789",
                  "data": {
                    "faqs": [
                      {
                        "question": {
                          "de": "Was ist, wenn ich meine Buchungsbestätigung nicht erhalten habe?",
                          "fr": "Que dois-je faire si je n'ai pas reçu ma confirmation de réservation ?",
                          "en-gb": "What if I haven’t received my booking confirmation?",
                          "es": "¿Qué hago si no he recibido la confirmación de mi reserva?"
                        },
                        "answers": {
                          "de": [
                            "Die meisten Buchungen werden sofort bestätigt. Bitte überprüfen Sie Ihren Spam-Ordner, wenn Sie nichts in Ihrem Posteingang finden.",
                            "Sie können den Status Ihrer Buchung jederzeit online einsehen:",
                            "Wenn Sie die App benutzen, tippen Sie unten auf dem Bildschirm auf „Buchungen“.",
                            "Wenn Sie die Webseite verwenden, vergewissern Sie sich, dass Sie angemeldet sind und sich auf der Seite „Mietwagen“ befinden. Klicken Sie dann oben auf „Buchung bearbeiten“.",
                            "Wie ist der Status?",
                            "Wenn Sie feststellen, dass Ihre Buchung noch nicht bestätigt ist, ist sie noch in Bearbeitung – wir schicken Ihnen eine E-Mail, sobald sie bestätigt ist. Im unwahrscheinlichen Fall, dass wir auf Probleme stoßen, werden wir Sie so schnell wie möglich benachrichtigen."
                          ],
                          "fr": [
                            "La plupart des réservations sont immédiatement confirmées. Si vous n'avez pas reçu d'e-mail de confirmation, veuillez vérifier vos spams. ",
                            "Vous pouvez aussi vérifier le statut de votre réservation en ligne :",
                            "Sur l'appli, appuyez sur « Réservations » en bas de l'écran.",
                            "Sur le site Internet, connectez-vous à votre compte et rendez-vous sur la page « Voitures de location ». Ensuite, cliquez sur « Gérer la réservation ».",
                            "Quel est le statut de ma réservation ?",
                            "Si vous voyez que votre réservation n'est pas encore confirmée, cela signifie qu'elle est en cours de traitement. Nous vous enverrons un e-mail dès qu'elle sera confirmée. Dans l'éventualité où votre réservation rencontrerait un problème, nous vous en informerons dans les meilleurs délais."
                          ],
                          "en-gb": [
                            "Most bookings are confirmed straight away, so please check your spam folder if there’s nothing in your inbox. ",
                            "You can always check the status of your booking online:",
                            "If you’re using the app, tap ‘Bookings’ at the bottom of the screen.",
                            "If you’re using the website, make sure you’re signed in and on the ‘Car rentals’ page - then hit ‘Manage booking’ at the top.",
                            "What’s the status?",
                            "If you find that your booking isn’t confirmed yet, we’re working on it - and we’ll email you as soon as it is. In the unlikely event that we run into any problems, we’ll let you know as soon as we can."
                          ],
                          "es": [
                            "La mayoría de las reservas se confirman al momento, así que si no la tienes en la bandeja de entrada, mira en la carpeta de spam.",
                            "Puedes consultar online el estado de tu reserva siempre que quieras:",
                            "Si utilizas la app, dale a \"Reservas\" en la parte de abajo de la pantalla.",
                            "Si utilizas la web, comprueba que has iniciado sesión y después ve a la página de \"Alquiler de coches\" y dale a \"Gestionar la reserva\" en la parte de arriba.",
                            "¿Cuál es el estado?",
                            "Si ves que la reserva aún no está confirmada es que estamos gestionándola. Te enviaremos un e-mail en cuanto lo sepamos. Si hubiera algún problema, te lo haremos saber lo antes posible."
                          ]
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'languages[0]' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details/cars/terms-and-conditions": {
      "post": {
        "summary": "Retrieve car rental terms & conditions",
        "description": "Retrieve the structured terms and conditions for one or more car rental reservations.\n\nThe response contains hierarchical legal content organised into chapters, sections, clauses, sub-clauses, and clause options. Preserve this hierarchy when displaying or processing the terms.\n\nUse this endpoint to:\n\n* Display the complete rental contract to travellers.\n* Show terms and conditions on reservation detail pages.\n* Recreate the terms and conditions section of a booking voucher.\n* Support legal, regulatory, and compliance requirements.\n\nNotes:\n\n* Include at least one reservation ID in the request.\n* The response returns `null` for each reservation ID that is invalid or cannot be found.\n* If language is not provided, or is unsupported, the response defaults to English.\n* Use a supported language code, such as en-gb.\n* You can request only the terms required for a booking voucher by applying the voucher-required filter.",
        "operationId": "cars-terms-and-conditions",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/orders_cars_terms_and_conditions_input"
              },
              "example": {
                "booker": {
                  "country": "gb"
                },
                "language": "en-gb",
                "reservations": [
                  "765255700",
                  "invalid_reservation"
                ],
                "filters": {
                  "voucher": true
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response containing terms and conditions for requested orders. Invalid IDs return null.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/orders_cars_terms_and_conditions_output"
                },
                "example": {
                  "request_id": "123456789",
                  "data": {
                    "765255700": {
                      "terms": [
                        {
                          "type": "chapter",
                          "title": "Rental agreement",
                          "children": [
                            {
                              "type": "section",
                              "title": "Driver requirements",
                              "children": [
                                {
                                  "type": "clause",
                                  "title": "Age restrictions",
                                  "children": [
                                    {
                                      "type": "sub_clause",
                                      "children": [
                                        {
                                          "type": "clause_option",
                                          "text": "Driver must be <b>at least 25 years of age</b> to rent this vehicle."
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    "invalid_reservation": {
                      "terms": null
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "missing_parameter": {
                    "summary": "Missing parameter",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "missing_parameter",
                          "message": "Parameter 'reservations' is missing."
                        }
                      ]
                    }
                  },
                  "invalid_parameter": {
                    "summary": "Malformed request",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "Parameter 'language' is invalid."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "internal_error": {
                    "summary": "Generic server error",
                    "value": {
                      "request_id": "01kjan66dedrpbwv4m1966dzw3",
                      "errors": [
                        {
                          "id": "500",
                          "message": "Internal server error. Try again later or contact support."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details/flights": {
      "post": {
        "summary": "Orders with flight details",
        "description": "Use this endpoint to retrieve detailed information for one or more flight orders.\n\n- You can request flight order details either by **order ID** or by **reservation ID**.\n- The response includes structured order data, including pricing, itinerary segments with IATA airport codes, etc.\n\nThis endpoint is ideal for:\n- Displaying flight booking details in traveller dashboards or confirmation pages.\n- Generating post-booking communications and invoices.\n- Performing reporting or reconciliation tasks that require accurate itinerary and pricing data.",
        "operationId": "/orders/details/flights",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/input-7"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/output-10"
                },
                "example": {
                  "data": [
                    {
                      "id": "ORDER_ID",
                      "reservation": "RESERVATION_ID",
                      "currency": {
                        "booker": "EUR",
                        "order": "USD"
                      },
                      "itineraries": [
                        {
                          "departure": {
                            "airport": "CAI",
                            "date_time": "2024-03-01T07:00:00+00:00"
                          },
                          "arrival": {
                            "airport": "LXR",
                            "date_time": "2024-03-01T08:10:00+00:00"
                          }
                        }
                      ],
                      "label": "SAMPLE LABEL",
                      "price": {
                        "order_currency": 212.86,
                        "booker_currency": 197.87
                      },
                      "status": "booked"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orders/modify": {
      "post": {
        "summary": "Modify an order",
        "description": "Use this endpoint to modify an existing order, including payment card details, check-in and check-out dates, and room configurations for accommodations (guest allocation, guest names and smoking preferences).\n\nResponse formats: The endpoint supports two response formats, depending on the modification:\n\n* Standard response: Returns status (successful or failed) to indicate the outcome of the modification.\n* Detailed response: Returns separate modification_status and payment_status fields for modifications requiring payment processing, such as date changes that increase the reservation price. It also includes a message describing the outcome.\n\nSee the [Orders modification guide](/demand/docs/orders-api/order-modify) for integration guidance.",
        "operationId": "/orders/modify",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "AccommodationModification",
                    "$ref": "#/components/schemas/accommodationModificationInput"
                  },
                  {
                    "title": "PaymentModification",
                    "$ref": "#/components/schemas/paymentModificationInput"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Modification request processed. The response body indicates whether the modification succeeded or failed.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "title": "AccommodationModificationResponse",
                      "$ref": "#/components/schemas/accommodationModificationOutput"
                    },
                    {
                      "title": "PaymentModificationResponse",
                      "$ref": "#/components/schemas/paymentModificationOutput"
                    }
                  ]
                },
                "examples": {
                  "standardSuccess": {
                    "summary": "Modification successful",
                    "description": "Standard response indicating that the modification succeeded.",
                    "value": {
                      "modification": {
                        "accommodation": {
                          "status": "successful",
                          "new_price": 181.44
                        }
                      }
                    }
                  },
                  "standardFailure": {
                    "summary": "Modification failed",
                    "description": "Standard response indicating that the modification failed.",
                    "value": {
                      "modification": {
                        "accommodation": {
                          "status": "failed"
                        }
                      }
                    }
                  },
                  "detailedBothSuccess": {
                    "summary": "Modification and payment successful",
                    "description": "Detailed response indicating that both the accommodation modification and payment succeeded.",
                    "value": {
                      "modification": {
                        "accommodation": {
                          "modification_status": "successful",
                          "payment_status": "successful",
                          "message": "The modification and payment were successful.",
                          "new_price": 181.44
                        }
                      }
                    }
                  },
                  "detailedPaymentFailed": {
                    "summary": "Modification successful, payment failed",
                    "description": "Detailed response indicating that the accommodation modification succeeded but payment failed.",
                    "value": {
                      "modification": {
                        "accommodation": {
                          "modification_status": "successful",
                          "payment_status": "failed",
                          "message": "The modification was successful, but payment failed. Check the payment status using /orders/details.",
                          "new_price": 181.44
                        }
                      }
                    }
                  },
                  "detailedPaymentPending": {
                    "summary": "Modification successful, payment pending",
                    "description": "Detailed response indicating that the accommodation modification succeeded but payment is still being processed.",
                    "value": {
                      "modification": {
                        "accommodation": {
                          "modification_status": "successful",
                          "payment_status": "pending",
                          "message": "The modification was successful, but payment is pending. Check the payment status using /orders/details.",
                          "new_price": 181.44
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/modify/preview": {
      "post": {
        "summary": "Preview order modification",
        "description": "Check whether a requested accommodation date or room allocation change can be applied. For date changes, the response also includes the current and proposed prices.\n\nUse this endpoint to:\n- Check whether a change is possible before submitting it to /orders/modify\n- Display the new price to travellers before they confirm date changes\n- Understand why a modification might fail. \n\nImportant notes:\n- This endpoint is read-only and does not modify the reservation\n- Returns HTTP 200 with modifiable: false for business constraint such as unavailable dates or room capacity. \n- Guest name and smoking preference changes do not need a preview; submit them directly to /orders/modify.\n- Payment card modifications cannot be previewed.",
        "operationId": "/orders/modify/preview",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Preview accommodation date modification",
                    "description": "Preview a change to the check-in and check-out dates for an accommodation reservation. Returns pricing information showing current and new total costs.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/accommodationModificationPreviewInput"
                      },
                      {
                        "properties": {
                          "modification": {
                            "properties": {
                              "accommodation": {
                                "properties": {
                                  "type": {
                                    "const": "dates"
                                  },
                                  "change": {
                                    "$ref": "#/components/schemas/dateChange-2"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ],
                    "example": {
                      "order": "6520081014",
                      "modification": {
                        "accommodation": {
                          "reservation": "6187285715",
                          "type": "dates",
                          "change": {
                            "checkin": "2027-04-19",
                            "checkout": "2027-04-22"
                          }
                        }
                      }
                    }
                  },
                  {
                    "title": "Preview a room allocation modification",
                    "description": "Preview a change to the number of adults allocated to a room reservation. Guest names and smoking preferences cannot be previewed; submit those changes directly to /orders/modify.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/accommodationModificationPreviewInput"
                      },
                      {
                        "properties": {
                          "modification": {
                            "properties": {
                              "accommodation": {
                                "properties": {
                                  "type": {
                                    "const": "room"
                                  },
                                  "change": {
                                    "$ref": "#/components/schemas/roomChange-2"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ],
                    "example": {
                      "order": "6520081014",
                      "modification": {
                        "accommodation": {
                          "reservation": "6187285715",
                          "type": "room",
                          "change": {
                            "room_reservation": "9876543210",
                            "allocation": {
                              "number_of_adults": 2
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The preview was processed. data.modifiable indicates whether the requested change can be applied. When it is false, data.reason explains the business constraint, when it is true the change can be applied. For a modifiable date change, data.price contains the current and proposed order prices.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accommodationModificationPreviewOutput"
                },
                "examples": {
                  "dates_modifiable_with_price_increase": {
                    "summary": "Date change is possible and increases the price",
                    "description": "The requested date change can be applied. The new price is higher than the current price.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": true,
                        "price": {
                          "currency": "USD",
                          "current": {
                            "amount": 150
                          },
                          "new": {
                            "amount": 180
                          }
                        }
                      }
                    }
                  },
                  "dates_modifiable_with_price_decrease": {
                    "summary": "Date change is possible and decreases the price",
                    "description": "The requested date change can be applied. The new price is lower than the current price.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": true,
                        "price": {
                          "currency": "EUR",
                          "current": {
                            "amount": 200
                          },
                          "new": {
                            "amount": 175
                          }
                        }
                      }
                    }
                  },
                  "room_modifiable": {
                    "summary": "Room allocation change is possible",
                    "description": "The requested change to the number of adults allocated to the room can be applied.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": true
                      }
                    }
                  },
                  "not_modifiable_no_availability": {
                    "summary": "Date change not possible - no availability",
                    "description": "The selected accommodation is not available for the requested dates. The modification cannot be applied.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": false,
                        "reason": "not_available"
                      }
                    }
                  },
                  "not_modifiable_exceeds_capacity": {
                    "summary": "Room allocation change not possible - exceeds capacity",
                    "description": "The requested number of adults exceeds the room's maximum capacity.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": false,
                        "reason": "exceeds_room_capacity"
                      }
                    }
                  },
                  "not_modifiable_exceeds_max_nights": {
                    "summary": "Date change not possible - exceeds the maximum stay",
                    "description": "The requested date range exceeds the maximum stay duration allowed by the property.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": false,
                        "reason": "exceeds_max_nights"
                      }
                    }
                  },
                  "not_modifiable_online_payment": {
                    "summary": "Modification not possible - online payment restriction",
                    "description": "Date changes are not allowed for this order because it was paid online at the time of booking.",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "data": {
                        "modifiable": false,
                        "reason": "not_allowed_for_online_payment"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. This can happen when a required value is missing or malformed, the request structure is invalid, or the requested modification type is not supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "invalid_order": {
                    "summary": "Invalid order ID",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "invalid_parameter",
                          "message": "The order parameter is invalid or does not exist"
                        }
                      ]
                    }
                  },
                  "payment_not_supported": {
                    "summary": "Payment modification not supported in preview",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "not_supported",
                          "message": "Payment card modifications cannot be previewed. Use /orders/modify to change payment details."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "The order or reservation identified in the request does not exist or is not accessible to the affiliate making the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. An unexpected error occurred while processing the request. Try again later or contact support if the issue persists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          }
        }
      }
    },
    "/orders/cancel": {
      "post": {
        "summary": "Cancel a travel service",
        "description": "Use this endpoint to cancel a travel service within an existing order. Provide the details of the reservation or insurance policy you want to cancel.\n\n- **Note:** Only one travel service can be cancelled per request.\n\nFor step-by-step instructions, see the [Cancellations guide](/demand/docs/orders-api/cancel-order).",
        "operationId": "/orders/cancel",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cancelInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Indicates the cancellation request was accepted. Depending on the travel service, the cancellation is completed immediately (accommodations) or continues asynchronously (car rental and car insurance cancellations).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cancelOutput"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "403": {
            "description": "Returned when the requested endpoint is not available in sandbox. Use the production environment instead.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                },
                "examples": {
                  "sandbox_blocked": {
                    "summary": "Endpoint not available in the sandbox environment",
                    "value": {
                      "request_id": "01kjan7r7yvff5yg95gxy1cjhy",
                      "errors": [
                        {
                          "id": "sandbox_blocked",
                          "message": "The /orders/cancel endpoint for cars is not available in the sandbox. Use the production environment instead."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "The cancellation request cannot be processed because the travel service is not eligible for cancellation in its current state (for example, it has already been cancelled or is no longer cancellable). Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again later or contact support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_response"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "string"
      }
    },
    "parameters": {
      "AffiliateIdHeader": {
        "in": "header",
        "name": "X-Affiliate-Id",
        "schema": {
          "type": "integer"
        },
        "required": true,
        "description": "Include here your Affiliate identifier number"
      }
    },
    "schemas": {
      "accommodationId": {
        "description": "A signed integer number that uniquely identifies an accommodation property. The full list can be obtained by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).",
        "type": "integer",
        "minimum": 1
      },
      "airportId": {
        "description": "A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling  <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/airports\" target=\"_blank\">common/locations/airports</a>.",
        "type": "string",
        "pattern": "^[A-Z]{3}$",
        "example": "AMS"
      },
      "booker": {
        "title": "Booker",
        "description": "The booker's information.",
        "type": "object",
        "properties": {
          "country": {
            "description": "The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.",
            "type": "string",
            "pattern": "^[a-z]{2}$"
          },
          "platform": {
            "description": "The booker platform for showing the platform based deals and prices.",
            "type": "string",
            "enum": [
              "android",
              "desktop",
              "ios",
              "mobile",
              "tablet"
            ]
          },
          "state": {
            "description": "The booker state for showing the best price for that user and obeying laws regarding the display of taxes and fees. Currently applicable only for country US.",
            "type": "string",
            "pattern": "^[a-z]{2}$"
          },
          "travel_purpose": {
            "description": "The travel purpose of the booker.",
            "type": "string",
            "enum": [
              "business",
              "leisure"
            ]
          },
          "user_groups": {
            "description": "The user groups that the booker is a member of.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "authenticated"
              ]
            }
          }
        },
        "required": [
          "country",
          "platform"
        ]
      },
      "checkin": {
        "description": "The checkin date. Must be within 500 days in the future and in the format yyyy-mm-dd.",
        "type": "string",
        "format": "date"
      },
      "checkout": {
        "description": "The checkout date. Must be later than {checkin}. Must be between 1 and 90 days after {checkin}. Must be within 500 days in the future and in the format yyyy-mm-dd.",
        "type": "string",
        "format": "date"
      },
      "cityId": {
        "description": "A signed integer number that uniquely identifies a city. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/cities\" target=\"_blank\">common/locations/cities</a>.",
        "type": "integer"
      },
      "coordinates": {
        "title": "AccommodationsSearchCoordinatesOutput",
        "description": "Limit the result list to the specified coordinates.",
        "type": "object",
        "properties": {
          "latitude": {
            "description": "Specify a latitude (as well as a longitude and radius) to do searches around a specific location.",
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "description": "Specify a longitude (as well as a latitude and radius) to do searches around a specific location.",
            "type": "number",
            "format": "double"
          },
          "radius": {
            "description": "The radius is km to search around the specified latitude and longitude.",
            "type": "number",
            "format": "double"
          }
        }
      },
      "countryId": {
        "description": "A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The full list can be obtained by calling the /common/locations/countries endpoint.",
        "type": "string",
        "pattern": "^[a-z]{2}$",
        "example": "nl"
      },
      "currencyId": {
        "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/3.2/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
        "type": [
          "string",
          "null"
        ],
        "pattern": "^[A-Z]{3}$",
        "example": "EUR"
      },
      "districtId": {
        "description": "A signed integer number that uniquely identifies a district. Typically, districts define known areas within a city. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/districts\" target=\"_blank\">common/locations/districts</a>.",
        "type": "integer",
        "minimum": 1
      },
      "extras": {
        "description": "Input parameter to request for additional information about the products.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "extra_charges",
            "products"
          ]
        }
      },
      "accommodationFacilityId": {
        "description": "A signed integer number that uniquely identifies an accommodation property facility. Examples of facilities are: Parking, Restaurant, Room service etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "accommodationTypeId": {
        "description": "A signed integer number that uniquely identifies an accommodation property type. Examples of accommodation types are: Apartment, Hostel, Hotel etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "accommodationBrandId": {
        "description": "A signed integer number that uniquely identifies an accommodation brand. Examples of brands are: Radisson Blu, WestCord Hotels, Westin etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/chains\" target=\"_blank\">/accommodations/chains</a>.",
        "type": "integer",
        "minimum": 1
      },
      "cancellation_type_filter": {
        "description": "Filters the results by cancellation type. Currently, only 'free_cancellation' is supported. This will return all products that can be cancelled without incurring any fees within a specified time frame.",
        "type": "string",
        "enum": [
          "free_cancellation"
        ]
      },
      "meal_plan_filter": {
        "description": "Filter the result based on the selected meal plan. Example: When specified breakfast_included, it will show the product with free breakfast.",
        "type": "string",
        "enum": [
          "all_inclusive",
          "breakfast_included",
          "full_board",
          "half_board"
        ]
      },
      "paymentTimingFilter": {
        "description": "This parameter specifies that the results should only return accommodation and blocks that contain the specified payment timings.",
        "type": "string",
        "enum": [
          "pay_at_the_property",
          "pay_online"
        ]
      },
      "roomFacilityId": {
        "description": "A signed integer number that uniquely identifies an accommodation property room facility. Examples of facilities are: Coffee/Tea maker, TV, Airconditioning, etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "allocation": {
        "description": "The exact allocation of guests to rooms.",
        "type": "array",
        "items": {
          "properties": {
            "children": {
              "description": "The children ages for this room.",
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 17
              }
            },
            "number_of_adults": {
              "description": "The number of adults for this room.",
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "number_of_adults"
          ]
        }
      },
      "guests": {
        "title": "AccommodationsGuests",
        "description": "The guest details for the request.",
        "type": "object",
        "properties": {
          "allocation": {
            "$ref": "#/components/schemas/allocation"
          },
          "children": {
            "description": "Array with the children ages.",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            }
          },
          "number_of_adults": {
            "description": "The number of adults for the search.",
            "type": "integer",
            "minimum": 1
          },
          "number_of_rooms": {
            "description": "The number of rooms needed.",
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "number_of_adults",
          "number_of_rooms"
        ]
      },
      "landmarkId": {
        "description": "A signed integer number that uniquely identifies a relevant geographical landmark, like a monument or a natural attraction. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/landmarks\" target=\"_blank\">common/locations/landmarks</a>.",
        "type": "integer",
        "minimum": 1
      },
      "page": {
        "description": "Pagination token used to retrieve the next page of results. Obtained from `next_page`.",
        "type": "string"
      },
      "regionId": {
        "description": "A signed integer number that uniquely identifies a geographical region. Regions usually define official administrative areas within a country, but may also include multiple countries and in some cases un-official but popular designations for geographical areas. An example of a region that crosses multiple countries is the Alps in Europe. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/regions\" target=\"_blank\">common/locations/regions</a>.",
        "type": "integer",
        "minimum": 1
      },
      "maximumResults": {
        "description": "The maximum number of results to return.",
        "type": "integer",
        "multipleOf": 10,
        "minimum": 10,
        "maximum": 100,
        "default": 100
      },
      "searchInput": {
        "title": "AccommodationsSearchInput",
        "type": "object",
        "properties": {
          "accommodations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationId"
            },
            "maxItems": 100
          },
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "booker": {
            "$ref": "#/components/schemas/booker"
          },
          "checkin": {
            "$ref": "#/components/schemas/checkin"
          },
          "checkout": {
            "$ref": "#/components/schemas/checkout"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "extras": {
            "$ref": "#/components/schemas/extras"
          },
          "filters": {
            "description": "Filter criteria for the search results",
            "type": "object",
            "properties": {
              "24_hour_reception": {
                "description": "Filter the result based if the front desk reception is available 24/7. When specified true, the result will filter the products where front desk is available 24/7.",
                "type": "boolean"
              },
              "accommodation_facilities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationFacilityId"
                }
              },
              "accommodation_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationTypeId"
                }
              },
              "brands": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationBrandId"
                }
              },
              "cancellation_type": {
                "$ref": "#/components/schemas/cancellation_type_filter"
              },
              "dormitories": {
                "description": "This parameter specifies if the results should include dormitory beds or rooms. The default behaviour will include the dormitory beds or rooms with other results. When this flag is set to 'only', the response will only include dormitory beds or rooms. When this flag is set to 'exclude', the response will exclude dormitory beds or rooms. When this flag is set to 'include', the response will include dormitory beds or rooms with other results.",
                "type": "string",
                "default": "include",
                "enum": [
                  "include",
                  "exclude",
                  "only"
                ]
              },
              "meal_plan": {
                "$ref": "#/components/schemas/meal_plan_filter"
              },
              "payment": {
                "description": "The payment filter for the request",
                "type": "object",
                "properties": {
                  "credit_card_required": {
                    "description": "Filter to show accommodations which require credit card",
                    "type": "boolean"
                  },
                  "timing": {
                    "$ref": "#/components/schemas/paymentTimingFilter"
                  }
                }
              },
              "price": {
                "description": "If specified, will return only results where the price *per night* falls in the specified range (inclusive). This filter requires that a currency is passed",
                "type": "object",
                "properties": {
                  "maximum": {
                    "description": "Set the maximum price per night, in the specified currency, or omit to indicate no upper limit.",
                    "type": "number",
                    "format": "double"
                  },
                  "minimum": {
                    "description": "Set the minimum price per night, in the specified currency, or omit to indicate no lower limit.",
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "rating": {
                "description": "The rating filter for the request",
                "type": "object",
                "properties": {
                  "minimum_review_score": {
                    "description": "Show only hotels with review_score >= that. Review score should be in the range 1 to 10.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10
                  },
                  "stars": {
                    "description": "Limit to accommodations with the given number(s) of stars. Stars should be in the range of 1 to 5.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 5
                    }
                  }
                }
              },
              "room_facilities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/roomFacilityId"
                }
              },
              "sustainability_certification": {
                "description": "Filter the result based on if the property has sustainability certification. When specified true, the result will filter and return only the accommodations that have sustainability certification.",
                "type": "boolean"
              },
              "travel_proud": {
                "description": "Filter the result based on if the property is LGBTQ+ friendly. When specified true, the result will filter and return only the accommodations that are Proud Certified.",
                "type": "boolean"
              }
            }
          },
          "guests": {
            "$ref": "#/components/schemas/guests"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "sort": {
            "description": "The sorting parameters for the response",
            "type": "object",
            "properties": {
              "by": {
                "description": "The way to sort your results. NOTE: When ordering by distance please make sure to specify the latitude and longitude!",
                "type": "string",
                "enum": [
                  "distance",
                  "price",
                  "review_score",
                  "stars"
                ]
              },
              "direction": {
                "description": "Specifies the sort direction. Please note that descending order is not supported when sorting by distance.",
                "type": "string",
                "enum": [
                  "ascending",
                  "descending"
                ]
              }
            }
          }
        },
        "required": [
          "booker",
          "checkin",
          "checkout",
          "guests"
        ]
      },
      "requestId": {
        "description": "Uniquely identifies the request. Please provide this identifier when contacting support.",
        "type": "string"
      },
      "commission": {
        "title": "AccommodationsCommission",
        "description": "Commission details for the partner for a given accommodation",
        "type": "object",
        "properties": {
          "amount": {
            "description": "The actual commission amount for the partner.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "percentage": {
            "description": "Percentage of the fee that will be received as commission.",
            "type": "number",
            "format": "double",
            "minimum": 0
          }
        }
      },
      "currency": {
        "type": "object",
        "properties": {
          "accommodation": {
            "$ref": "#/components/schemas/currencyId"
          },
          "booker": {
            "$ref": "#/components/schemas/currencyId"
          }
        }
      },
      "deepLinkUrl": {
        "description": "A mobile app URL that directs the user to a specific page or content within the Booking.com app. The link can only be used on a device with the Booking.com app installed. It typically includes an Affiliate ID (AID) to attribute bookings to the affiliate partner when users are redirected",
        "type": "string",
        "format": "url"
      },
      "monetaryAmount": {
        "type": "number",
        "format": "double",
        "multipleOf": 0.01,
        "exclusiveMinimum": 0
      },
      "priceMultiCurrencyOutput": {
        "title": "AccommodationsPriceMultiCurrency",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "chargeTypeId": {
        "description": "A signed integer number that uniquely identifies an accommodation charge type. Examples of charges are: VAT, City Tax, etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 0
      },
      "conditionId": {
        "description": "A signed integer number that uniquely identifies the condition ID. Find the full list in the <a href=\"/demand/docs/accommodations/prices-accommodations\" target=\"_blank\">Pricing guidelines</a>.",
        "type": [
          "integer",
          "null"
        ],
        "minimum": 0
      },
      "display": {
        "description": "Indicates if this charge is included in the display price.",
        "type": "boolean"
      },
      "totalAmountV32": {
        "description": "The total price for this charge.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "chargeSummarySearchV32": {
        "title": "AccommodationsSearchChargeSummary",
        "description": "A charge summed across multiple products.",
        "type": "object",
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/chargeTypeId"
          },
          "condition": {
            "$ref": "#/components/schemas/conditionId"
          },
          "included_in": {
            "title": "ChargeIncludedIn",
            "description": "Indicates where this charge is included",
            "type": "object",
            "properties": {
              "display": {
                "$ref": "#/components/schemas/display"
              }
            }
          },
          "total_amount": {
            "$ref": "#/components/schemas/totalAmountV32"
          }
        }
      },
      "PriceSummarySearchV32": {
        "title": "OrdersPreviewProductSumPriceOutput",
        "description": "The price components of all the products selected summed.",
        "type": "object",
        "properties": {
          "base": {
            "description": "The sum base price of all products selected. Does not include any extra charges.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          },
          "charges": {
            "description": "The sum of charges for all products selected, grouped by charge type.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargeSummarySearchV32"
            }
          },
          "display": {
            "description": "The display price that must be shown to the traveller. Equivalent to base + charges where included_in.display=true.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          },
          "total": {
            "description": "The total sum price. Includes all extra charges of all products.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          }
        }
      },
      "productId": {
        "description": "Unique ID of the product.",
        "type": "string"
      },
      "bundleId": {
        "description": "The bundle ID of the product comprising of value added products.",
        "type": "integer"
      },
      "dealV32": {
        "title": "Deal",
        "description": "This specifies the deal tagging for the product.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "discount_percentage": {
            "description": "Discount percentage of the applied deal.",
            "type": "integer",
            "minimum": 1
          },
          "public_price": {
            "description": "Original price of this product, before applying any discounts.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          },
          "tags": {
            "description": "The tags of all the applied deals.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "black_friday",
                "early_year_deal",
                "flash_deal",
                "getaway_deal",
                "late_escape_deal",
                "limited_time_deal",
                "logged_in_deal",
                "mobile_rate"
              ]
            }
          }
        }
      },
      "inventoryOutputType": {
        "description": "Type of inventory - either net or sell rates.",
        "type": "string",
        "enum": [
          "net",
          "sell"
        ]
      },
      "inventoryOutput": {
        "title": "InventoryOutput",
        "type": "object",
        "properties": {
          "third_party": {
            "type": "boolean",
            "description": "Indicates whether the product is facilitated by a third-party supplier."
          },
          "type": {
            "$ref": "#/components/schemas/inventoryOutputType"
          }
        }
      },
      "productCancellationTypeSearch": {
        "description": "The cancellation policy applicable to this product: \"free_cancellation\" allows a period for free cancellation, \"non_refundable\" means immediate loss of total amount, \"partially_refundable\" means a portion of the amount may be refunded if the booking is cancelled.",
        "type": "string",
        "enum": [
          "free_cancellation",
          "non_refundable",
          "partially_refundable"
        ]
      },
      "productCancellationPolicySearch": {
        "title": "AccommodationsProductCancellationPolicy",
        "description": "The cancellation policy for this product.",
        "type": "object",
        "properties": {
          "free_cancellation_until": {
            "description": "Until when the order for this product can be cancelled for free.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "type": {
            "$ref": "#/components/schemas/productCancellationTypeSearch"
          }
        }
      },
      "productMealPlanPolicy": {
        "title": "AccommodationsProductMealPlanPolicy",
        "description": "The meal plan policy for this product.",
        "type": "object",
        "properties": {
          "meals": {
            "description": "The meals included in the meal plan.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "breakfast",
                "dinner",
                "lunch"
              ]
            }
          },
          "plan": {
            "description": "The meal plan included in this product.",
            "type": "string",
            "enum": [
              "all_inclusive",
              "breakfast_included",
              "full_board",
              "half_board",
              "no_plan"
            ]
          }
        }
      },
      "productPaymentTimings": {
        "description": "The payment timings supported by this product.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "pay_at_the_property",
            "pay_online_later",
            "pay_online_now"
          ]
        }
      },
      "productPaymentPolicyNew": {
        "title": "AccommodationsProductPaymentPolicyNew",
        "description": "Payment terms and conditions for this product.",
        "type": "object",
        "properties": {
          "prepayment_required": {
            "description": "Whether prepayment is required for this product.",
            "type": "boolean"
          },
          "timings": {
            "$ref": "#/components/schemas/productPaymentTimings"
          }
        }
      },
      "productPoliciesSearch": {
        "title": "AccommodationsProductPolicies",
        "description": "The policies for this product.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/productCancellationPolicySearch"
          },
          "meal_plan": {
            "$ref": "#/components/schemas/productMealPlanPolicy"
          },
          "payment": {
            "$ref": "#/components/schemas/productPaymentPolicyNew"
          }
        }
      },
      "basePriceV32": {
        "description": "The base price. It does not include any extra charges.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "chargeMode": {
        "description": "The mode of this charge. Determines how the price is calculated.",
        "type": "string",
        "enum": [
          "calculated_amount",
          "incalculable",
          "percentage",
          "per_day",
          "per_night",
          "per_person_per_day",
          "per_person_per_night",
          "per_person_per_stay",
          "per_stay"
        ]
      },
      "chargePercentage": {
        "description": "The percentage of 'base' that this charge amounts to. Only applicable when 'mode' is 'percentage'.",
        "type": "number",
        "multipleOf": 0.01,
        "exclusiveMinimum": 0,
        "nullable": true
      },
      "unitAmountV32": {
        "description": "The price per unit for this charge. Only applicable when 'mode' is 'per_day', 'per_night', 'per_person_per_day', 'per_person_per_night', or 'per_person_per_stay'.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        },
        "nullable": true
      },
      "chargeBreakdownSearchV32": {
        "description": "The charge breakdown. Includes taxes and fees.",
        "type": "array",
        "items": {
          "title": "AccommodationsCharge",
          "description": "Detailed information about an individual charge, including where it is applied.",
          "type": "object",
          "properties": {
            "charge": {
              "$ref": "#/components/schemas/chargeTypeId"
            },
            "condition": {
              "$ref": "#/components/schemas/conditionId"
            },
            "included_in": {
              "title": "ChargeIncludedIn",
              "description": "Indicates where this charge is included",
              "type": "object",
              "properties": {
                "display": {
                  "$ref": "#/components/schemas/display"
                }
              }
            },
            "mode": {
              "$ref": "#/components/schemas/chargeMode"
            },
            "percentage": {
              "$ref": "#/components/schemas/chargePercentage"
            },
            "total_amount": {
              "$ref": "#/components/schemas/totalAmountV32"
            },
            "unit_amount": {
              "$ref": "#/components/schemas/unitAmountV32"
            }
          }
        }
      },
      "displayPriceV32": {
        "description": "The display price that must be shown to the traveller in accordance with local booker protection laws. This price includes the base accommodation cost and all charges that are legally required to be part of the displayed amount. Equivalent to base + charges where included_in.display=true.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "totalPriceV32": {
        "description": "The total price. Includes all extra charges.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "priceSearchV32": {
        "title": "AccommodationsSearchProductPrice",
        "description": "Contains the price components of an accommodation product. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.",
        "type": "object",
        "properties": {
          "base": {
            "$ref": "#/components/schemas/basePriceV32"
          },
          "charges": {
            "$ref": "#/components/schemas/chargeBreakdownSearchV32"
          },
          "display": {
            "$ref": "#/components/schemas/displayPriceV32"
          },
          "total": {
            "$ref": "#/components/schemas/totalPriceV32"
          }
        }
      },
      "roomIdString": {
        "description": "A unique identifier for a specific room within an accommodation property. You can retrieve the full list of available room IDs by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).",
        "type": "string"
      },
      "product": {
        "title": "AccommodationsSearchProductOutput",
        "description": "Details product information. It requires `{\"extras\":[\"products\"]}`.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/productId"
          },
          "bundle": {
            "$ref": "#/components/schemas/bundleId"
          },
          "children": {
            "description": "The ages of the children allocated to this product.",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            }
          },
          "deal": {
            "$ref": "#/components/schemas/dealV32"
          },
          "inventory": {
            "$ref": "#/components/schemas/inventoryOutput"
          },
          "number_available": {
            "description": "Number of rooms available at this price.",
            "type": "integer",
            "minimum": 1,
            "nullable": true
          },
          "number_of_adults": {
            "description": "The number of adults allocated to this product.",
            "type": "integer",
            "minimum": 1
          },
          "policies": {
            "$ref": "#/components/schemas/productPoliciesSearch"
          },
          "price": {
            "$ref": "#/components/schemas/priceSearchV32"
          },
          "room": {
            "$ref": "#/components/schemas/roomIdString"
          }
        }
      },
      "url": {
        "description": "Internet address for the property page on Booking.com.",
        "type": "string",
        "format": "url"
      },
      "accommodationSearch": {
        "title": "AccommodationsSearchDataOutput",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "commission": {
            "$ref": "#/components/schemas/commission"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "deep_link_url": {
            "$ref": "#/components/schemas/deepLinkUrl"
          },
          "price": {
            "$ref": "#/components/schemas/PriceSummarySearchV32"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/product"
            }
          },
          "url": {
            "$ref": "#/components/schemas/url"
          }
        }
      },
      "searchOutput": {
        "title": "AccommodationsSearchOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationSearch"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "extras-2": {
        "description": "Input parameter to request for additional information about this product.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "extra_charges"
          ]
        }
      },
      "free_cancellation_type_filter": {
        "description": "Filters the result for the cancellation type specified. Possible values are free_cancellation. The result will contain all the products with free_cancellation.",
        "type": "string",
        "enum": [
          "free_cancellation"
        ]
      },
      "paymentInputFilter": {
        "description": "Payment input information to filter results.",
        "properties": {
          "timing": {
            "$ref": "#/components/schemas/paymentTimingFilter"
          }
        }
      },
      "filters": {
        "title": "AccommodationsAvailabilityFiltersInput",
        "description": "The filters to apply in this availability request.",
        "type": "object",
        "properties": {
          "cancellation_type": {
            "$ref": "#/components/schemas/free_cancellation_type_filter"
          },
          "meal_plan": {
            "$ref": "#/components/schemas/meal_plan_filter"
          },
          "payment": {
            "$ref": "#/components/schemas/paymentInputFilter"
          }
        }
      },
      "availabilityInput": {
        "title": "AccommodationsAvailabilityInput",
        "type": "object",
        "properties": {
          "accommodations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationId"
            }
          },
          "booker": {
            "$ref": "#/components/schemas/booker"
          },
          "checkin": {
            "$ref": "#/components/schemas/checkin"
          },
          "checkout": {
            "$ref": "#/components/schemas/checkout"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-2"
          },
          "filters": {
            "$ref": "#/components/schemas/filters"
          },
          "guests": {
            "$ref": "#/components/schemas/guests"
          }
        },
        "required": [
          "accommodations",
          "booker",
          "checkin",
          "checkout",
          "guests"
        ]
      },
      "thirdPartySupplierId": {
        "description": "Unique identifier of a third-party accommodation supplier. Use the [/accommodations/third-party-suppliers](#/accommodations/third-party-suppliers) endpoint to retrieve the full list of suppliers and their details.",
        "type": "integer",
        "minimum": 1
      },
      "availabilityInventoryOutput": {
        "title": "AccommodationsAvailabilityInventoryOutput",
        "description": "Inventory details for an accommodation product returned by `/accommodations/availability`.",
        "type": "object",
        "properties": {
          "third_party": {
            "type": "boolean",
            "description": "Indicates whether the product is facilitated by a third-party supplier."
          },
          "third_party_supplier_id": {
            "description": "Unique identifier of the third-party supplier that facilitates this product. Returned only for third-party inventory (when `third_party` is `true`). The field may be omitted if the supplier information is unavailable. Use the [/accommodations/third-party-suppliers](#/accommodations/third-party-suppliers) endpoint to retrieve supplier details.",
            "$ref": "#/components/schemas/thirdPartySupplierId"
          },
          "type": {
            "$ref": "#/components/schemas/inventoryOutputType"
          }
        }
      },
      "children": {
        "description": "The information about maximum number of children and their allowed ages for this room.",
        "type": "array",
        "items": {
          "title": "AccommodationsChildren",
          "type": "object",
          "properties": {
            "total": {
              "description": "The maximum number of children for this room.",
              "type": "integer",
              "minimum": 1
            },
            "from_age": {
              "description": "The youngest age of the children allowed in this room.",
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "to_age": {
              "description": "The oldest age of the children allowed in this room.",
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "free_stay": {
              "description": "Whether children in this age bracket will be staying for free. False indicates their cost was already included in the price.",
              "type": "boolean"
            }
          }
        }
      },
      "maximumOccupancy": {
        "title": "AccommodationsMaximumOccupancy",
        "description": "Information related to maximum number of occupancy inside the room.",
        "type": "object",
        "properties": {
          "adults": {
            "description": "The maximum number of adults for this room.",
            "type": "integer",
            "minimum": 1
          },
          "children": {
            "$ref": "#/components/schemas/children"
          },
          "total": {
            "description": "The maximum number of guests for this room.",
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "priceCurrencyOutput": {
        "title": "AccommodationsPriceCurrency",
        "description": "The price in both accommodation and booker currencies (booker might be null, if not requested)",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "productDetailedCancellationPolicyMultiCurrency": {
        "description": "The cancellation policy schedule for this product.",
        "type": "array",
        "items": {
          "title": "AccommodationsProductDetailedCancellationPolicyMultiCurrency",
          "type": "object",
          "properties": {
            "from": {
              "description": "The time from which this cancellation fee applies.",
              "oneOf": [
                {
                  "title": "Date-Time",
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 date-time",
                  "example": "2026-06-01T12:00:00Z"
                },
                {
                  "title": "Literal 'now'",
                  "type": "string",
                  "enum": [
                    "now"
                  ],
                  "description": "Indicates that the cancellation fee applies immediately at booking time."
                },
                {
                  "title": "Not applicable (Null)",
                  "type": "null"
                }
              ]
            },
            "price": {
              "description": "The cancellation fee.",
              "$ref": "#/components/schemas/priceCurrencyOutput"
            }
          }
        }
      },
      "productCancellationType": {
        "description": "The cancellation policy applicable to this product: \"free_cancellation\" allows a period for free cancellation, \"non_refundable\" means immediate loss of total amount, \"special_conditions\" means partly refundable.",
        "type": "string",
        "enum": [
          "free_cancellation",
          "non_refundable",
          "special_conditions"
        ]
      },
      "productCancellationPolicyAvailabilityMultiCurrency": {
        "title": "AccommodationsProductCancellationPolicyMultiCurrency",
        "description": "The cancellation policy for this product.",
        "type": "object",
        "properties": {
          "free_cancellation_until": {
            "description": "Until when the order for this product can be cancelled for free.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "schedule": {
            "$ref": "#/components/schemas/productDetailedCancellationPolicyMultiCurrency"
          },
          "type": {
            "$ref": "#/components/schemas/productCancellationType"
          }
        }
      },
      "productPoliciesMultiCurrencyAvailability": {
        "title": "AccommodationsProductPolicies",
        "description": "The policies for this product.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/productCancellationPolicyAvailabilityMultiCurrency"
          },
          "meal_plan": {
            "$ref": "#/components/schemas/productMealPlanPolicy"
          },
          "payment": {
            "$ref": "#/components/schemas/productPaymentPolicyNew"
          }
        }
      },
      "chargeableOnline": {
        "description": "Whether this charge is chargeable online or not. Not applicable to \"pay_at_the_property\" timing.",
        "type": "boolean",
        "nullable": true
      },
      "chargeBreakdownV32": {
        "description": "The charge breakdown. Includes taxes and fees.",
        "type": "array",
        "items": {
          "title": "AccommodationsChargeWithChargeableOnline",
          "description": "Detailed information about an individual charge, including where it is applied.",
          "type": "object",
          "properties": {
            "charge": {
              "$ref": "#/components/schemas/chargeTypeId"
            },
            "condition": {
              "$ref": "#/components/schemas/conditionId"
            },
            "included_in": {
              "title": "ChargeIncludedIn",
              "description": "Indicates where this charge is included",
              "type": "object",
              "properties": {
                "chargeable_online": {
                  "$ref": "#/components/schemas/chargeableOnline"
                },
                "display": {
                  "$ref": "#/components/schemas/display"
                }
              }
            },
            "mode": {
              "$ref": "#/components/schemas/chargeMode"
            },
            "percentage": {
              "$ref": "#/components/schemas/chargePercentage"
            },
            "total_amount": {
              "$ref": "#/components/schemas/totalAmountV32"
            },
            "unit_amount": {
              "$ref": "#/components/schemas/unitAmountV32"
            }
          }
        }
      },
      "chargeableOnlinePriceV32": {
        "description": "The amount collected by Booking.com from the Virtual Credit Cards (VCCs) when using online payment methods (e.g., pay_online_now, pay_online_later). Equivalent to `base + charges` where `included_in.chargeable_online=true`. Returns `null` for agency-model properties where Booking.com does not process payments.",
        "type": "object",
        "properties": {
          "accommodation_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        },
        "nullable": true
      },
      "priceV32": {
        "title": "AccommodationsProductPrice",
        "description": "Contains the price components of an accommodation product. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.",
        "type": "object",
        "properties": {
          "base": {
            "$ref": "#/components/schemas/basePriceV32"
          },
          "charges": {
            "$ref": "#/components/schemas/chargeBreakdownV32"
          },
          "chargeable_online": {
            "$ref": "#/components/schemas/chargeableOnlinePriceV32"
          },
          "display": {
            "$ref": "#/components/schemas/displayPriceV32"
          },
          "total": {
            "$ref": "#/components/schemas/totalPriceV32"
          }
        }
      },
      "availabilityProduct": {
        "title": "AccommodationsAvailabilityProductOutput",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/productId"
          },
          "bundle": {
            "$ref": "#/components/schemas/bundleId"
          },
          "deal": {
            "$ref": "#/components/schemas/dealV32"
          },
          "inventory": {
            "$ref": "#/components/schemas/availabilityInventoryOutput"
          },
          "maximum_occupancy": {
            "$ref": "#/components/schemas/maximumOccupancy"
          },
          "number_available": {
            "description": "How many units of this product are still available.",
            "type": "integer",
            "minimum": 1
          },
          "policies": {
            "$ref": "#/components/schemas/productPoliciesMultiCurrencyAvailability"
          },
          "price": {
            "$ref": "#/components/schemas/priceV32"
          },
          "room": {
            "$ref": "#/components/schemas/roomIdString"
          }
        }
      },
      "chargeSummaryV32": {
        "title": "AccommodationsChargeSummary",
        "description": "A charge summed across multiple products.",
        "type": "object",
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/chargeTypeId"
          },
          "condition": {
            "$ref": "#/components/schemas/conditionId"
          },
          "included_in": {
            "title": "ChargeIncludedIn",
            "description": "Indicates where this charge is included",
            "type": "object",
            "properties": {
              "display": {
                "$ref": "#/components/schemas/display"
              },
              "chargeable_online": {
                "$ref": "#/components/schemas/chargeableOnline"
              }
            }
          },
          "total_amount": {
            "$ref": "#/components/schemas/totalAmountV32"
          }
        }
      },
      "priceV32-2": {
        "title": "AccommodationsRecommendationPrice",
        "description": "Contains the price components of the recommended accommodation product or selection of products. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.",
        "type": "object",
        "properties": {
          "base": {
            "$ref": "#/components/schemas/basePriceV32"
          },
          "charges": {
            "description": "The charge breakdown. Includes taxes and fees.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargeSummaryV32"
            }
          },
          "chargeable_online": {
            "$ref": "#/components/schemas/chargeableOnlinePriceV32"
          },
          "display": {
            "$ref": "#/components/schemas/displayPriceV32"
          },
          "total": {
            "$ref": "#/components/schemas/totalPriceV32"
          }
        }
      },
      "children-2": {
        "description": "The ages of the children allocated to this product.",
        "type": "array",
        "items": {
          "type": "integer",
          "minimum": 0,
          "maximum": 17
        }
      },
      "numberOfAdults": {
        "description": "The number of adults allocated to this product.",
        "type": "integer",
        "minimum": 1
      },
      "productV32": {
        "title": "AccommodationsAvailabilityRecommendationProductOutput",
        "description": "Represents a recommended product and its allocation details.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/productId"
          },
          "children": {
            "$ref": "#/components/schemas/children-2"
          },
          "number_of_adults": {
            "$ref": "#/components/schemas/numberOfAdults"
          },
          "price": {
            "$ref": "#/components/schemas/priceV32-2"
          }
        }
      },
      "recommendation": {
        "title": "AccommodationsAvailabilityRecommendationOutput",
        "description": "The products recommended for the provided search criteria.",
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/priceV32-2"
          },
          "products": {
            "description": "",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/productV32"
            }
          }
        }
      },
      "availability": {
        "title": "AccommodationsAvailabilityDataOutput,",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "deep_link_url": {
            "$ref": "#/components/schemas/deepLinkUrl"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/availabilityProduct"
            }
          },
          "recommendation": {
            "$ref": "#/components/schemas/recommendation"
          },
          "url": {
            "$ref": "#/components/schemas/url"
          }
        }
      },
      "availabilityOutput": {
        "title": "AccommodationsAvailabilityOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/availability"
            }
          }
        }
      },
      "accommodationChainId": {
        "description": "A signed integer number that uniquely identifies an accommodation chain. Examples of chains are: Radisson Hotel Group, Hilton Worldwide etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/chains\" target=\"_blank\">/accommodations/chains</a>.",
        "type": "integer",
        "minimum": 1
      },
      "accommodationBrand": {
        "title": "AccommodationsChainsBrandDataOutput",
        "description": "Returns the internal code and name of an accommodation brand.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationBrandId"
          },
          "name": {
            "description": "Name of the accommodation brand.",
            "type": "string"
          }
        }
      },
      "accommodationChain": {
        "title": "AccommodationsChainsOutput",
        "description": "Returns the internal code, name and list of associated brands for an accommodation chain.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationChainId"
          },
          "brands": {
            "description": "List of all the brands associated with this accommodation chain.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationBrand"
            }
          },
          "name": {
            "description": "Name of the accommodation chain.",
            "type": "string"
          }
        }
      },
      "output": {
        "title": "AccommodationsChainsBrandOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationChain"
            }
          }
        }
      },
      "languageId": {
        "description": "A [IETF language tag code](https://en.wikipedia.org/wiki/IETF_language_tag) that uniquely identifies a supported human language or dialect. **Note:** Demand API only accepts lowercase for the language codes. Examples: \"nl\" for Dutch/Nederlands or \"en-us\" for English (US). To retrieve the full list of supported languages, call the `/common/languages` endpoint.",
        "type": "string",
        "pattern": "^[a-z]{2}(-[a-z]{2})?$",
        "example": "en-us"
      },
      "input": {
        "title": "AccommodationsConstantsInput",
        "type": "object",
        "properties": {
          "constants": {
            "description": "Allows to filter the results only for specific sections.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "accommodation_facilities",
                "accommodation_themes",
                "accommodation_types",
                "bed_types",
                "charge_types",
                "facility_types",
                "review_scores",
                "room_facilities",
                "room_types"
              ]
            }
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          }
        }
      },
      "facilityTypeId": {
        "description": "A signed integer number that uniquely identifies the accommodation facility type. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "translatedString": {
        "title": "TranslatedString",
        "description": "A string localised in multiple languages.",
        "type": "object",
        "patternProperties": {
          "^[a-z]{2}(-[a-z]{2})$": {
            "description": "The content localised in this language.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "accommodationFacility": {
        "title": "AccommodationsFacilityOutput",
        "description": "A service, equipment or characteristic available at property level, like for example: \"Swimming pool outdoor\".",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationFacilityId"
          },
          "facility_type": {
            "$ref": "#/components/schemas/facilityTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "facility_type",
          "name"
        ],
        "additionalProperties": false
      },
      "accommodationThemeId": {
        "description": "A signed integer number that uniquely identifies an accommodation property theme. Examples of themes are: Beach/Seaside, Ski/Wintersports, Luxury etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "accommodationTheme": {
        "title": "AccommodationsThemeOutput",
        "description": "Accommodations can be grouped in \"themes\" depending on their characteristics. For example: \"Beach/Seaside\".",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationThemeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "accommodationType": {
        "title": "AccommodationsTypeOutput",
        "description": "The type of an accommodation. Examples of types are \"Hotel\", \"Apartment\", etc.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "bedTypeId": {
        "description": "A signed integer number that uniquely identifies a bed type. Examples of bed types are: Single, Double etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "bedType": {
        "title": "AccommodationsBedTypeOutput",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/bedTypeId"
          },
          "description": {
            "description": "Translated description of the bed size in metric.",
            "$ref": "#/components/schemas/translatedString"
          },
          "description_imperial": {
            "description": "Translated description of the bed size in imperial.",
            "$ref": "#/components/schemas/translatedString"
          },
          "name": {
            "description": "Translated name of the bed type.",
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "description",
          "description_imperial",
          "name"
        ],
        "additionalProperties": false
      },
      "chargeType": {
        "title": "AccommodationsChargeTypeOutput",
        "description": "These are additional charges, which may be included or excluded from the reservation price. If excluded, the amounts may be added by the property upon checkout. The exclusions depend on several factors like local legislation, and sometimes can only be indicated but not be calculated at the time of the reservation.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/chargeTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "facilityType": {
        "title": "AccommodationsFacilityTypeOutput",
        "description": "A more generic designation meant to group a set of facilities.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/facilityTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "reviewScore": {
        "title": "AccommodationsReviewScoreOutput",
        "description": "Review score category name for each score interval.",
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "minimum_score": {
            "description": "The minimum score of this review score category.",
            "type": "number",
            "multipleOf": 0.1,
            "minimum": 1,
            "maximum": 10
          },
          "maximum_score": {
            "description": "The maximum score of this review score category",
            "type": "number",
            "multipleOf": 0.1,
            "minimum": 1,
            "maximum": 10
          }
        },
        "required": [
          "name",
          "minimum_score",
          "maximum_score"
        ],
        "additionalProperties": false
      },
      "roomFacility": {
        "title": "AccommodationsRoomFacilityOutput",
        "description": "A service, equipment or characteristic available at room level, like for example: \"Coffee/Tea maker\".",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/roomFacilityId"
          },
          "facility_type": {
            "$ref": "#/components/schemas/facilityTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "facility_type",
          "name"
        ],
        "additionalProperties": false
      },
      "roomTypeId": {
        "description": "A signed integer number that uniquely identifies an accommodation property room type. Example of room types are: Suite, Apartment, Twin/Double etc. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/accommodations/accommodations/constants\" target=\"_blank\">accommodations/constants</a>.",
        "type": "integer",
        "minimum": 1
      },
      "roomType": {
        "title": "AccommodationsRoomTypeOutput",
        "description": "Designations for different types of rooms, based on topology and/or setup. Examples: \"Twin/Double\" or \"Dormitory room\".",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/roomTypeId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "output-2": {
        "title": "AccommodationsConstantsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "ConstantsDataOutput",
            "type": "object",
            "properties": {
              "accommodation_facilities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationFacility"
                }
              },
              "accommodation_themes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationTheme"
                }
              },
              "accommodation_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/accommodationType"
                }
              },
              "bed_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/bedType"
                }
              },
              "charge_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/chargeType"
                }
              },
              "facility_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/facilityType"
                }
              },
              "review_scores": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/reviewScore"
                }
              },
              "room_facilities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/roomFacility"
                }
              },
              "room_types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/roomType"
                }
              }
            }
          }
        }
      },
      "extrasV32": {
        "description": "Input parameter to request for additional information about the accommodation property. It should be passed as a JSON array with one or more items.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "bundles",
            "description",
            "facilities",
            "payment",
            "photos",
            "policies",
            "refuses_free_cancellation_requests",
            "rooms"
          ]
        }
      },
      "detailsInput": {
        "title": "AccommodationsDetailsInput",
        "type": "object",
        "properties": {
          "accommodation_facilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationFacilityId"
            }
          },
          "accommodation_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationTypeId"
            }
          },
          "accommodations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationId"
            },
            "maxItems": 100
          },
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "brands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationBrandId"
            }
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "extras": {
            "$ref": "#/components/schemas/extrasV32"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            }
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "payment": {
            "$ref": "#/components/schemas/paymentInputFilter"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "valueAddType": {
        "description": "Identifies the type of value-added benefit included in the bundle, such as complimentary services, monetary credits, percentage discounts, or experiential amenities. Enum values encode how the benefit is applied, including time scope (per day or per stay) and unit scope (per room or per adult).",
        "type": "string",
        "enum": [
          "parking",
          "food_drink_credit_per_day_per_room",
          "food_drink_credit_per_day_per_adult",
          "property_credit_per_day_per_room",
          "food_drink_credit_per_stay_per_adult",
          "food_drink_credit_per_stay_per_room",
          "property_credit_per_day_per_adult",
          "property_credit_per_stay_per_adult",
          "property_credit_per_stay_per_room",
          "food_drink_discount",
          "property_discount",
          "early_checkin",
          "late_checkout",
          "late_checkin",
          "spa_daily",
          "spa_hourly",
          "spa_massage",
          "high_speed_internet",
          "airport_transfer",
          "safari_game_drive",
          "safari_walk",
          "pets_stay",
          "bottle_of_wine",
          "bottle_of_champagne",
          "park_sleep_fly"
        ]
      },
      "valueAddTranslated": {
        "title": "ValueAddTranslatedOutput",
        "type": "object",
        "description": "Value-added service with its type and descriptive text localised in multiple languages.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/valueAddType"
          },
          "description": {
            "title": "TranslatedStringArray",
            "description": "List of descriptive text lines for the value-added service, localised in multiple languages.",
            "type": "object",
            "patternProperties": {
              "^[a-z]{2}(-[a-z]{2})$": {
                "description": "The content localised in this language.",
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/translatedString"
                }
              }
            }
          }
        }
      },
      "bundleTranslated": {
        "title": "BundleTranslatedOutput",
        "type": "object",
        "description": "List of value-added services included in this bundle.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Bundle identifier"
          },
          "value_adds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/valueAddTranslated"
            }
          }
        }
      },
      "bundlesTranslated-2": {
        "title": "BundlesTranslatedOutput",
        "description": "List of value-added bundles available for this accommodation. Each bundle groups one or more value-added benefits and includes localised descriptive text for display.",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/bundleTranslated"
        }
      },
      "checkinCheckoutTimes": {
        "title": "AccommodationsCheckinCheckoutTimesOutput",
        "type": "object",
        "properties": {
          "checkin_from": {
            "description": "The time from when checkin starts at this property.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00"
          },
          "checkin_to": {
            "description": "The time till when checkin can be done at this property.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00"
          },
          "checkout_from": {
            "description": "The time from when checkout starts at this property.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00"
          },
          "checkout_to": {
            "description": "The time till when checkout can be done at this property.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00"
          }
        }
      },
      "contact": {
        "title": "AccommodationsContactOutput",
        "description": "Contact information of the accommodation. It can be `null` if the data is missing.",
        "type": "object",
        "properties": {
          "email": {
            "description": "Email address of the accommodation. It can be `null` if the data is missing.",
            "type": "string",
            "nullable": true
          },
          "telephone": {
            "description": "Telephone number of the accommodation. It can be `null` if the data is missing.",
            "type": "string",
            "nullable": true
          }
        },
        "nullable": true
      },
      "contacts": {
        "title": "AccommodationsContactsOutput",
        "description": "Contact information of the accommodation.",
        "type": "object",
        "properties": {
          "general": {
            "$ref": "#/components/schemas/contact"
          },
          "reservations": {
            "$ref": "#/components/schemas/contact"
          }
        }
      },
      "traderAddress": {
        "title": "AccommodationsAddress",
        "description": "An address object.",
        "type": "object",
        "properties": {
          "address_line": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "post_code": {
            "type": "string"
          }
        }
      },
      "description": {
        "title": "AccommodationsDescriptionOutput",
        "description": "Textual information about the accommodation. Requires `{\"extras\":[\"description\"]}`.",
        "type": "object",
        "properties": {
          "host_type": {
            "description": "Type of host.",
            "type": "string",
            "enum": [
              "private",
              "professional",
              "unknown"
            ]
          },
          "important_information": {
            "description": "Text containing important information about the property. The value is translated in the requested languages.",
            "$ref": "#/components/schemas/translatedString"
          },
          "license_numbers": {
            "description": "List of all the license numbers of this accommodation property.",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "text": {
            "description": "The translated description text of this accommodation property in the requested languages. The maximum number of characters returned may be limited by contract.",
            "$ref": "#/components/schemas/translatedString"
          },
          "trader": {
            "title": "TraderOutput",
            "description": "The trader information.",
            "type": "object",
            "nullable": true,
            "properties": {
              "address": {
                "description": "The address of the trader",
                "$ref": "#/components/schemas/traderAddress"
              },
              "email": {
                "description": "The email of the trader",
                "type": "string"
              },
              "name": {
                "description": "The name of the trader",
                "type": "string"
              },
              "registration_number": {
                "description": "The registration number of the trader",
                "type": "string"
              },
              "telephone": {
                "description": "The telephone of the trader",
                "type": "string"
              },
              "trade_register": {
                "description": "The trade register name",
                "type": "string"
              },
              "trader_verified": {
                "description": "Indicates whether the trader has successfully met Booking.com's internal verification process, based on established criteria and checklists",
                "type": "boolean"
              }
            }
          }
        }
      },
      "facility": {
        "title": "AccommodationsFacilityOutput",
        "description": "Facility information for the accommodation.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationFacilityId"
          },
          "attributes": {
            "type": "array",
            "items": {
              "description": "List of optional attributes for this facility.",
              "type": "string",
              "enum": [
                "offsite",
                "paid"
              ]
            }
          }
        }
      },
      "internetFacility": {
        "title": "AccommodationsInternetFacilityOutput",
        "description": "Information about the internet facilities available at the accommodation.",
        "type": "object",
        "properties": {
          "charge_mode": {
            "type": "string",
            "description": "The charging model for internet access at the accommodation.",
            "nullable": true,
            "enum": [
              "charges_are_applicable",
              "free",
              "per_day",
              "per_half_hour",
              "per_hour",
              "per_minute"
            ]
          },
          "connection_type": {
            "type": "string",
            "description": "The type of internet connection available, whether wireless (Wi-Fi) or wired.",
            "nullable": true,
            "enum": [
              "wifi",
              "wired"
            ]
          },
          "coverage": {
            "type": "string",
            "description": "The extent of the internet coverage within the accommodation, indicating the areas where internet access is available.",
            "nullable": true,
            "enum": [
              "all_rooms",
              "business_center",
              "entire_property",
              "public_areas",
              "some_rooms"
            ]
          },
          "price": {
            "description": "The price for using the internet facility, if applicable.",
            "$ref": "#/components/schemas/monetaryAmount",
            "minimum": 0,
            "nullable": true
          }
        }
      },
      "parkingFacility": {
        "title": "AccommodationsParkingFacilityOutput",
        "description": "Information about the parking facilities available at the accommodation, including pricing, type, location, and reservation requirements.",
        "type": "object",
        "properties": {
          "charge_mode": {
            "type": "string",
            "description": "The charging model for parking, such as per hour, per day, or free.",
            "nullable": true,
            "enum": [
              "free",
              "charges_are_applicable",
              "charges_may_apply",
              "per_hour",
              "per_day",
              "per_week",
              "per_stay"
            ]
          },
          "location": {
            "type": "string",
            "description": "The location of the parking facility relative to the accommodation (on-site or nearby).",
            "nullable": true,
            "enum": [
              "on_site",
              "nearby"
            ]
          },
          "price": {
            "$ref": "#/components/schemas/monetaryAmount",
            "description": "The price for using the parking facility, if applicable.",
            "minimum": 0,
            "nullable": true
          },
          "reservation": {
            "type": "string",
            "description": "Indicates whether a reservation is required for parking at the accommodation.",
            "nullable": true,
            "enum": [
              "needed",
              "not_needed",
              "not_possible"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of parking available, either public or private.",
            "nullable": true,
            "enum": [
              "private",
              "public"
            ]
          }
        }
      },
      "restaurantFacility": {
        "title": "AccommodationsRestaurantFacilityOutput",
        "description": "Information about the restaurant facilities available at the accommodation.",
        "type": "object",
        "properties": {
          "accept_reservations": {
            "description": "Indicates whether the restaurant accepts reservations.",
            "type": "boolean"
          },
          "guests_only": {
            "description": "Indicates whether the restaurant is exclusive to guests or open to the public.",
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "The name of the restaurant."
          },
          "status": {
            "type": "string",
            "description": "The operational status of the restaurant (e.g., open or closed).",
            "nullable": true,
            "enum": [
              "closed",
              "open"
            ]
          }
        }
      },
      "swimmingPoolFacility": {
        "title": "AccommodationsSwimmingPoolFacilityOutput",
        "description": "Details about the swimming pool occupancy limits and options.",
        "type": "object",
        "properties": {
          "allowed_age_type": {
            "type": "string",
            "description": "The age group allowed to use the swimming pool (e.g., adults only, all ages, or kids only).",
            "nullable": true,
            "enum": [
              "adults_only",
              "all_ages",
              "kids_only"
            ]
          },
          "payment_type": {
            "type": "string",
            "description": "The payment model for pool access, either free or paid.",
            "nullable": true,
            "enum": [
              "free",
              "paid"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of swimming pool (indoor, outdoor, or a combination).",
            "nullable": true,
            "enum": [
              "indoor",
              "indoor_and_outdoor",
              "outdoor"
            ]
          }
        }
      },
      "facilityDetails": {
        "title": "accommodationsFacilityDetailsOutput",
        "description": "Comprehensive information about the facilities available at the accommodation.",
        "type": "object",
        "properties": {
          "internet_facility": {
            "description": "Details about the internet facilities available at the accommodation, including price, charge mode and connection type.",
            "type": "object",
            "$ref": "#/components/schemas/internetFacility"
          },
          "parking_facilities": {
            "type": "array",
            "description": "A list of parking facilities available at the accommodation.",
            "items": {
              "$ref": "#/components/schemas/parkingFacility"
            }
          },
          "restaurant_facilities": {
            "type": "array",
            "description": "A list of restaurant facilities available at the accommodation.",
            "items": {
              "$ref": "#/components/schemas/restaurantFacility"
            }
          },
          "swimming_pool_facilities": {
            "type": "array",
            "description": "A list of swimming pool facilities available at the accommodation.",
            "items": {
              "$ref": "#/components/schemas/swimmingPoolFacility"
            }
          }
        }
      },
      "fiscalInformation": {
        "title": "AccommodationsFiscalInformationOutput",
        "description": "All fiscal related information of this accommodation property.",
        "type": "object",
        "properties": {
          "legal_name": {
            "type": "string"
          },
          "vat_number": {
            "type": "string"
          }
        }
      },
      "checkinMethod": {
        "description": "An enumeration that describes the conditions for the checkin process and for collecting the key to access the property. This is typically relevant for non-hotel accommodations (like houses or apartments) without a 24 hours front-desk.",
        "type": "string",
        "enum": [
          "door_code",
          "lock_box",
          "reception",
          "secret_spot",
          "someone_will_meet",
          "unknown"
        ]
      },
      "keyLocation": {
        "description": "Location of the key to access this accommodation property.",
        "type": "string",
        "enum": [
          "at_the_property",
          "door_code",
          "different_place",
          "unknown"
        ]
      },
      "keyCollectionInformation": {
        "title": "AccommodationsKeyCollectionInformationOutput",
        "type": "object",
        "properties": {
          "checkin_method": {
            "$ref": "#/components/schemas/checkinMethod"
          },
          "key_location": {
            "$ref": "#/components/schemas/keyLocation"
          }
        }
      },
      "cityId-2": {
        "description": "Uniquely identifies a city. The full list of cities can be retrieved from [/common/locations/cities](#/common/locations/cities).",
        "type": "integer"
      },
      "coordinate": {
        "type": "number",
        "multipleOf": 0.000001
      },
      "coordinates-2": {
        "titles": "Coordinates",
        "type": "object",
        "properties": {
          "latitude": {
            "description": "The latitude.",
            "$ref": "#/components/schemas/coordinate"
          },
          "longitude": {
            "description": "The longitude.",
            "$ref": "#/components/schemas/coordinate"
          }
        }
      },
      "countryId-2": {
        "description": "ISO 3166 country code. The full list of countries can be retrieved from [/common/locations/countries](#/common/locations/countries).",
        "type": "string",
        "pattern": "[a-z]{2}"
      },
      "accommodationLocation": {
        "title": "AccommodationsLocationOutput",
        "description": "All location related information of this accommodation property.",
        "type": "object",
        "properties": {
          "address": {
            "description": "Translated accommodation address.",
            "$ref": "#/components/schemas/translatedString"
          },
          "city": {
            "$ref": "#/components/schemas/cityId-2"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-2"
          },
          "country": {
            "$ref": "#/components/schemas/countryId-2"
          },
          "districts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/districtId"
            }
          },
          "postal_code": {
            "type": "string"
          },
          "regions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/regionId"
            }
          }
        }
      },
      "mealPrices": {
        "title": "MealPrices",
        "description": "Details regarding the meal pricing options offered at this accommodation.",
        "type": "object",
        "properties": {
          "breakfast": {
            "description": "The price of breakfast per person, expressed in the accommodation's local currency. If the value is null, it indicates that breakfast pricing is not available.",
            "type": "number",
            "minimum": 0,
            "nullable": true
          },
          "dinner": {
            "description": "The price of dinner per person, expressed in the accommodation's local currency. If the value is null, it indicates that dinner pricing is not available.",
            "type": "number",
            "minimum": 0,
            "nullable": true
          },
          "lunch": {
            "description": "The price of lunch per person, expressed in the accommodation's local currency. If the value is null, it indicates that lunch pricing is not available.",
            "type": "number",
            "minimum": 0,
            "nullable": true
          }
        }
      },
      "paymentCardId": {
        "description": "A signed integer number that uniquely identifies a payment type. Examples of payment types are the different credit and debit cards. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/cards\" target=\"_blank\">common/payments/cards</a>.",
        "type": "integer",
        "minimum": 1
      },
      "paymentMethods": {
        "title": "AccommodationsDetailsPaymentMethodsOutput",
        "description": "Payment methods accepted by this property.",
        "type": "object",
        "properties": {
          "cards": {
            "description": "Credit cards accepted when paying at the property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/paymentCardId"
            }
          },
          "cash": {
            "description": "Whether this property accepts cash",
            "type": "boolean",
            "example": true
          },
          "virtual_cards": {
            "description": "Virtual credit cards accepted when paying at the property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/paymentCardId"
            }
          }
        }
      },
      "payment": {
        "title": "AccommodationsPaymentOutput",
        "description": "Payment information related to this property. Requires `{\"extras\":[\"payment\"]}`.",
        "type": "object",
        "properties": {
          "methods": {
            "$ref": "#/components/schemas/paymentMethods"
          },
          "timings": {
            "$ref": "#/components/schemas/productPaymentTimings"
          },
          "cvc_required": {
            "description": "Whether cvc is mandatory for creating order for this accommodation.",
            "type": "boolean"
          },
          "domestic_no_cc": {
            "description": "Whether domestic bookers can book without credit card for products with free cancellation policies.",
            "type": "boolean"
          },
          "amex_cvc_required": {
            "description": "If amex card is used as payment method to create order for this accommodation, whether cvc is mandatory for that.",
            "type": "boolean"
          }
        }
      },
      "photoUrl": {
        "title": "AccommodationsPhotoUrlOutput",
        "type": "object",
        "properties": {
          "large": {
            "description": "URL of the photo image with a maximum width of 1280 pixels.",
            "type": "string",
            "format": "url",
            "example": "https://q-xx.bstatic.com/xdata/images/hotel/max1280/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o="
          },
          "standard": {
            "description": "URL of the photo image with a maximum width of 500 pixels.",
            "type": "string",
            "format": "url",
            "example": "https://q-xx.bstatic.com/xdata/images/hotel/max500/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o="
          },
          "thumbnail": {
            "description": "URL of the photo thumbnail image with dimensions 100x100 pixels.",
            "type": "string",
            "format": "url",
            "example": "https://q-xx.bstatic.com/xdata/images/hotel/100x100/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o="
          },
          "thumbnail_large": {
            "description": "URL of the photo thumbnail image with dimensions 300x300 pixels.",
            "type": "string",
            "format": "url",
            "example": "https://q-xx.bstatic.com/xdata/images/hotel/300x300/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o="
          }
        }
      },
      "accommodationPhoto": {
        "title": "AccommodationsPhotoOutput",
        "type": "object",
        "properties": {
          "main_photo": {
            "description": "Flags this as the main photo. Not returned otherwise.",
            "type": "boolean",
            "example": true
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "A list of tags associated with the photo. Manually generated.",
              "type": "string",
              "example": "Bathroom"
            }
          },
          "url": {
            "$ref": "#/components/schemas/photoUrl"
          }
        }
      },
      "petsPolicy": {
        "title": "AccommodationsPetsPolicyOutput",
        "type": "object",
        "properties": {
          "allowed": {
            "description": "An enumerated value describing if pets are allowed",
            "type": "string",
            "enum": [
              "yes",
              "no",
              "upon_request"
            ]
          },
          "charge_mode": {
            "description": "An enumerated value describing the charge mode for pets",
            "type": "string",
            "enum": [
              "free",
              "charges_may_apply"
            ]
          }
        }
      },
      "referenceDate": {
        "type": "string",
        "enum": [
          "checkin",
          "checkout"
        ]
      },
      "paymentCollectionDate": {
        "type": "object",
        "properties": {
          "reference_date": {
            "$ref": "#/components/schemas/referenceDate"
          },
          "days_offset": {
            "description": "The number of days on or before reference date.",
            "type": "integer"
          }
        }
      },
      "paymentMethod": {
        "type": "string",
        "enum": [
          "bank_transfer",
          "cash",
          "credit_card",
          "paypal",
          "other"
        ]
      },
      "paymentRefundDate": {
        "type": "object",
        "properties": {
          "reference_date": {
            "$ref": "#/components/schemas/referenceDate"
          },
          "days_offset": {
            "description": "The number of days on or after reference date.",
            "type": "integer"
          }
        }
      },
      "deposit": {
        "properties": {
          "collect": {
            "properties": {
              "date": {
                "$ref": "#/components/schemas/paymentCollectionDate"
              },
              "payment_method": {
                "$ref": "#/components/schemas/paymentMethod"
              }
            }
          },
          "refund": {
            "properties": {
              "date": {
                "$ref": "#/components/schemas/paymentRefundDate"
              },
              "payment_method": {
                "$ref": "#/components/schemas/paymentMethod"
              }
            }
          }
        }
      },
      "damagePolicy": {
        "type": "object",
        "description": "DamagePolicy of the property",
        "properties": {
          "deposit": {
            "description": "If a deposit needs to be paid upfront",
            "type": "object",
            "$ref": "#/components/schemas/deposit"
          },
          "amount": {
            "description": "The amount that can be charged",
            "type": "number",
            "format": "double"
          },
          "currency": {
            "description": "Currency in which payment needs to be made",
            "type": "string"
          }
        }
      },
      "travelProud": {
        "description": "Boolean value is \"true\" if property has travel proud badge and \"false\" otherwise.",
        "type": "boolean"
      },
      "sustainabilityCertification": {
        "title": "AccommodationsSustainabilityCertification",
        "description": "Details of a sustainability certification",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the certification",
            "type": "string"
          },
          "logo_url": {
            "description": "URL of the certification's logo.",
            "type": "string",
            "format": "uri"
          }
        }
      },
      "sustainability": {
        "title": "AccommodationsSustainability",
        "description": "Sustainability certifications associated with the property.",
        "type": "object",
        "properties": {
          "certifications": {
            "description": "The external sustainability certifications awarded to the property.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/sustainabilityCertification"
            }
          }
        },
        "nullable": true
      },
      "programmes": {
        "title": "AccommodationsProgrammes",
        "description": "Programmes and initiatives associated with the property.",
        "type": "object",
        "properties": {
          "travel_proud": {
            "$ref": "#/components/schemas/travelProud"
          },
          "sustainable_offerings": {
            "$ref": "#/components/schemas/sustainability"
          }
        }
      },
      "number_of_reviews": {
        "description": "Number of validated reviews for this accommodation.",
        "type": "integer",
        "minimum": 0
      },
      "review_score": {
        "description": "A decimal number indicating the current review score of this accommodation property, in the range 1..10.",
        "type": "number",
        "multipleOf": 0.1,
        "minimum": 1,
        "maximum": 10
      },
      "rating": {
        "title": "AccommodationsDetailsRatingOutput",
        "type": "object",
        "properties": {
          "number_of_reviews": {
            "$ref": "#/components/schemas/number_of_reviews"
          },
          "preferred": {
            "description": "Boolean value is \"true\" if this accommodation is in the Booking.com's preferred program and \"false\" otherwise.",
            "type": "boolean",
            "example": true
          },
          "review_score": {
            "$ref": "#/components/schemas/review_score",
            "nullable": true
          },
          "stars": {
            "description": "Number of stars of this accommodation property.",
            "type": "number",
            "format": "double",
            "multipleOf": 0.1,
            "nullable": true,
            "minimum": 1,
            "maximum": 5,
            "example": 4
          },
          "stars_type": {
            "description": "An enumerated value describing which type of stars this accommodation has.",
            "type": "string",
            "nullable": true,
            "enum": [
              "estimated_by_accommodation",
              "estimated_by_booking",
              "official"
            ]
          }
        }
      },
      "roomAttribute": {
        "type": "string",
        "enum": [
          "non_smoking",
          "smoking",
          "work_friendly"
        ]
      },
      "bed": {
        "title": "AccommodationsBedOutput",
        "description": "Detail information about a type of bed and number of beds included in this configuration.",
        "type": "object",
        "properties": {
          "bed_type": {
            "$ref": "#/components/schemas/bedTypeId"
          },
          "number_of_beds": {
            "description": "Number of similar beds included in this configuration.",
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "bedConfiguration": {
        "title": "AccommodationsBedConfigurationOutput",
        "description": "List of all beds available for this configuration.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this bed configuration.",
            "type": "string"
          },
          "configuration": {
            "description": "Detail list of all different types and number of beds included in this configuration.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/bed"
            }
          }
        }
      },
      "bedOption": {
        "title": "AccommodationsBedOptionOutput",
        "description": "List of all possible bed arrangements. For apartments and other types of hotel accommodations, beds and bathrooms may be available as separate rooms.",
        "type": "object",
        "properties": {
          "bed_configurations": {
            "description": "Lists all alternative bed configurations that are supported.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/bedConfiguration"
            }
          },
          "has_bathroom": {
            "description": "Flags if this area includes its own bathroom.",
            "type": "boolean"
          },
          "is_bedroom": {
            "description": "Flags if this area is marked as a bedroom, otherwise, it should be considered a living room.",
            "type": "boolean"
          }
        }
      },
      "roomV32": {
        "title": "AccommodationsDetailsRoomOutput",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/roomIdString"
          },
          "attributes": {
            "description": "Lists a set of attribute qualifiers for this room. Will not be returned if no relevant attributes are applicable.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/roomAttribute"
            }
          },
          "bed_options": {
            "description": "Lists all possible bedding options for this room or apartment.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/bedOption"
            }
          },
          "cots_and_extra_beds": {
            "title": "AccommodationsRoomsCotsAndExtraBedsOutput",
            "description": "Lists room options regarding adding cots and/or extra beds.",
            "type": "object",
            "properties": {
              "are_allowed_together": {
                "description": "Flags if cots and extra beds can be placed together in the room. `true` allows both up to their maximum limits. `false` requires exclusive choice of either cots or extra beds.",
                "type": "boolean"
              },
              "maximum_number_of_cots": {
                "description": "Maximum number of cots that can be added.",
                "type": "integer",
                "minimum": 0
              },
              "maximum_number_of_extra_beds": {
                "description": "Maximum number of extra beds that can be added.",
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "description": {
            "description": "Translated description of the room.",
            "$ref": "#/components/schemas/translatedString"
          },
          "facilities": {
            "description": "The list of facilities available in this room. Requires `{\"extras\":[\"rooms\",\"facilities\"]}`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/facility"
            }
          },
          "maximum_occupancy": {
            "title": "AccommodationsDetailsMaximumOccupancyOutput",
            "description": "Occupancy limits for this room, including the main occupancy limit and age-specific limits for children.",
            "type": "object",
            "properties": {
              "occupancy_total": {
                "description": "The maximum number of guests that count towards the room's total occupancy limit. This includes all adults and children from age brackets where included_in_total is true. Children from age brackets where included_in_total is false do not count towards this limit.",
                "type": "integer",
                "minimum": 0
              },
              "children": {
                "description": "Occupancy limits for children, grouped by age range.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "from_age": {
                      "description": "The youngest age, inclusive, to which this occupancy rule applies.",
                      "type": "integer",
                      "minimum": 0
                    },
                    "to_age": {
                      "description": "The oldest age, inclusive, to which this occupancy rule applies.",
                      "type": "integer",
                      "minimum": 0
                    },
                    "amount": {
                      "description": "The maximum number of children within this age range that can be accommodated in the room.",
                      "type": "integer",
                      "minimum": 0
                    },
                    "included_in_total": {
                      "description": "Whether children within this age bracket count towards `occupancy_total`. When `true`, each child counts towards `occupancy_total`. When `false`, children within this age bracket do not count towards `occupancy_total`, but their number must still not exceed `amount`.",
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "name": {
            "description": "Translated name of the room.",
            "$ref": "#/components/schemas/translatedString"
          },
          "number_of_rooms": {
            "title": "AccommodationsNumberOfRoomsOutput",
            "description": "Breakdown of the internal layout, including the number of bedrooms, bathrooms, and living rooms within this room type or accommodation unit.",
            "type": "object",
            "properties": {
              "bathrooms": {
                "description": "Total number of bathrooms.",
                "type": "integer",
                "minimum": 0
              },
              "bedrooms": {
                "description": "Total number of rooms equipped with a bed.",
                "type": "integer",
                "minimum": 0
              },
              "living_rooms": {
                "description": "Total number of rooms without a bed.",
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "photos": {
            "description": "List of photos for this accommodation room. The maximum number of photos returned may be limited by contract. Requires `{\"extras\":[\"rooms\",\"photos\"]}`. The photos are returned in no particular order.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationPhoto"
            }
          },
          "room_type": {
            "$ref": "#/components/schemas/roomTypeId"
          },
          "size": {
            "description": "The room area in square meters.",
            "type": "number",
            "minimum": 0,
            "example": 20
          }
        }
      },
      "accommodationDetail": {
        "title": "AccommodationsDetailsDataOutput",
        "description": "All static information related to an accommodation property (excludes information on availability).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "accommodation_status": {
            "description": "Operational status of the accommodation. Note that closed accommodations are only included in the response when querying by accommodation ID (`accommodations`); requests by location (`airport`, `city`, `country`, or `region`) exclude closed accommodations, so those responses only contain accommodations with status `open`.\n\n- `open`: The accommodation is open and bookable.\n- `closed_fraud`: The accommodation is closed due to fraud or related trust and safety concerns. Only returned when fraud visibility is enabled for your account; otherwise such accommodations are reported as `closed_permanently`.\n- `closed_temporarily`: The accommodation is temporarily closed.\n- `closed_permanently`: The accommodation is permanently closed.",
            "type": "string",
            "enum": [
              "open",
              "closed_fraud",
              "closed_temporarily",
              "closed_permanently"
            ]
          },
          "accommodation_type": {
            "$ref": "#/components/schemas/accommodationTypeId"
          },
          "booker_address_required": {
            "description": "A boolean indicating whether a booker address is required for the property. If true, a booker address must be provided in the orders/create endpoint. If false, the booker address is not required and can be omitted from the orders/create endpoint.",
            "type": "boolean"
          },
          "brands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationBrandId"
            }
          },
          "bundles": {
            "$ref": "#/components/schemas/bundlesTranslated-2"
          },
          "accepts_reservations_after_midnight": {
            "description": "Whether the property accepts reservations after midnight for a check-in date on the previous calendar day. When true, reservations are accepted until 01:00 for mobile users and until 02:00 for users on other platforms. This field describes the reservation booking window.",
            "type": "boolean"
          },
          "checkin_checkout_times": {
            "$ref": "#/components/schemas/checkinCheckoutTimes"
          },
          "contacts": {
            "$ref": "#/components/schemas/contacts"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "description": {
            "$ref": "#/components/schemas/description"
          },
          "facilities": {
            "description": "The list of facilities available in this property. Requires `{\"extras\":[\"facilities\"]}`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/facility"
            }
          },
          "facility_details": {
            "description": "Provides detailed information about the facilities available at the accommodation. This data is accessible by including `{\"extras\":[\"facilities\"]}` in the request.",
            "$ref": "#/components/schemas/facilityDetails"
          },
          "fiscal_information": {
            "$ref": "#/components/schemas/fiscalInformation"
          },
          "is_genius": {
            "description": "Whether the accommodation participates in the Genius programme.",
            "type": "boolean"
          },
          "key_collection_information": {
            "$ref": "#/components/schemas/keyCollectionInformation"
          },
          "location": {
            "$ref": "#/components/schemas/accommodationLocation"
          },
          "long_stay_friendly": {
            "description": "Whether the accommodation is suitable for long stays.",
            "type": "boolean"
          },
          "meal_prices": {
            "$ref": "#/components/schemas/mealPrices"
          },
          "name": {
            "description": "Translated name of the accommodation property.",
            "$ref": "#/components/schemas/translatedString"
          },
          "number_of_rooms": {
            "description": "Approximate number of bookable rooms or accommodation units configured in the Booking.com system. This value is not an availability indicator and **does not necessarily represent the property's physical room count**. For holiday homes and similar private rentals, this may be 1 even when the property contains multiple bedrooms, because the entire property is offered as a single bookable unit.",
            "type": "integer",
            "minimum": 0
          },
          "payment": {
            "$ref": "#/components/schemas/payment"
          },
          "photos": {
            "description": "List of photos for this accommodation property. The maximum number of photos returned may be limited by contract. Requires `{\"extras\":[\"photos\"]}`. The photos are returned in no particular order.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationPhoto"
            }
          },
          "policies": {
            "title": "AccommodationsPoliciesOutput",
            "description": "Set of price relevant rules, options and constraints defined by the accommodation for this product. Requires `{\"extras\":[\"policies\"]}`.",
            "type": "object",
            "properties": {
              "cots_and_extra_beds": {
                "description": "Prices for cots and extra beds.",
                "type": "array",
                "items": {
                  "title": "PoliciesCotsAndExtraBedsOutput",
                  "type": "object",
                  "properties": {
                    "age": {
                      "title": "AccommodationsPoliciesAgeOutput",
                      "description": "Ages to which this entry is applicable. Children are aged 0-17. 18/null means adult. The interval is inclusive.",
                      "type": "object",
                      "properties": {
                        "from": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 18
                        },
                        "to": {
                          "type": [
                            "integer",
                            "null"
                          ],
                          "minimum": 0,
                          "maximum": 18
                        }
                      }
                    },
                    "mode": {
                      "description": "How the price is applied per cot/extra bed.",
                      "type": "string",
                      "enum": [
                        "per_night",
                        "per_stay"
                      ]
                    },
                    "price": {
                      "description": "Non-null when the price is fixed or free.",
                      "$ref": "#/components/schemas/monetaryAmount",
                      "minimum": 0,
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "type": {
                      "description": "Whether this entry relates to a cot or an extra bed.",
                      "type": "string",
                      "enum": [
                        "cot",
                        "extra_bed"
                      ]
                    }
                  }
                }
              },
              "maximum_checkin_age": {
                "description": "Defines the maximum (inclusive) check-in age for this property. If null, then there is no maximum age for checking in",
                "type": "integer",
                "minimum": 18
              },
              "minimum_checkin_age": {
                "description": "Defines the minimum (inclusive) check-in age for this property.",
                "type": "integer",
                "minimum": 18
              },
              "minimum_guest_age": {
                "description": "Defines the minimum age (inclusive) for staying in this property. If \"0\", then a guest of any age is allowed.",
                "type": "integer",
                "minimum": 0
              },
              "pets": {
                "$ref": "#/components/schemas/petsPolicy"
              },
              "damage": {
                "$ref": "#/components/schemas/damagePolicy"
              }
            }
          },
          "price_category": {
            "description": "Indicates the qualitative price reference (between $ and $$$$) on how expensive an accommodation is. Accommodations in the same city are sorted by ascending price (average per guest per night in the last month), the ones in the lowest 25 percentile are in category $, between 25 and 50 percentile are in category $$, between 50 and 75 percentile are in category $$$, remaining ones are in category $$$$.",
            "type": "string",
            "pattern": "[$]{0,4}"
          },
          "programmes": {
            "$ref": "#/components/schemas/programmes"
          },
          "ranking": {
            "description": "Public ranking score of the accommodation.",
            "type": "number",
            "minimum": 0
          },
          "rating": {
            "$ref": "#/components/schemas/rating"
          },
          "refuses_free_cancellation_requests": {
            "description": "Shows whether the property does not accept requests to waive the cancellation fee. Check this field before sending the cancellation request.\n\ntrue: The property does not accept waiving the cancellation fee.\nfalse: The property may approve a request to cancel the reservation without paying the cancellation fee",
            "type": "boolean"
          },
          "requires_request_to_book": {
            "description": "Indicates whether a booking request is required before the accommodation can be booked. true means that the accommodation requires a request before booking. false means that it can be booked directly.",
            "type": "boolean"
          },
          "rooms": {
            "description": "The list of room types available at this property. Requires `{\"extras\":[\"rooms\"]}`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/roomV32"
            }
          },
          "spoken_languages": {
            "description": "Languages spoken by the staff of this accommodation property.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            }
          },
          "themes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationThemeId"
            }
          },
          "url": {
            "title": "AccommodationsUrlsOutput",
            "description": "Consolidated URLs for web and app redirects.",
            "type": "object",
            "properties": {
              "app": {
                "description": "A mobile app URL that directs the user to a specific page or content within the Booking.com app. The link can only be used on a device with the Booking.com app installed. It typically includes an Affiliate ID (AID) to attribute bookings to the affiliate partner when users are redirected.",
                "$ref": "#/components/schemas/deepLinkUrl"
              },
              "web": {
                "description": "Internet address for the property page on Booking.com.",
                "$ref": "#/components/schemas/url"
              }
            }
          },
          "work_friendly": {
            "description": "Whether the accommodation is suitable for working remotely.",
            "type": "boolean"
          }
        }
      },
      "detailsOutput": {
        "title": "AccommodationsDetailsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationDetail"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "changesInput": {
        "title": "AccommodationsDetailsChangesInput",
        "type": "object",
        "properties": {
          "last_change": {
            "description": "The timestamp in ISO-8601 format from which changes to accommodations are returned (inclusive). Only UTC time zone is supported. We support changes for last 24 hours. Format: YYYY-MM-DDTHH:mm:ss+00:00",
            "type": "string",
            "format": "date-time"
          },
          "filters": {
            "description": "parameter basis which filtering needs to be done. Only one of (countries or cities) must be provided.",
            "type": "object",
            "properties": {
              "countries": {
                "description": "Filter changes based on these countries. The valid full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/countries\" target=\"_blank\">common/locations/countries</a>.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/countryId"
                }
              },
              "cities": {
                "description": "Filter changes based on these cities. The valid full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/cities\" target=\"_blank\">common/locations/cities</a>.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/cityId"
                }
              }
            }
          }
        },
        "required": [
          "last_change"
        ]
      },
      "changes": {
        "description": "The list of changed accommodations.",
        "type": "object",
        "properties": {
          "changed": {
            "description": "Accommodations which have had relevant changes to their content since the given timestamp. Changes being tracked include: general information, standard phrase, photos, payments, facilities and rooms.",
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "closed": {
            "description": "Accommodations which have closed since the given timestamp. Note that these same accommodations may be re-opened shortly after.",
            "type": "object",
            "properties": {
              "fraud": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "permanently": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "temporarily": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          },
          "opened": {
            "description": "Accommodations which have opened since the given timestamp. Note that sometimes accommodations may be closed again shortly after.",
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "changesOutput": {
        "title": "AccommodationsDetailsChangesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "object",
            "properties": {
              "changes": {
                "$ref": "#/components/schemas/changes"
              },
              "from": {
                "description": "ISO 8601 timestamp which indicates the timestamp from which the changes are returned (inclusive).",
                "type": "string",
                "format": "date-time"
              },
              "next": {
                "description": "ISO 8601 timestamp which indicates the next timestamp to be used for `last_change`. This will be 1 second after the latest change returned in the result (all changes from the \"last\" second are returned). NOTE: this field will not be present unless changes are returned. In this case, repeat the call after one minute with the same `last_change` date.",
                "type": "string",
                "format": "date-time"
              },
              "total_changes": {
                "description": "Total number of changed accommodation ids returned. If 0, then repeat the call after one minute with the same `last_change` date.",
                "type": "integer"
              }
            }
          }
        }
      },
      "travel_purpose": {
        "description": "Defines if this was a leisure or business trip.",
        "type": "string",
        "enum": [
          "business",
          "leisure"
        ]
      },
      "reviewer_type": {
        "description": "The reviewer type.",
        "type": "string",
        "enum": [
          "couple",
          "extended_group",
          "family_with_children",
          "solo_traveller"
        ]
      },
      "reviewer": {
        "title": "AccommodationsReviewer",
        "type": "object",
        "properties": {
          "countries": {
            "description": "Limits reviews to those written by reviewer from the given country.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/countryId"
            }
          },
          "travel_purposes": {
            "description": "Limits reviews to those written by specific travel purposes.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/travel_purpose"
            }
          },
          "types": {
            "description": "Limits reviews to those written by specific reviewer type.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reviewer_type"
            }
          }
        }
      },
      "reviewsInput": {
        "title": "AccommodationsReviewsInput",
        "type": "object",
        "properties": {
          "accommodations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationId"
            },
            "minItems": 1,
            "maxItems": 100
          },
          "languages": {
            "description": "Limits reviews to those written in this language.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            }
          },
          "last_change": {
            "description": "Limits the reviews to those changed after the given date. Format: YYYY-MM-DD.",
            "type": "string",
            "format": "date"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "reviewer": {
            "$ref": "#/components/schemas/reviewer"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "score": {
            "title": "AccommodationsReviewScoreInput",
            "type": "object",
            "properties": {
              "maximum": {
                "description": "Limits the reviews to those having score lesser or equal to this value.",
                "type": "integer",
                "minimum": 1,
                "maximum": 10
              },
              "minimum": {
                "description": "Limits the reviews to those having score greater or equal to this value.",
                "type": "integer",
                "minimum": 1,
                "maximum": 10
              }
            }
          }
        },
        "required": [
          "accommodations"
        ]
      },
      "reviews": {
        "type": "array",
        "items": {
          "title": "AccommodationsReviewOutput",
          "type": "object",
          "properties": {
            "id": {
              "description": "Unique identifier of the review.",
              "type": "integer"
            },
            "date": {
              "description": "The date when the review was last modified. Format: YYYY-MM-DD.",
              "type": "string",
              "format": "date"
            },
            "language": {
              "$ref": "#/components/schemas/languageId"
            },
            "negative": {
              "description": "Negative comments from this review.",
              "type": [
                "string",
                "null"
              ]
            },
            "positive": {
              "description": "Positive comments from this review.",
              "type": [
                "string",
                "null"
              ]
            },
            "reviewer": {
              "title": "AccommodationsReviewerOutput",
              "type": "object",
              "properties": {
                "country": {
                  "$ref": "#/components/schemas/countryId"
                },
                "name": {
                  "description": "Name of the reviewer. If the value is null then the reviewer is anonymous.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "travel_purpose": {
                  "$ref": "#/components/schemas/travel_purpose"
                },
                "type": {
                  "$ref": "#/components/schemas/reviewer_type"
                }
              }
            },
            "score": {
              "description": "The aggregated score of the review.",
              "type": "number",
              "multipleOf": 0.1,
              "minimum": 1,
              "maximum": 10
            },
            "summary": {
              "description": "The summary of the review.",
              "type": [
                "string",
                "null"
              ]
            },
            "text_meets_guidelines": {
              "description": "Set to true when review meets the guidelines. The review text will be removed if it doesn't meet guidelines.",
              "type": "boolean"
            }
          }
        }
      },
      "accommodationReviews": {
        "title": "AccommodationsReviewsDataOutput",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "reviews": {
            "$ref": "#/components/schemas/reviews"
          },
          "url": {
            "$ref": "#/components/schemas/url"
          }
        }
      },
      "reviewsOutput": {
        "title": "AccommodationsReviewsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationReviews"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "input-2": {
        "title": "AccommodationsReviewsInput",
        "type": "object",
        "properties": {
          "accommodations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accommodationId"
            },
            "minItems": 1,
            "maxItems": 100
          },
          "languages": {
            "description": "Limits reviews to those written in this language.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            }
          },
          "reviewer": {
            "$ref": "#/components/schemas/reviewer"
          }
        },
        "required": [
          "accommodations"
        ]
      },
      "score": {
        "description": "A decimal number indicating the review score of this criteria, in the range 1..10.",
        "type": "number",
        "multipleOf": 0.1,
        "minimum": 1,
        "maximum": 10
      },
      "breakdown_schema": {
        "title": "AccommodationsReviewsBreakdownSchemaOutput",
        "type": "object",
        "properties": {
          "number_of_reviews": {
            "description": "Number of reviews for this criteria.",
            "type": "integer",
            "minimum": 0
          },
          "score": {
            "$ref": "#/components/schemas/score"
          }
        }
      },
      "breakdown": {
        "title": "AccommodationsReviewsBreakdownOutput",
        "description": "Review scores breakdown for each criteria. List of criteria includes: cleanliness, comfort, facilities, free_wifi, location, staff, value_for_money.",
        "type": "object",
        "patternProperties": {
          "^(cleanliness|comfort|facilities|free_wifi|location|staff|value_for_money)$": {
            "$ref": "#/components/schemas/breakdown_schema"
          }
        }
      },
      "distribution_schema": {
        "title": "AccommodationsReviewsDistributionSchemaOutput",
        "type": "object",
        "properties": {
          "number_of_reviews": {
            "description": "Number of reviews with this score.",
            "type": "integer",
            "minimum": 0
          },
          "percentage": {
            "description": "Percent of score distribution for this score.",
            "type": "number",
            "multipleOf": 0.01
          }
        }
      },
      "distribution": {
        "title": "AccommodationsReviewsDistributionOutput",
        "description": "Overall score distribution for each score (1-10).",
        "type": "object",
        "patternProperties": {
          "^[1-9]|10$": {
            "$ref": "#/components/schemas/distribution_schema"
          }
        }
      },
      "scores": {
        "title": "AccommodationsReviewsScoresOutput",
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "breakdown": {
            "$ref": "#/components/schemas/breakdown"
          },
          "distribution": {
            "$ref": "#/components/schemas/distribution"
          },
          "number_of_reviews": {
            "$ref": "#/components/schemas/number_of_reviews"
          },
          "score": {
            "$ref": "#/components/schemas/review_score"
          },
          "url": {
            "$ref": "#/components/schemas/url"
          }
        }
      },
      "output-3": {
        "title": "AccommodationsReviewsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/scores"
            }
          }
        }
      },
      "thirdPartySupplier": {
        "title": "AccommodationsThirdPartySupplier",
        "description": "Information about a third-party accommodation supplier.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/thirdPartySupplierId"
          },
          "name": {
            "description": "Display name of the third-party supplier.",
            "type": "string"
          },
          "company_address": {
            "description": "Registered company address of the third-party supplier. May be omitted or `null` when the address is not available.",
            "type": "string",
            "nullable": true
          }
        }
      },
      "output-4": {
        "title": "AccommodationsThirdPartySuppliersOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "description": "List of third-party accommodation suppliers.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/thirdPartySupplier"
            }
          }
        }
      },
      "error_response": {
        "title": "ErrorResponse",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "message"
              ]
            }
          }
        },
        "required": [
          "request_id",
          "errors"
        ]
      },
      "coordinatesInput": {
        "description": "Geographic coordinates used to search for attractions near a specific location.",
        "type": "object",
        "properties": {
          "latitude": {
            "description": "Latitude of the location.",
            "type": "number",
            "format": "double",
            "minimum": -90,
            "maximum": 90,
            "example": 52.3676
          },
          "longitude": {
            "description": "Longitude of the location.",
            "type": "number",
            "format": "double",
            "minimum": -180,
            "maximum": 180,
            "example": 4.9041
          },
          "radius": {
            "description": "Maximum distance in kilometers from the specified coordinates. Defaults to 10 km if not provided.",
            "type": "number",
            "format": "double",
            "default": 10,
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "latitude",
          "longitude"
        ]
      },
      "currencyId-2": {
        "description": "ISO 4217 currency code. The list of supported currencies can be retrieved from [/common/payments/currencies](#/common/payments/currencies).",
        "type": "string",
        "pattern": "[A-Z]{3}"
      },
      "datesInput": {
        "description": "Date range used to search for attraction availability. Both dates must fall within the 180-day booking window, starting today.",
        "type": "object",
        "properties": {
          "start_date": {
            "description": "Start date of the availability period, in ISO 8601 date format (YYYY-MM-DD). Must be today or later, and no more than 180 days in the future.",
            "type": "string",
            "format": "date"
          },
          "end_date": {
            "description": "End date of the availability period, in ISO 8601 date format (YYYY-MM-DD). Can be the same as start_date for single-day searches. Must be no more than 90 days after start_date and no more than 180 days in the future.",
            "type": "string",
            "format": "date"
          }
        },
        "required": [
          "start_date",
          "end_date"
        ]
      },
      "filtersInput": {
        "description": "Optional filters to narrow down attraction search results.",
        "type": "object",
        "properties": {
          "rating": {
            "type": "object",
            "description": "Filters based on guest review ratings.",
            "properties": {
              "minimum_review_score": {
                "description": "Minimum average guest review score, on a scale from 0 to 5.",
                "type": "number",
                "format": "double",
                "minimum": 0,
                "maximum": 5
              },
              "minimum_review_count": {
                "description": "Minimum number of guest reviews required for an attraction to be included.",
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          },
          "supported_languages": {
            "description": "Filter results by supported languages. Uses [IETF language tag codes](https://en.wikipedia.org/wiki/IETF_language_tag) in lowercase, for example \"nl\" for Dutch/Nederlands or \"en-us\" for English (US). To retrieve the full list of supported languages, call the `/common/languages` endpoint in the same Demand API version you are using.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z]{2}(-[a-z]{2})?$"
            }
          },
          "categories": {
            "description": "Filter results by one or more attraction category IDs. Only attractions that match at least one of the specified categories are returned. Call the `/attractions/constants` endpoint to retrieve the available category IDs and their localised names; both root categories and subcategories can be used as filter values. If an invalid or unsupported category ID is provided, the search response will contain no results.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "PTCMCuXtHgrC"
            }
          }
        }
      },
      "sort": {
        "description": "Sorting options that control the order of the search results.",
        "type": "object",
        "properties": {
          "by": {
            "description": "Defines how the search results are sorted.",
            "type": "string",
            "enum": [
              "highest_review_score",
              "highest_weighted_review_score",
              "lowest_price_first",
              "most_popular",
              "nearest_location",
              "trending"
            ],
            "x-enumDescriptions": {
              "highest_review_score": "Shows products with the highest average review score first.",
              "highest_weighted_review_score": "Orders products by a weighted review score. A product's priority increases with a higher rating, with the weight based on the number of reviews it has.",
              "lowest_price_first": "Displays products with the lowest price first.",
              "most_popular": "Orders products based on the highest number of reservations in the last 30 days.",
              "nearest_location": "When using the coordinates search criterion, displays products closest to the provided search coordinates first.",
              "trending": "Orders products based on predicted scores from a machine learning model."
            }
          }
        }
      },
      "SearchBase": {
        "type": "object",
        "properties": {
          "attractions": {
            "description": "IDs of the attractions to search for. The response includes attractions that match the requested IDs. IDs that do not match an attraction are ignored and do not cause an error. If none of the requested IDs match an attraction, the endpoint returns HTTP 200 with an empty `data` array.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 100
          },
          "cities": {
            "description": "Search for attractions located in one or more cities. Use city IDs obtained from [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cityId-2"
            },
            "minItems": 1,
            "maxItems": 5
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinatesInput"
          },
          "countries": {
            "description": "Search for attractions located in one or more countries. Use ISO 3166-1 alpha-2 country codes obtained from [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z]{2}$",
              "example": "nl"
            },
            "minItems": 1,
            "maxItems": 3
          },
          "points_of_interest": {
            "description": "Search for attractions associated with one or more points of interest (large venues or landmarks, such as a museum or a monument). Use IDs returned by `/attractions/points-of-interest` or the `points_of_interest` field of `/attractions/details`. These IDs are not the landmark IDs returned by `/common/locations/landmarks`.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "example": 107029
            },
            "minItems": 1,
            "maxItems": 10
          },
          "currency": {
            "description": "A three-letter ISO 4217 currency code that defines the currency used for pricing in the response, for example: `EUR` or `USD`. n/See <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a> for the full list of supported currencies.",
            "$ref": "#/components/schemas/currencyId-2"
          },
          "dates": {
            "$ref": "#/components/schemas/datesInput"
          },
          "filters": {
            "$ref": "#/components/schemas/filtersInput"
          },
          "page": {
            "description": "Pagination token used to retrieve the next page of results. Omit this parameter on the first request and use the value returned in `metadata.next_page` for subsequent pages.",
            "type": "string"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "default": 20
          },
          "sort": {
            "$ref": "#/components/schemas/sort"
          }
        },
        "required": [
          "currency",
          "dates"
        ]
      },
      "attractionsSearchInput": {
        "oneOf": [
          {
            "title": "Search by Attraction IDs",
            "description": "Search for specific attractions by their IDs. Results are limited to the specified attractions.",
            "example": {
              "currency": "EUR",
              "attractions": [
                "PR0dwCIbnsiU",
                "AFd2wcIjMauX"
              ],
              "dates": {
                "start_date": "2026-09-18",
                "end_date": "2026-09-20"
              },
              "rows": 50,
              "sort": {
                "by": "most_popular"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchBase"
              },
              {
                "type": "object",
                "required": [
                  "attractions"
                ],
                "properties": {
                  "cities": false,
                  "countries": false,
                  "coordinates": false,
                  "points_of_interest": false
                }
              }
            ]
          },
          {
            "title": "Search by City IDs",
            "description": "Search for attractions located in the specified cities. Use city IDs obtained from /common/location/cities response.",
            "example": {
              "currency": "EUR",
              "cities": [
                -2140479,
                -2154955
              ],
              "dates": {
                "start_date": "2026-10-01",
                "end_date": "2026-10-07"
              },
              "rows": 50,
              "sort": {
                "by": "most_popular"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchBase"
              },
              {
                "type": "object",
                "required": [
                  "cities"
                ],
                "properties": {
                  "attractions": false,
                  "countries": false,
                  "coordinates": false,
                  "points_of_interest": false
                }
              }
            ]
          },
          {
            "title": "Search by Country Codes",
            "description": "Search for attractions located in the specified countries. Use ISO 3166-1 alpha-2 country codes obtained from /common/locations/countries response.",
            "example": {
              "currency": "EUR",
              "countries": [
                "nl",
                "fr"
              ],
              "dates": {
                "start_date": "2026-12-24",
                "end_date": "2026-12-26"
              },
              "filters": {
                "rating": {
                  "minimum_review_score": 4.5,
                  "minimum_review_count": 50
                },
                "supported_languages": [
                  "en-gb",
                  "es"
                ],
                "categories": [
                  "PTCMCuXtHgrC",
                  "PTCMCY1Fkppn"
                ]
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchBase"
              },
              {
                "type": "object",
                "required": [
                  "countries"
                ],
                "properties": {
                  "attractions": false,
                  "cities": false,
                  "coordinates": false,
                  "points_of_interest": false
                }
              }
            ]
          },
          {
            "title": "Search by Coordinates",
            "description": "Search for attractions near the specified geographic coordinates.",
            "example": {
              "currency": "GBP",
              "coordinates": {
                "latitude": 51.509865,
                "longitude": -0.118092,
                "radius": 10
              },
              "dates": {
                "start_date": "2026-12-24",
                "end_date": "2026-12-26"
              },
              "rows": 50,
              "sort": {
                "by": "most_popular"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchBase"
              },
              {
                "type": "object",
                "required": [
                  "coordinates"
                ],
                "properties": {
                  "attractions": false,
                  "cities": false,
                  "countries": false,
                  "points_of_interest": false
                }
              }
            ]
          },
          {
            "title": "Search by Point of interest IDs",
            "description": "Search for attractions associated with the specified points of interest. Use IDs returned by /attractions/points-of-interest or the points_of_interest field of the /attractions/details response.",
            "example": {
              "currency": "EUR",
              "points_of_interest": [
                107029
              ],
              "dates": {
                "start_date": "2026-10-01",
                "end_date": "2026-10-07"
              },
              "rows": 50,
              "sort": {
                "by": "most_popular"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchBase"
              },
              {
                "type": "object",
                "required": [
                  "points_of_interest"
                ],
                "properties": {
                  "attractions": false,
                  "cities": false,
                  "countries": false,
                  "coordinates": false
                }
              }
            ]
          }
        ]
      },
      "attractionId": {
        "description": "Uniquely identifies an attraction.",
        "type": "string"
      },
      "monetaryAmount-2": {
        "type": "number",
        "multipleOf": 0.01,
        "exclusiveMinimum": 0
      },
      "totalPrice": {
        "description": "The total price. Includes all extra charges.",
        "$ref": "#/components/schemas/monetaryAmount-2"
      },
      "attractionPrice": {
        "description": "Pricing information for the cheapest available adult offer for the attraction.",
        "type": "object",
        "properties": {
          "currency": {
            "description": "Currency in which the price is returned.",
            "$ref": "#/components/schemas/currencyId-2"
          },
          "total": {
            "description": "The total price. Includes all extra charges.",
            "$ref": "#/components/schemas/totalPrice"
          }
        }
      },
      "urls": {
        "type": "object",
        "description": "Platform-specific URLs for viewing this item.",
        "example": {
          "app": {
            "detail": "booking://attractions/product?slug=prvlvlwpbs1m-moco-museum-amsterdam-official-tickets&aid=956509",
            "search_results": "booking://attractions/searchresults?ufi=-2140479&pinned_product_id=PRvlvlWPbS1M&aid=956509"
          },
          "web": {
            "detail": "https://www.booking.com/attractions/nl/prvlvlwpbs1m-moco-museum-amsterdam-official-tickets.en-gb.html?selected_currency=EUR&aid=956509",
            "search_results": "https://www.booking.com/attractions/searchresults/nl/amsterdam.en-gb.html?dest_id=-2140479&pinned_product=PRvlvlWPbS1M&selected_currency=EUR&aid=956509"
          }
        },
        "properties": {
          "app": {
            "type": "object",
            "properties": {
              "detail": {
                "description": "URL to view the attraction detail page in the app.",
                "type": "string",
                "format": "uri"
              },
              "search_results": {
                "description": "URL to view the attraction within search results in the app.",
                "type": "string",
                "format": "uri"
              }
            }
          },
          "web": {
            "type": "object",
            "properties": {
              "detail": {
                "description": "URL to view the attraction detail page on the website.",
                "type": "string",
                "format": "uri"
              },
              "search_results": {
                "description": "URL to view the attraction within the website search results page.",
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      },
      "attraction": {
        "type": "object",
        "description": "Basic information about an attraction returned by the search.",
        "properties": {
          "id": {
            "description": "Unique identifier of the attraction.",
            "$ref": "#/components/schemas/attractionId"
          },
          "free_cancellation": {
            "description": "Indicates whether the attraction offers free cancellation.",
            "type": "boolean"
          },
          "price": {
            "$ref": "#/components/schemas/attractionPrice"
          },
          "urls": {
            "$ref": "#/components/schemas/urls"
          }
        }
      },
      "metadata": {
        "title": "MetadataOutput",
        "description": "Metadata about the request.",
        "type": "object",
        "properties": {
          "next_page": {
            "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
            "type": "string",
            "nullable": true
          },
          "total_results": {
            "description": "The total number of results available.",
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "attractionsSearchOutput": {
        "type": "object",
        "description": "Response object containing the list of matching attractions, pagination metadata, and a unique request identifier.",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attraction"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          },
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          }
        }
      },
      "DetailsBase": {
        "title": "AttractionsDetailsBase",
        "type": "object",
        "properties": {
          "attractions": {
            "description": "IDs of the attractions to retrieve details for. The response includes details for attractions that match the requested IDs. IDs that do not match an attraction are ignored and do not cause an error. If none of the requested IDs match an attraction, the endpoint returns HTTP 200 with an empty `data` array.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionId"
            },
            "minItems": 1,
            "maxItems": 100
          },
          "cities": {
            "description": "Search by city ID. Retrieve the full list of supported cities IDs from the /common/location/cities endpoint.",
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/cityId-2"
            }
          },
          "countries": {
            "description": "Search by country code. Retrieve the full list of supported country codes from the /common/locations/countries endpoint. Maximum 3 countries per request.",
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "type": "string",
              "pattern": "^[a-z]{2}$",
              "example": "nl"
            }
          },
          "languages": {
            "description": "The language in which attraction details are returned. Must be an IETF BCP 47 language code (e.g., 'fr').",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "[a-z]{2}(-[a-z]{2})?"
            },
            "maxItems": 1,
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "description": "Pagination token used to retrieve the next page of results. Obtained from `metadata.next_page`",
            "type": "string"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "default": 20,
            "minimum": 10,
            "maximum": 500
          }
        }
      },
      "attractionsInput": {
        "title": "AttractionsDetailsInput",
        "oneOf": [
          {
            "title": "Retrieve by Attraction IDs",
            "description": "Retrieve details for specific attractions using their IDs.",
            "example": {
              "attractions": [
                "PRTcWzDlwXjP",
                "PRahAzWtTraa",
                "PRAmdacCwQLH"
              ],
              "languages": [
                "en-gb"
              ],
              "rows": 50
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/DetailsBase"
              },
              {
                "type": "object",
                "required": [
                  "attractions"
                ],
                "properties": {
                  "cities": false,
                  "countries": false
                }
              }
            ]
          },
          {
            "title": "Retrieve by City IDs",
            "description": "Retrieve details for attractions located in the specified cities. Use city IDs obtained from /common/location/cities response.",
            "example": {
              "cities": [
                -2156821,
                -2140479
              ],
              "languages": [
                "en-gb"
              ],
              "rows": 50
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/DetailsBase"
              },
              {
                "type": "object",
                "required": [
                  "cities"
                ],
                "properties": {
                  "attractions": false,
                  "countries": false
                }
              }
            ]
          },
          {
            "title": "Retrieve by Country Codes",
            "description": "Retrieve details for attractions located in the specified countries. Use ISO 3166-1 alpha-2 country codes obtained from /common/locations/countries response.",
            "example": {
              "countries": [
                "nl",
                "be"
              ],
              "languages": [
                "en-gb"
              ],
              "rows": 50
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/DetailsBase"
              },
              {
                "type": "object",
                "required": [
                  "countries"
                ],
                "properties": {
                  "attractions": false,
                  "cities": false
                }
              }
            ]
          }
        ]
      },
      "attractionImage": {
        "title": "AttractionsImageOutput",
        "description": "Image information.",
        "type": "object",
        "properties": {
          "url": {
            "description": "URL of the image.",
            "type": "string",
            "format": "uri"
          }
        }
      },
      "attractionCoordinates": {
        "title": "AttractionsCoordinatesOutput",
        "description": "Geographic coordinates.",
        "type": "object",
        "properties": {
          "latitude": {
            "description": "The latitude.",
            "type": "number"
          },
          "longitude": {
            "description": "The longitude.",
            "type": "number"
          }
        }
      },
      "attractionLocation": {
        "title": "AttractionsLocationOutput",
        "description": "Location details for the attraction.",
        "type": "object",
        "properties": {
          "address": {
            "description": "The address.",
            "type": "string"
          },
          "city": {
            "$ref": "#/components/schemas/cityId-2"
          },
          "coordinates": {
            "$ref": "#/components/schemas/attractionCoordinates"
          },
          "country": {
            "$ref": "#/components/schemas/countryId-2"
          },
          "post_code": {
            "description": "The post code.",
            "type": "string"
          },
          "type": {
            "description": "The type of location.",
            "type": "string",
            "enum": [
              "arrival",
              "attraction",
              "departure",
              "entrance",
              "guest_pickup",
              "meeting",
              "pickup"
            ],
            "x-enumDescriptions": {
              "arrival": "The location where the tour or experience ends.",
              "attraction": "The location where the experience takes place or can be accessed, such as a landmark, shop, museum, or restaurant.",
              "departure": "The location where the tour or experience starts, typically for day trips or multi-stop tours.",
              "entrance": "The entrance point for an attraction when it has multiple access points or entry locations.",
              "guest_pickup": "The location where travellers are collected before the tour or experience begins.",
              "meeting": "The designated meeting point for participants before starting the experience, often used for guided tours.",
              "pickup": "The location where travellers can collect their tickets before joining the experience."
            }
          }
        }
      },
      "localisedString": {
        "description": "A string localised in multiple languages.",
        "type": "object",
        "patternProperties": {
          "[a-z]{2}(-[a-z]{2})": {
            "description": "The content localised in this language.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "rating-2": {
        "title": "AttractionsDetailsRatingOutput",
        "description": "User rating information.",
        "type": "object",
        "properties": {
          "number_of_reviews": {
            "description": "Number of ratings.",
            "type": "integer",
            "minimum": 0
          },
          "score": {
            "description": "Average rating value.",
            "type": "number",
            "minimum": 0,
            "maximum": 5
          }
        }
      },
      "attractionDetails": {
        "title": "AttractionsDetailsDataOutput",
        "description": "All static information related to an attraction.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies the attraction.",
            "$ref": "#/components/schemas/attractionId"
          },
          "badges": {
            "description": "Badges that indicate notable selling points of the attraction. Examples include `best_seller` or `guest_pickup`.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "best_seller",
                "direct_admission",
                "free_cancellation",
                "guest_pickup",
                "itinerary_duration",
                "itinerary_private_tour",
                "itinerary_skip_the_line",
                "new_product",
                "service_animals_allowed"
              ]
            }
          },
          "categories": {
            "description": "IDs of the categories the attraction belongs to. Both root categories and subcategories are included.\n\n- Call the `/attractions/constants` endpoint to map each ID to a localised category name and its parent category.\n- Any of these IDs can be used as a `filters.categories` value in `/attractions/search`.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "PTCMCuXtHgrC"
            }
          },
          "duration": {
            "description": "Estimated time spent in attraction (ISO 8601 duration format).  Example: PT2H = 2 hours.",
            "type": "string",
            "example": "PT2H",
            "pattern": "^P(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$"
          },
          "photos": {
            "description": "Images of the attraction.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionImage"
            }
          },
          "points_of_interest": {
            "description": "IDs of the points of interest (large venues or landmarks, such as a museum or a monument) associated with the attraction. An attraction is associated with a point of interest when it takes place there, or when it visits or passes it. For example, a canal cruise that passes the Rijksmuseum can carry the Rijksmuseum ID. Use these IDs to group attractions related to the same venue.\n\n- Empty when the attraction is not linked to any point of interest, which is the case for most smaller attractions.\n- Can contain several IDs, for example for a tour that visits multiple venues.\n- These IDs are not the landmark IDs returned by `/common/locations/landmarks`.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "example": 109912
            }
          },
          "locations": {
            "description": "Location information for the attraction.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionLocation"
            }
          },
          "long_description": {
            "description": "Detailed description of the attraction.",
            "$ref": "#/components/schemas/localisedString"
          },
          "name": {
            "description": "The attraction's display name.",
            "$ref": "#/components/schemas/localisedString"
          },
          "ratings": {
            "$ref": "#/components/schemas/rating-2"
          },
          "supported_languages": {
            "description": "List of languages this attraction is available in. For example: A city tour available in Spanish and German.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "[a-z]{2}(-[a-z]{2})?"
            }
          },
          "urls": {
            "$ref": "#/components/schemas/urls"
          }
        }
      },
      "attractionsOutput": {
        "title": "AttractionsDetailsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionDetails"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          }
        }
      },
      "attractionsPointsOfInterestInput": {
        "title": "AttractionsPointsOfInterestInput",
        "type": "object",
        "properties": {
          "cities": {
            "description": "Return points of interest in one or more cities. Use city IDs obtained from [/common/locations/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities) endpoint. Cannot be combined with `countries`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cityId-2"
            },
            "minItems": 1,
            "maxItems": 5
          },
          "countries": {
            "description": "Return points of interest in one or more countries. Use ISO 3166-1 alpha-2 country codes obtained from [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries) endpoint. Cannot be combined with `cities`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/countryId-2"
            },
            "minItems": 1,
            "maxItems": 3
          },
          "languages": {
            "description": "List of language codes used to localise point of interest names. Each name is returned as an object keyed by language code.\n\n- If a translation is not available, the name is returned in the language Booking.com has for that point of interest.\n- Up to 10 languages per request.\n- If not provided, `en-gb` is used by default.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "minItems": 1,
            "maxItems": 10,
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 500
          }
        },
        "not": {
          "required": [
            "cities",
            "countries"
          ]
        }
      },
      "attractionPointOfInterest": {
        "title": "AttractionsPointOfInterestOutput",
        "description": "A point of interest that attractions are associated with.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies the point of interest. Use it in the `points_of_interest` search criterion of `/attractions/search`.",
            "type": "integer",
            "format": "int64",
            "example": 107038
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "coordinates": {
            "$ref": "#/components/schemas/attractionCoordinates"
          },
          "city": {
            "$ref": "#/components/schemas/cityId-2"
          },
          "country": {
            "$ref": "#/components/schemas/countryId-2"
          },
          "urls": {
            "title": "AttractionsPointOfInterestUrlsOutput",
            "description": "Links to the point of interest on Booking.com. Each link includes your affiliate ID.",
            "type": "object",
            "properties": {
              "web": {
                "type": "object",
                "properties": {
                  "search_results": {
                    "description": "Links to the point of interest's search results page, which lists attractions associated with it. Links are keyed by language code. A page can be empty when no attractions are currently associated with the point of interest.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "format": "uri"
                    },
                    "example": {
                      "en-gb": "https://www.booking.com/attractions/searchresults/fr/dr9brl1gypih-rodin-museum.en-gb.html?aid=111111"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "attractionsPointsOfInterestOutput": {
        "title": "AttractionsPointsOfInterestOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionPointOfInterest"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          }
        }
      },
      "input-3": {
        "title": "AttractionsReviewsInput",
        "type": "object",
        "properties": {
          "attraction": {
            "description": "Uniquely identifies an attraction to retrieve reviews for.",
            "$ref": "#/components/schemas/attractionId"
          },
          "language": {
            "description": "The language for reviews content. IETF BCP 47 language code.",
            "type": "string",
            "pattern": "[a-z]{2}(-[a-z]{2})?"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "rows": {
            "description": "The maximum number of results to return per page.",
            "type": "integer",
            "multipleOf": 10,
            "minimum": 10,
            "maximum": 100,
            "default": 10
          }
        },
        "required": [
          "attraction"
        ]
      },
      "review": {
        "title": "AttractionsReviewDataOutput",
        "description": "List of reviews for the requested attraction.",
        "type": "object",
        "properties": {
          "attraction": {
            "description": "Unique identifier of the attraction.",
            "$ref": "#/components/schemas/attractionId"
          },
          "id": {
            "description": "Unique identifier of the review.",
            "type": "string"
          },
          "author": {
            "description": "Name of the review author.",
            "type": "string"
          },
          "author_country_code": {
            "description": "ISO 3166 country code of the review author.",
            "$ref": "#/components/schemas/countryId-2"
          },
          "rating": {
            "description": "Rating given in the review (1–5 scale).",
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "text": {
            "description": "Text content of the review.",
            "type": "string"
          },
          "language": {
            "description": "Language of the review content. IETF BCP 47 language code.",
            "type": "string",
            "pattern": "[a-z]{2}(-[a-z]{2})?"
          },
          "date": {
            "description": "Date when the review was submitted.",
            "type": "string",
            "format": "date"
          }
        }
      },
      "output-5": {
        "title": "AttractionsReviewsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/review"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          }
        }
      },
      "input-4": {
        "title": "AttractionsScoresInput",
        "type": "object",
        "properties": {
          "attractions": {
            "description": "Uniquely identifies attractions to retrieve review scores for.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionId"
            },
            "minItems": 1,
            "maxItems": 1
          }
        },
        "required": [
          "attractions"
        ]
      },
      "scoreDetail": {
        "title": "AttractionsScoreDetail",
        "type": "object",
        "properties": {
          "number_of_reviews": {
            "description": "Number of reviews contributing to this score.",
            "type": "integer",
            "minimum": 0
          },
          "score": {
            "description": "Average score for this category.",
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "example": 4.5
          }
        }
      },
      "breakdown-2": {
        "title": "AttractionsScoresBreakdown",
        "description": "Detailed breakdown of review scores for different aspects of the attraction.",
        "type": "object",
        "properties": {
          "easy_to_access": {
            "description": "Accessibility rating based on location, transport, and convenience",
            "$ref": "#/components/schemas/scoreDetail"
          },
          "facilities_rating": {
            "description": "Assessment of facilities such as restrooms, seating areas, or amenities",
            "$ref": "#/components/schemas/scoreDetail"
          },
          "quality_of_service": {
            "description": "Rating of staff professionalism, kindness, and helpfulness.",
            "$ref": "#/components/schemas/scoreDetail"
          },
          "value_of_experience": {
            "description": "Users' perception of the overall value for money.",
            "$ref": "#/components/schemas/scoreDetail"
          }
        }
      },
      "attractionScore": {
        "title": "AttractionScore",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the attraction.",
            "$ref": "#/components/schemas/attractionId"
          },
          "breakdown": {
            "$ref": "#/components/schemas/breakdown-2"
          }
        },
        "required": [
          "id",
          "breakdown"
        ]
      },
      "output-6": {
        "title": "AttractionsScoresOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attractionScore"
            }
          }
        }
      },
      "input-5": {
        "title": "AttractionsConstantsInput",
        "type": "object",
        "properties": {
          "languages": {
            "description": "List of language codes used to localise category names. Each category name is returned as an object keyed by language code.\n\n- If a requested language is not available, it may be omitted from the response.\n- If not provided, `en-gb` is used by default.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "maxItems": 50,
            "default": [
              "en-gb"
            ],
            "example": [
              "es"
            ]
          }
        }
      },
      "attractionCategory": {
        "title": "AttractionCategory",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the category.",
            "type": "string",
            "example": "PTCMCuXtHgrC"
          },
          "name": {
            "description": "The display name of the category translated into the requested languages, keyed by language code.",
            "$ref": "#/components/schemas/translatedString"
          },
          "parent": {
            "description": "The unique identifier of the parent category. Null for root categories. Use this field to reconstruct the category hierarchy.",
            "type": [
              "string",
              "null"
            ],
            "example": null
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "attractions_constants_output": {
        "title": "AttractionsConstantsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "object",
            "properties": {
              "categories": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/attractionCategory"
                }
              }
            }
          }
        }
      },
      "booker-2": {
        "description": "Defines the booker context.",
        "type": "object",
        "properties": {
          "country": {
            "description": "The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.",
            "$ref": "#/components/schemas/countryId"
          }
        },
        "required": [
          "country"
        ]
      },
      "driver": {
        "description": "Defines the driver context.",
        "type": "object",
        "properties": {
          "age": {
            "description": "Driver age. Affects the availability and price of the products.",
            "type": "integer",
            "minimum": 18,
            "maximum": 99
          }
        },
        "required": [
          "age"
        ]
      },
      "supplierId-2": {
        "description": "Supplier id.",
        "type": "integer"
      },
      "filters-2": {
        "description": "Defines the filtering criteria for refining the request results. It allows you to specify various parameters to narrow down the available car rental options based on specific attributes.",
        "type": "object",
        "properties": {
          "air_conditioning": {
            "description": "Filters the results to include car rentals with or without air conditioning. Setting this value to true will only return vehicles with air conditioning, while false will exclude them.",
            "type": "boolean"
          },
          "car_categories": {
            "description": "Filters the results based on the selected car categories.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "carriers",
                "compact_suv",
                "convertible",
                "estate",
                "large",
                "large_suv",
                "medium",
                "midsize_suv",
                "pickup",
                "premium",
                "small",
                "suvs"
              ],
              "x-enumDescriptions": {
                "carriers": "Vans or minivans designed for carrying larger groups or luggage.",
                "compact_suv": "Compact SUVs offering a balance of SUV versatility and city-friendly dimensions.",
                "convertible": "Vehicles with a retractable or removable roof for open-air driving.",
                "estate": "Station wagons or estate cars offering extra luggage space.",
                "large": "Large vehicles offering ample interior space and comfort.",
                "large_suv": "Full-size SUVs with maximum passenger and cargo space.",
                "medium": "Mid-sized vehicles offering a balance of comfort and fuel efficiency.",
                "midsize_suv": "Midsize SUVs providing more interior room and capability than compact models.",
                "pickup": "Pickup trucks with an open cargo bed, suitable for hauling and off-road use.",
                "premium": "High-end or luxury vehicles with premium features.",
                "small": "Compact cars ideal for city driving and short distances.",
                "suvs": "Sport Utility Vehicles offering higher ground clearance and versatility."
              }
            }
          },
          "depot_location_type": {
            "description": "Filters the results based on the type of depot location where the vehicle is picked up or dropped off.",
            "type": "string",
            "enum": [
              "in_terminal",
              "car_rental_centre",
              "outside_terminal",
              "airport_hotel",
              "shuttle_bus",
              "meet_greet",
              "trainstation",
              "downtown"
            ],
            "x-enumDescriptions": {
              "in_terminal": "Depot is located inside the airport terminal building.",
              "car_rental_centre": "Depot is located in a dedicated car rental centre on or near airport grounds.",
              "outside_terminal": "Depot is outside the terminal area, usually a short walk or drive away.",
              "airport_hotel": "Depot is located at or inside an airport hotel.",
              "shuttle_bus": "Depot requires a shuttle bus transfer from the airport or another meeting point.",
              "meet_greet": "A rental agent meets the traveller in person at an agreed pick-up point (e.g., arrivals hall).",
              "trainstation": "Depot is located in or near a train station.",
              "downtown": "Depot is located in a central/downtown city area."
            }
          },
          "fuel_types": {
            "description": "Filters the results by one or more fuel types.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "electric",
                "hybrid",
                "petrol_or_diesel",
                "plug_in_hybrid"
              ],
              "x-enumDescriptions": {
                "electric": "Fully electric vehicles.",
                "hybrid": "Self-charging hybrid vehicles.",
                "petrol_or_diesel": "Vehicles powered by petrol, diesel, or other conventional types, such as LPG, ethanol, hydrogen or multi-fuel.",
                "plug_in_hybrid": "Plug-in hybrid vehicles."
              }
            }
          },
          "mileage_type": {
            "description": "Filters the results based on the mileage type associated with the rental vehicle.",
            "type": "string",
            "enum": [
              "limited",
              "unlimited"
            ]
          },
          "number_of_seats": {
            "description": "Filters the results based on the number of seats in the vehicle. This allows you to specify a vehicle that can accommodate a specific number of passengers.",
            "type": "integer"
          },
          "price": {
            "description": "Filters the results to include only vehicles whose total rental price falls within the specified range (inclusive). Prices are evaluated in the requested currency.",
            "type": "object",
            "properties": {
              "maximum": {
                "description": "Returns only vehicles with a total rental price less than or equal to this value, in the requested currency. Omit to indicate no upper limit.",
                "type": "number",
                "format": "double"
              },
              "minimum": {
                "description": "Returns only vehicles with a total rental price greater than or equal to this value, in the requested currency. Omit to indicate no lower limit.",
                "type": "number",
                "format": "double"
              }
            }
          },
          "rating": {
            "description": "Filter vehicles by the minimum review score of the depot.",
            "type": "object",
            "properties": {
              "minimum_review_score": {
                "description": "Return only vehicles from depots with a review score greater than or equal to the specified value. Valid values range from 1 to 10.",
                "type": "integer",
                "minimum": 1,
                "maximum": 10
              }
            }
          },
          "supplier_ids": {
            "description": "Filters the results based on the supplier ID of the vehicle. This allows you to retrieve vehicles from specific suppliers. A maximum of 10 supplier IDs can be provided.",
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/supplierId-2"
            }
          },
          "transmission_type": {
            "description": "Filters the results based on the transmission type of the vehicle.",
            "type": "string",
            "enum": [
              "automatic",
              "manual"
            ]
          }
        }
      },
      "maximumResultsCarsSearch": {
        "description": "The maximum number of results to return for car searches.",
        "type": "integer",
        "multipleOf": 10,
        "minimum": 10,
        "maximum": 500,
        "default": 500
      },
      "paymentInput": {
        "type": "object",
        "properties": {
          "timings": {
            "description": "Filters the results to include only car rentals that offer the specified payment timings. Use this parameter to search for cars based on the timing of payment (e.g., payment upfront, partial payment, or payment at the depot).",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "pay_online_now",
                "pay_partially_online",
                "pay_at_pickup"
              ]
            }
          }
        }
      },
      "coordinates-3": {
        "title": "Coordinates",
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "routePointInput": {
        "description": "Defines the pickup or dropoff route point.",
        "type": "object",
        "properties": {
          "datetime": {
            "description": "Pickup / dropoff datetime. Must be a local datetime without timezone offset, in the format yyyy-MM-dd'T'HH:mm:ss.",
            "example": "2026-11-01T11:05:00",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"
          },
          "location": {
            "description": "Defines the pickup or dropoff location. Provide exactly one of airport, coordinates, or city.",
            "type": "object",
            "minProperties": 1,
            "maxProperties": 1,
            "additionalProperties": false,
            "properties": {
              "airport": {
                "description": "Search by airport using the airport's IATA code.",
                "$ref": "#/components/schemas/airportId"
              },
              "coordinates": {
                "description": "Search by geographic coordinates using latitude and longitude.",
                "$ref": "#/components/schemas/coordinates-3"
              },
              "city": {
                "description": "Search by city ID.",
                "$ref": "#/components/schemas/cityId"
              }
            }
          }
        },
        "required": [
          "datetime",
          "location"
        ]
      },
      "routeInput": {
        "description": "Defines the route context.",
        "type": "object",
        "properties": {
          "pickup": {
            "description": "Pick up location and time.",
            "$ref": "#/components/schemas/routePointInput"
          },
          "dropoff": {
            "description": "Drop off location and time.",
            "$ref": "#/components/schemas/routePointInput"
          }
        },
        "required": [
          "pickup",
          "dropoff"
        ]
      },
      "sort-2": {
        "description": "Defines how the search results are sorted. If omitted, results are sorted by the recommended option.",
        "type": "object",
        "required": [
          "by"
        ],
        "properties": {
          "by": {
            "description": "The criterion used to sort the search results.",
            "type": "string",
            "enum": [
              "recommended",
              "price",
              "distance",
              "review_score"
            ],
            "x-enumDescriptions": {
              "recommended": "Sort by the recommended order. This is the default when the sort parameter is omitted.",
              "price": "Sort by price in ascending order.",
              "distance": "Sort by distance in ascending order. Available only when both the pickup and dropoff locations are specified using latitude and longitude coordinates. Otherwise, the recommended sort order is applied.",
              "review_score": "Sort by review score in descending order."
            }
          }
        }
      },
      "cars_search_input": {
        "type": "object",
        "properties": {
          "booker": {
            "$ref": "#/components/schemas/booker-2"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "driver": {
            "$ref": "#/components/schemas/driver"
          },
          "filters": {
            "$ref": "#/components/schemas/filters-2"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResultsCarsSearch",
            "default": 500
          },
          "language": {
            "description": "Optional. Controls the language of the Booking.com web and app URLs returned in the response. If not specified, English (en-gb) is used.",
            "$ref": "#/components/schemas/languageId",
            "default": "en-gb"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "payment": {
            "description": "Payment-related input filters that allow you to narrow down car search results based on the payment timing options.",
            "$ref": "#/components/schemas/paymentInput"
          },
          "route": {
            "$ref": "#/components/schemas/routeInput"
          },
          "sort": {
            "$ref": "#/components/schemas/sort-2"
          }
        },
        "required": [
          "booker",
          "currency",
          "driver",
          "route"
        ]
      },
      "carFleetId": {
        "description": "This ID corresponds to a specific car model and supplier (fleet) combination, as returned by the /cars/details endpoint. Cache the details keyed by this ID and use it to match search results to your cached data.",
        "type": "integer",
        "minimum": 1
      },
      "categories": {
        "description": "The categories assigned to the car.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "carriers",
            "compact_suv",
            "convertible",
            "estate",
            "large",
            "large_suv",
            "medium",
            "midsize_suv",
            "pickup",
            "premium",
            "small",
            "suvs"
          ],
          "x-enumDescriptions": {
            "carriers": "Vans or minivans designed for carrying larger groups or luggage.",
            "compact_suv": "Compact SUVs offering a balance of SUV versatility and city-friendly dimensions.",
            "convertible": "Vehicles with a retractable or removable roof for open-air driving.",
            "estate": "Station wagons or estate cars offering extra luggage space.",
            "large": "Large vehicles offering ample interior space and comfort.",
            "large_suv": "Full-size SUVs with maximum passenger and cargo space.",
            "medium": "Mid-sized vehicles offering a balance of comfort and fuel efficiency.",
            "midsize_suv": "Midsize SUVs providing more interior room and capability than compact models.",
            "pickup": "Pickup trucks with an open cargo bed, suitable for hauling and off-road use.",
            "premium": "High-end or luxury vehicles with premium features.",
            "small": "Compact cars ideal for city driving and short distances.",
            "suvs": "Sport Utility Vehicles offering higher ground clearance and versatility."
          }
        }
      },
      "dealsOutput": {
        "title": "Deal",
        "description": "This specifies the deal tagging for the product.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "discount_percentage": {
            "description": "Discount percentage of the applied deals.",
            "type": "integer",
            "minimum": 1
          },
          "public_price": {
            "description": "Original price of this product, before applying any discounts.",
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "tags": {
            "description": "The tags of all the applied deals.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "black_friday",
                "getaway_deal",
                "mobile_rate"
              ]
            }
          }
        }
      },
      "offerId": {
        "description": "This ID identifies the car rental offer and its associated policies. Include it when calling the /cars/availability endpoint.",
        "type": "integer",
        "minimum": 1
      },
      "cancellationOutput": {
        "description": "The cancellation policy that applies to this product.",
        "type": "object",
        "properties": {
          "details": {
            "description": "Provides the policy details if the cancellation is free. For example: \n 1. duration='PT48H' and context=before_pickup means 'Free cancellation is available up to 48 hrs before pick up'. \n 2. duration='P7D' and context=within_given_time_period_of_booking means 'Free cancellation is available within 7 days of booking'",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "context": {
                "description": "The context in which the cancellation policy applies. For example 'before_pickup'",
                "type": "string",
                "enum": [
                  "before_pickup",
                  "within_given_time_period_of_booking"
                ]
              },
              "duration": {
                "description": "The duration until which the cancellation is free. This is in ISO-8601/Duration format.",
                "type": "string",
                "pattern": "^P(?:\\dY)?(?:\\dM)?(?:\\dD)?(?:T(?:\\dH)?(?:\\dM)?(?:\\dS)?)?$"
              }
            }
          },
          "type": {
            "description": "The type of cancellation present. For example 'free_cancellation' or 'non-refundable'.",
            "type": "string",
            "enum": [
              "free_cancellation",
              "non-refundable"
            ]
          }
        }
      },
      "mileageOutput": {
        "description": "The mileage policy that applies to this product.",
        "type": "object",
        "properties": {
          "amount": {
            "description": "The amount that must be paid if the distance limit is exceeded.",
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "distance_limit": {
            "description": "The maximal distance limit allowed for this product before additional fees apply.",
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "minimum": 0
          },
          "distance_unit": {
            "description": "The unit of measurement for the distance limit. For example 'km' or 'miles'.",
            "type": "string",
            "enum": [
              "kilometers",
              "miles"
            ]
          },
          "type": {
            "description": "The type of mileage policy applied.",
            "type": "string",
            "enum": [
              "limited",
              "unlimited"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "paymentOutput": {
        "description": "The payment policy that applies to this product.",
        "type": "object",
        "properties": {
          "timing": {
            "description": "The applied payment timing. For example 'pay_online_now'.",
            "type": "string",
            "enum": [
              "pay_online_now",
              "pay_partially_online",
              "pay_at_pickup"
            ]
          }
        },
        "required": [
          "timing"
        ]
      },
      "policiesOutput": {
        "description": "The policies that apply to this product.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/cancellationOutput"
          },
          "damage_excess": {
            "description": "The maximum amount a traveller may be charged for damages to the car during the rental period, as specified by the rental agreement.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "description": "The amount to be charged.",
                "type": "number",
                "format": "double"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "deposit": {
            "description": "The amount of money that will be temporarily pre-authorised or blocked on the traveller’s credit card at the rental location as a security deposit, to cover potential damage or extra charges.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "description": "The amount to be charged.",
                "type": "number",
                "format": "double"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "insurance_package": {
            "description": "The supplier insurance package applied to this product by default. Use the insurance object instead when third-party insurance products are configured in your account.",
            "type": "string",
            "enum": [
              "basic",
              "inclusive",
              "zero_excess"
            ]
          },
          "fuel": {
            "description": "The fuel policy that applies to this product. Maps to the `fuel_policies` constant returned by the /cars/constants endpoint.",
            "type": "string",
            "enum": [
              "return_same",
              "return_same_or_prepay_no_refunds",
              "return_same_preauth",
              "free_tank",
              "prepay_no_refunds",
              "prepay_part_refunds",
              "prepay_refunds",
              "unknown"
            ]
          },
          "mileage": {
            "$ref": "#/components/schemas/mileageOutput"
          },
          "payment": {
            "$ref": "#/components/schemas/paymentOutput"
          },
          "theft_excess": {
            "description": "The maximum amount a traveller may be charged in the event of car theft during the rental period, as outlined in the rental agreement.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "description": "The amount to be charged.",
                "type": "number",
                "format": "double"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              }
            }
          }
        }
      },
      "chargeTypeId-2": {
        "description": "The type of this charge.",
        "type": "string"
      },
      "charge": {
        "title": "CarsCharge",
        "description": "Defines the charge, including the type of charge and its total amount.",
        "type": "object",
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/chargeTypeId-2"
          },
          "total_amount": {
            "description": "The total price for this charge.",
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "productPrice": {
        "description": "The price components of this product.",
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "credit_card_required": {
            "description": "Indicates whether a credit card is required as a guarantee for this vehicle.\n\n- true: A credit card must be provided and will be passed to the supplier for guarantee purposes. Applies to vehicles with 'payment.timing = pay_at_pickup'.\n- false: A credit card is explicitly not required.\n- null: Information not available or not applicable (for example, pay-online-now vehicles where credit card requirements are currently unknown).",
            "type": [
              "boolean",
              "null"
            ]
          },
          "extra_charges": {
            "title": "CarsProductExtraCharges",
            "description": "The charge breakdown. Includes taxes and fees included in the drive away price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/charge"
            }
          },
          "total": {
            "description": "The total price. Includes all extra charges.",
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "depotId-2": {
        "description": "Unique identifier of a depot. Retrieve the full list by calling the (/cars/depots](#/cars/depots).",
        "type": "integer",
        "minimum": 1,
        "example": 5944
      },
      "routePointOutput": {
        "description": "Defines the product pickup / dropoff route point.",
        "type": "object",
        "properties": {
          "depot": {
            "description": "The identifier of the depot used for pickup or dropoff.",
            "$ref": "#/components/schemas/depotId-2"
          },
          "depot_location_type": {
            "description": "Type of depot location where the vehicle is picked up or dropped off. For example, 'shuttle_bus', 'in_terminal', etc.",
            "type": "string",
            "enum": [
              "in_terminal",
              "car_rental_centre",
              "outside_terminal",
              "airport_hotel",
              "shuttle_bus",
              "meet_greet",
              "trainstation",
              "downtown"
            ]
          }
        }
      },
      "routeOutput": {
        "description": "Defines the actual route associated with the product.",
        "type": "object",
        "properties": {
          "pickup": {
            "description": "Defines the product pickup route point.",
            "$ref": "#/components/schemas/routePointOutput"
          },
          "dropoff": {
            "description": "Defines the product dropoff route point.",
            "$ref": "#/components/schemas/routePointOutput"
          }
        }
      },
      "insuranceOutput": {
        "description": "Third-party insurance product for this car rental. Only present for eligible partner configurations. Null if not available.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "name": {
            "description": "The display name of the insurance product.",
            "type": "string",
            "examples": [
              "Full Protection"
            ]
          },
          "id": {
            "description": "The identifier for the type of insurance product.",
            "type": "string",
            "examples": [
              "999"
            ]
          },
          "price": {
            "description": "The price of the insurance product for the full rental period.",
            "type": "object",
            "properties": {
              "amount": {
                "description": "The insurance price amount.",
                "$ref": "#/components/schemas/monetaryAmount"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              }
            }
          }
        }
      },
      "vehicleSupplierId": {
        "description": "Uniquely identifies a vehicle supplier. The full list can be obtained by calling [/cars/suppliers](#/cars/suppliers).",
        "type": "integer",
        "minimum": 1
      },
      "urlOutput": {
        "description": "Urls to the relevant pages.",
        "type": "object",
        "properties": {
          "app": {
            "description": "URL for the related page on Booking App.",
            "type": "string",
            "format": "uri"
          },
          "web": {
            "description": "URL for the related page on cars.booking.com.",
            "type": "string",
            "format": "uri"
          }
        }
      },
      "product-2": {
        "description": "Detailed information about car rental product.",
        "type": "object",
        "properties": {
          "car": {
            "$ref": "#/components/schemas/carFleetId"
          },
          "categories": {
            "$ref": "#/components/schemas/categories"
          },
          "deal": {
            "$ref": "#/components/schemas/dealsOutput"
          },
          "offer": {
            "$ref": "#/components/schemas/offerId"
          },
          "policies": {
            "$ref": "#/components/schemas/policiesOutput"
          },
          "price": {
            "$ref": "#/components/schemas/productPrice"
          },
          "route": {
            "$ref": "#/components/schemas/routeOutput"
          },
          "special_offer": {
            "description": "The special offer included with this product, if any. This can be an additional service, a free upgrade, or a promotional feature provided by the supplier. If no special offer applies, the value will be null.",
            "type": [
              "string",
              "null"
            ],
            "examples": [
              "upgrade"
            ],
            "enum": [
              "one_additional_driver",
              "two_additional_drivers",
              "three_additional_drivers",
              "all_additional_drivers",
              "gps",
              "baby_or_child_seat",
              "priority_pickup",
              "wifi_device",
              "sim_card",
              "upgrade",
              "black_friday",
              "getaway_deal",
              "mobile_rate"
            ]
          },
          "insurance": {
            "$ref": "#/components/schemas/insuranceOutput"
          },
          "supplier": {
            "description": "Related supplier id.",
            "$ref": "#/components/schemas/vehicleSupplierId"
          },
          "url": {
            "$ref": "#/components/schemas/urlOutput"
          },
          "estimated_commission": {
            "title": "EstimatedCommissionOutput",
            "description": "Estimated commission the partner may earn if the traveller books this car. Expressed in the selected currency and based on predictive modelling at search time. Only returned when the predicted commission feature is enabled for the partner. Omitted when the feature is unavailable or when a reliable estimate cannot be produced.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "description": "Estimated commission amount in the currency below.",
                "$ref": "#/components/schemas/monetaryAmount"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              }
            }
          }
        }
      },
      "cars_search_output": {
        "type": "object",
        "required": [
          "request_id",
          "data"
        ],
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/product-2"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          },
          "search_token": {
            "description": "Encoded string that must be passed in subsequent requests to identify the context of the car search. Note: It is specific to Car rentals and differs from other tokens used in booking flows.",
            "type": "string"
          }
        }
      },
      "cars_availability_input": {
        "type": "object",
        "properties": {
          "offer": {
            "$ref": "#/components/schemas/offerId"
          },
          "search_token": {
            "type": "string",
            "description": "The encoded search token obtained from the search results. This token is car-specific and essential for maintaining state between search and availability checks."
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "language": {
            "description": "Optional IETF language tag (e.g., 'en-gb', 'fr'). Controls the language of legal insurance documents (IPID and policy document).\nDefaults to 'en-gb' if the requested language is unavailable or not specified.\n\n Note: If mandatory insurance documents are unavailable in English, the insurance object is omitted.",
            "$ref": "#/components/schemas/languageId"
          }
        },
        "required": [
          "offer",
          "search_token",
          "currency"
        ]
      },
      "cancellationOutput-2": {
        "description": "The cancellation policy that applies to this product.",
        "type": "object",
        "properties": {
          "details": {
            "description": "Provides the policy details if the cancellation is free. For example: \n 1. duration='PT48H' and context=BEFORE_PICKUP means 'Free cancellation is available up to 48 hrs before pick up'. \n 2. duration='P7D' and context=WITHIN_GIVEN_TIME_PERIOD_OF_BOOKING means 'Free cancellation is available within 7 days of booking'",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "context": {
                "description": "The context in which the cancellation policy applies. For example 'before_pickup'",
                "type": "string",
                "enum": [
                  "before_pickup",
                  "within_given_time_period_of_booking"
                ]
              },
              "duration": {
                "description": "The duration until which the cancellation is free. This is in ISO-8601/Duration format.",
                "type": "string",
                "pattern": "^P(?:\\dY)?(?:\\dM)?(?:\\dD)?(?:T(?:\\dH)?(?:\\dM)?(?:\\dS)?)?$"
              }
            }
          },
          "type": {
            "description": "The type of cancellation present. For example 'free_cancellation' or 'non-refundable'.",
            "type": "string",
            "enum": [
              "free_cancellation",
              "non-refundable"
            ]
          }
        }
      },
      "mileageOutput-2": {
        "description": "The mileage policy that applies to this product.",
        "type": "object",
        "properties": {
          "distance_limit": {
            "description": "The maximum distance allowed before additional charges apply.",
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "minimum": 0
          },
          "distance_unit": {
            "description": "The unit of measurement for the distance limit. For example 'km' or 'miles'.",
            "type": "string",
            "enum": [
              "kilometers",
              "miles"
            ]
          },
          "amount": {
            "description": "The amount that must be paid if the distance limit is exceeded.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/monetaryAmount"
              },
              {
                "type": "null"
              }
            ]
          },
          "currency": {
            "description": "The currency of the amount that must be paid if the distance limit is exceeded.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/currencyId"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "description": "The type of mileage policy applied.",
            "type": "string",
            "enum": [
              "limited",
              "unlimited"
            ]
          }
        }
      },
      "paymentOutput-2": {
        "description": "The payment policy that applies to this product.",
        "type": "object",
        "properties": {
          "timing": {
            "description": "The applied payment timing. For example 'pay_online_now'.",
            "type": "string",
            "enum": [
              "pay_online_now",
              "pay_partially_online",
              "pay_at_pickup"
            ]
          }
        }
      },
      "policiesOutput-2": {
        "description": "The policies that apply to this product.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/cancellationOutput-2"
          },
          "damage_excess": {
            "type": "object",
            "properties": {
              "amount": {
                "description": "The maximum amount a traveller may be charged for damages to the car during the rental period, as specified by the rental agreement.",
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/monetaryAmount"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "deposit": {
            "type": "object",
            "properties": {
              "amount": {
                "description": "The amount of money that will be temporarily pre-authorised or blocked on the traveller’s credit card at the rental location as a security deposit, to cover potential damage or extra charges.",
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/monetaryAmount"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "insurance_package": {
            "description": "The supplier insurance package that applies to this product.",
            "type": "string",
            "enum": [
              "basic",
              "inclusive",
              "zero_excess"
            ]
          },
          "fuel": {
            "description": "The fuel policy that applies to this product. Maps to the `fuel_policies` constant returned by the /cars/constants endpoint.",
            "type": "string",
            "enum": [
              "return_same",
              "return_same_or_prepay_no_refunds",
              "return_same_preauth",
              "free_tank",
              "prepay_no_refunds",
              "prepay_part_refunds",
              "prepay_refunds",
              "unknown"
            ]
          },
          "mileage": {
            "$ref": "#/components/schemas/mileageOutput-2"
          },
          "payment": {
            "$ref": "#/components/schemas/paymentOutput-2"
          },
          "theft_excess": {
            "type": "object",
            "properties": {
              "amount": {
                "description": "The maximum amount a traveller may be charged in the event of car theft during the rental period, as outlined in the rental agreement.",
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/monetaryAmount"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        }
      },
      "chargeTypeIdOutput": {
        "description": "The type of this charge.",
        "type": "string"
      },
      "chargeOutput": {
        "description": "Defines the charge, including the type of charge and its total amount.",
        "type": "object",
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/chargeTypeIdOutput"
          },
          "total_amount": {
            "description": "The total price for this charge.",
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "priceOutput": {
        "description": "The price that applies to this vehicle.",
        "type": "object",
        "properties": {
          "base": {
            "description": "The base price of the vehicle.",
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "credit_card_required": {
            "description": "Indicates whether a credit card is required as a guarantee for this vehicle.\n\n- true: A credit card must be provided and will be passed to the supplier for guarantee purposes. Applies to vehicles with 'payment.timing = pay_at_pickup'.\n- false: A credit card is explicitly not required.\n- null: Information not available or not applicable (for example, pay-online-now vehicles where credit card requirements are currently unknown).",
            "type": [
              "boolean",
              "null"
            ]
          },
          "total": {
            "description": "The total price of the vehicle.",
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "extra_charges": {
            "description": "The charge breakdown. Includes taxes and fees included in the drive away price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargeOutput"
            }
          }
        }
      },
      "carMonetaryAmount": {
        "description": "A monetary amount with currency code.",
        "type": "object",
        "properties": {
          "value": {
            "description": "The numeric value of the amount.",
            "type": "number",
            "format": "double"
          },
          "currency": {
            "description": "The currency code.",
            "$ref": "#/components/schemas/currencyId"
          }
        }
      },
      "carMonetaryAmountWithTiming": {
        "description": "A monetary amount with currency code and the timing of payment. Use timing to indicate whether the amount is paid online now, partially online, or at pickup.",
        "type": "object",
        "properties": {
          "value": {
            "description": "The numeric value of the amount.",
            "type": "number",
            "format": "double"
          },
          "currency": {
            "description": "The currency code.",
            "$ref": "#/components/schemas/currencyId"
          },
          "timing": {
            "description": "The payment timing.",
            "type": "string",
            "enum": [
              "pay_online_now",
              "pay_partially_online",
              "pay_at_pickup"
            ]
          }
        }
      },
      "carsPriceOutput": {
        "description": "Price object containing the amount shown to the traveller (display) and the actual payment amount (pay) with timing information.",
        "type": "object",
        "properties": {
          "display": {
            "description": "The price displayed to the traveller, including applicable taxes or fees.",
            "$ref": "#/components/schemas/carMonetaryAmount"
          },
          "pay": {
            "description": "The actual payment amount and timing. Indicates whether the amount is paid online now, partially online, or at pickup.",
            "$ref": "#/components/schemas/carMonetaryAmountWithTiming"
          }
        }
      },
      "productPriceOutput": {
        "description": "Pricing information for the product, including display price and payment details.",
        "type": "object",
        "properties": {
          "unit_amount": {
            "description": "The price for a single unit of this product. Use mode to determine if it’s per day or per rental.",
            "$ref": "#/components/schemas/carsPriceOutput"
          }
        }
      },
      "productOutput": {
        "description": "Detailed information about optional extras available for the vehicle, including pricing, availability, and calculation rules.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the product."
          },
          "type": {
            "type": "string",
            "description": "Specifies the type of optional extra or service associated with the vehicle. For example, gps for a navigation system, baby_seat for a child seat, or wifi_router for mobile internet. Some values may represent similar extras because suppliers use different naming conventions for the same or comparable products.",
            "enum": [
              "additional_driver",
              "baby_seat",
              "bluetooth_handsfree_kit",
              "booster_seat",
              "child_booster_seat",
              "child_seat",
              "child_seat_isofix",
              "etc_card_electronic_toll_collection_card",
              "excess_protection",
              "fast_track",
              "gps",
              "infant_seat",
              "luggage_rack",
              "personal_travel_assistant",
              "queue_jump",
              "roof_rack",
              "ski_box",
              "ski_rack",
              "skierized_equipment",
              "snow_chains",
              "snow_tyres",
              "wifi_mobile",
              "wifi_router"
            ],
            "x-enumDescriptions": {
              "additional_driver": "Authorises an additional person to drive the vehicle.",
              "baby_seat": "Baby seat for infants up to around 12 months or 9 kg/20 lbs.",
              "bluetooth_handsfree_kit": "Bluetooth device for hands-free phone calls while driving.",
              "booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_seat": "Child seat for children around 1–3 years old, up to 18 kg/40 lbs.",
              "child_seat_isofix": "Child safety seat compatible with ISOFIX anchor points.",
              "etc_card_electronic_toll_collection_card": "Electronic toll collection card for automatic toll payments.",
              "excess_protection": "Covers the excess payable in the event of damage or theft.",
              "fast_track": "Equivalent to `queue_jump`.",
              "gps": "Satellite navigation device.",
              "infant_seat": "Infant seat for babies or young children.",
              "luggage_rack": "Additional luggage storage.",
              "personal_travel_assistant": "Travel assistance service.",
              "queue_jump": "Allows travellers to skip the standard queue at pickup.",
              "roof_rack": "Roof-mounted rack for carrying additional luggage or equipment.",
              "ski_box": "Roof-mounted enclosed storage box for skis or luggage.",
              "ski_rack": "Roof-mounted rack designed to transport skis.",
              "skierized_equipment": "Winter sports equipment.",
              "snow_chains": "Tyre chains for snow.",
              "snow_tyres": "Winter tyres.",
              "wifi_mobile": "Mobile WiFi hotspot providing internet access during the rental.",
              "wifi_router": "Portable WiFi router providing internet access."
            }
          },
          "maximum_available": {
            "type": "number",
            "format": "integer",
            "description": "Maximum number of units of this product that can be selected per booking."
          },
          "mode": {
            "type": "string",
            "description": "Defines how the product price is calculated. This determines whether pricing is applied per unit, per day, or for the full rental period.",
            "enum": [
              "each_per_day",
              "each_per_rental",
              "per_day",
              "per_rental"
            ],
            "x-enumDescriptions": {
              "each_per_day": "The price is charged per unit of the product, per day of the rental period. Total cost = unit price × quantity × number of rental days.",
              "per_day": "The price is charged once per day for the product, regardless of quantity. Total cost = daily price × number of rental days.",
              "each_per_rental": "The price is charged per unit for the full rental period. Total cost = unit price × quantity.",
              "per_rental": "The price is charged once for the entire rental period, regardless of quantity or duration."
            }
          },
          "price": {
            "$ref": "#/components/schemas/productPriceOutput"
          }
        }
      },
      "dealOutput": {
        "description": "This specifies the deal tagging for the product.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "discount_percentage": {
            "description": "Discount percentage of the applied deals.",
            "type": "integer",
            "minimum": 1
          },
          "public_price": {
            "description": "Original price of this product, before applying any discounts.",
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "tags": {
            "description": "The tags of all the applied deals.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "black_friday",
                "getaway_deal",
                "mobile_rate"
              ]
            }
          }
        }
      },
      "routePointOutput-2": {
        "description": "Defines the product pick up / drop off route point.",
        "type": "object",
        "properties": {
          "depot": {
            "description": "The identifier of the depot used for pick up or drop off.",
            "$ref": "#/components/schemas/depotId-2"
          },
          "depot_location_type": {
            "description": "The type of location for the depot.",
            "type": "string",
            "enum": [
              "in_terminal",
              "car_rental_centre",
              "outside_terminal",
              "airport_hotel",
              "shuttle_bus",
              "meet_greet",
              "trainstation",
              "downtown"
            ]
          }
        }
      },
      "routeOutput-2": {
        "description": "Defines the actual route associated with the product.",
        "type": "object",
        "properties": {
          "dropoff": {
            "description": "Defines the product drop off route point.",
            "$ref": "#/components/schemas/routePointOutput-2"
          },
          "pickup": {
            "description": "Defines the product pick up route point.",
            "$ref": "#/components/schemas/routePointOutput-2"
          }
        }
      },
      "insuranceDocument": {
        "title": "InsuranceDocument",
        "description": "A single insurance document.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The insurance document type.",
            "type": "string",
            "enum": [
              "policy_document",
              "ipid"
            ],
            "x-enumDescriptions": {
              "policy_document": "Full legal insurance contract: terms and conditions of cover, exclusions, eligibility, claim conditions, and cancellation terms.",
              "ipid": "Insurance Product Information Document (IPID): a short, compliance-focused summary of the key coverage information to help the traveller understand the insurance product before purchase."
            }
          },
          "url": {
            "description": "URL of the insurance document.",
            "type": "string",
            "format": "uri",
            "examples": [
              "https://staging.rentalcover.com/en/pds"
            ]
          }
        },
        "required": [
          "name",
          "url"
        ]
      },
      "insuranceOutput-2": {
        "description": "Detailed third-party insurance quote for this car rental. Returned only for eligible partner configurations (e.g., partners with a signed insurance contract), and when insurance is available for the selected offer (null if not available).\nThis object represents a bookable insurance product and includes pricing, coverage, and policy documentation.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "quote_reference": {
            "description": "Unique reference for this insurance quote. Expires after 90 minutes.",
            "type": "string",
            "examples": [
              "38df45ef-a6fb-4e24-a1d2-66fc3af23d76#1t0juiba8h6n2"
            ]
          },
          "name": {
            "description": "The display name of the insurance product.",
            "type": "string",
            "examples": [
              "Full Protection"
            ]
          },
          "id": {
            "description": "The identifier for the type of insurance product.",
            "type": "string",
            "examples": [
              "999"
            ]
          },
          "price": {
            "description": "The price of the insurance product for the full rental period.",
            "$ref": "#/components/schemas/carsPriceOutput"
          },
          "coverage_amount": {
            "description": "The maximum coverage amount provided by the insurance product.",
            "type": "object",
            "properties": {
              "value": {
                "description": "The numeric value of the maximum coverage.",
                "$ref": "#/components/schemas/monetaryAmount"
              },
              "currency": {
                "description": "The currency of the coverage amount.",
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "documents": {
            "description": "Legal documents for this insurance product. Always returned when the insurance object is present, and always contains the `policy_document` entry. The `ipid` entry is only included when an IPID applies (EEA and UK countries) and is available in the requested language.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/insuranceDocument"
            }
          }
        },
        "required": [
          "quote_reference",
          "name",
          "id",
          "price",
          "documents"
        ]
      },
      "cars_availability_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "object",
            "properties": {
              "offer": {
                "$ref": "#/components/schemas/offerId"
              },
              "currency": {
                "$ref": "#/components/schemas/currencyId"
              },
              "policies": {
                "$ref": "#/components/schemas/policiesOutput-2"
              },
              "price": {
                "$ref": "#/components/schemas/priceOutput"
              },
              "products": {
                "type": "array",
                "description": "A list of optional extras (e.g. child seats, GPS) available for this vehicle.",
                "items": {
                  "$ref": "#/components/schemas/productOutput"
                }
              },
              "deal": {
                "$ref": "#/components/schemas/dealOutput"
              },
              "special_offer": {
                "description": "The special offer included with this product, if any. This can be an additional service, a free upgrade, or a promotional feature provided by the supplier. If no special offer applies, the value is null.",
                "type": [
                  "string",
                  "null"
                ],
                "examples": [
                  "upgrade"
                ],
                "enum": [
                  "one_additional_driver",
                  "two_additional_drivers",
                  "three_additional_drivers",
                  "all_additional_drivers",
                  "gps",
                  "baby_or_child_seat",
                  "priority_pickup",
                  "wifi_device",
                  "sim_card",
                  "upgrade",
                  "black_friday",
                  "getaway_deal",
                  "mobile_rate"
                ]
              },
              "supplier": {
                "type": "number",
                "format": "integer",
                "description": "The unique identifier for the car rental supplier."
              },
              "route": {
                "$ref": "#/components/schemas/routeOutput-2"
              },
              "insurance": {
                "$ref": "#/components/schemas/insuranceOutput-2"
              },
              "estimated_commission": {
                "title": "EstimatedCommissionOutput",
                "description": "Estimated commission the partner may earn if the traveller books this car. Expressed in the selected currency and based on predictive modelling at search time. Only returned when the predicted commission feature is enabled for the partner. Omitted when the feature is unavailable or when a reliable estimate cannot be produced.",
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "amount": {
                    "description": "Estimated commission amount in the currency below.",
                    "$ref": "#/components/schemas/monetaryAmount"
                  },
                  "currency": {
                    "$ref": "#/components/schemas/currencyId"
                  }
                }
              }
            }
          }
        }
      },
      "cars_constants_input": {
        "title": "CarsConstantsInput",
        "type": "object",
        "properties": {
          "constants": {
            "description": "Use this field to limit the response to specific categories, such as fuel_policies, depot_services, customer_services, etc. If omitted, all constants are returned.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "car_categories",
                "customer_services",
                "depot_services",
                "depot_types",
                "extras",
                "special_offers",
                "fuel_policies",
                "fuel_types",
                "general",
                "payment_timings",
                "protection_levels",
                "review_scores",
                "transmission"
              ],
              "x-enumDescriptions": {
                "car_categories": "Vehicle categories used to group rental cars by size and type, such as economy, SUV, or premium.",
                "customer_services": "Customer support contact details per language.",
                "depot_services": "Services available at the car pick-up location.",
                "depot_types": "Types of car rental locations, such as airport, downtown, or train station.",
                "extras": "Optional add-ons such as child seats, GPS, or winter equipment.",
                "special_offers": "Included benefits or promotions bundled with the rental.",
                "fuel_policies": "Fuel handling policies for the rental.",
                "fuel_types": "Types of fuel supported by the vehicle.",
                "general": "General attributes and labels used across the Cars API.",
                "payment_timings": "When the traveller is charged for the booking.",
                "protection_levels": "Levels of insurance or protection coverage applied to the rental, affecting the traveller's financial liability.",
                "review_scores": "Categories used to evaluate customer reviews of rental experiences, such as cleanliness or pick-up speed.",
                "transmission": "Vehicle transmission types."
              }
            }
          },
          "languages": {
            "type": "array",
            "description": "List of language codes used to localise constant names. Each constant name is returned as a translated object keyed by language. If not provided, en-gb is used by default.",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          }
        }
      },
      "carsConstant": {
        "title": "CarsConstant",
        "description": "Represents a constant identifier and its translated display names for the requested languages.",
        "type": "array",
        "items": {
          "description": "Id and translated names for the constant. Some constants may represent bundled products rather than single items. For example, `skierized_equipment` refers to a winter sports package that typically includes a ski rack (up to 4 pairs of skis), an ice scraper, and winter or all-season tyres. Exact components may vary by supplier.",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "$ref": "#/components/schemas/translatedString"
            }
          }
        }
      },
      "cars_constants_output": {
        "title": "CarsConstantsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "ConstantsDataOutput",
            "description": "Contains constant groups keyed by constant type. Each group includes a list of constant identifiers and their translated names.",
            "type": "object",
            "properties": {
              "car_categories": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "customer_services": {
                "description": "Customer service contact details per language. For each requested language, the API returns the corresponding customer support email address. English uses the default address, while other languages include a language-specific suffix.",
                "$ref": "#/components/schemas/carsConstant"
              },
              "depot_services": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "depot_types": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "extras": {
                "description": "List of available extra products. Each item represents an optional add-on. Some extras may be bundled packages rather than individual items. For example, `skierized_equipment` refers to a winter sports package that typically includes a ski rack, ice scraper, and winter or all-season tyres.",
                "$ref": "#/components/schemas/carsConstant"
              },
              "special_offers": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "fuel_policies": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "fuel_types": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "general": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "payment_timings": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "protection_levels": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "review_scores": {
                "$ref": "#/components/schemas/carsConstant"
              },
              "transmission": {
                "$ref": "#/components/schemas/carsConstant"
              }
            }
          }
        }
      },
      "depots_input": {
        "type": "object",
        "properties": {
          "last_modified": {
            "description": "Returns depots modified after the specified timestamp (exclusive).",
            "example": "2026-03-01T11:05:00+00:00",
            "format": "date-time",
            "type": "string"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "languages": {
            "description": "List of language codes to return translated fields. If a translation is unavailable, the default language (`en-gb`) is returned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          }
        }
      },
      "contact-2": {
        "description": "Contact information of the depot. Returns `null` when unavailable.",
        "type": "object",
        "properties": {
          "email": {
            "description": "Email address of the depot. Returns `null` when unavailable.",
            "example": "depot@test.booking.com",
            "type": [
              "string",
              "null"
            ]
          },
          "telephone": {
            "description": "Telephone number of the depot. Returns `null` when unavailable.",
            "example": "+31882847620",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "city": {
        "description": "Unique identifier of the city where the depot is located. If the city ID is not included in the list returned by /common/locations/cities, call that endpoint using the city filter.",
        "type": "integer",
        "example": -1471393
      },
      "openingHoursRange": {
        "description": "Depot opening hours range.",
        "type": "object",
        "properties": {
          "closing_time": {
            "description": "Depot closing time",
            "example": "21:00:00",
            "format": "time",
            "type": "string"
          },
          "opening_time": {
            "description": "Depot opening time.",
            "example": "07:00:00",
            "format": "time",
            "type": "string"
          }
        }
      },
      "workingHours": {
        "description": "Opening and closing times per day of the week. Days may be omitted if the depot is closed.",
        "type": "object",
        "patternProperties": {
          "^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)$": {
            "description": "Working hours for the day.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/openingHoursRange"
            }
          }
        }
      },
      "instructions": {
        "description": "Pickup or drop-off information.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "instructions": {
            "description": "Translated pickup or drop-off instructions.",
            "$ref": "#/components/schemas/translatedString"
          },
          "working_hours": {
            "description": "Depot working hours.",
            "$ref": "#/components/schemas/workingHours"
          }
        }
      },
      "pickup": {
        "description": "Depot pickup instructions.",
        "$ref": "#/components/schemas/instructions"
      },
      "location": {
        "description": "Depot location information.",
        "type": "object",
        "properties": {
          "address": {
            "description": "Depot address information.",
            "example": "5 Aankomstpassage",
            "type": [
              "string",
              "null"
            ]
          },
          "airport": {
            "description": "Airport IATA code.",
            "example": "AMS",
            "type": [
              "string",
              "null"
            ]
          },
          "depot_location_type": {
            "description": "Specifies where the depot is located (for example, inside the terminal, at a train station, or downtown). Returns `null` when not defined.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "in_terminal",
              "car_rental_centre",
              "outside_terminal",
              "airport_hotel",
              "shuttle_bus",
              "meet_greet",
              "trainstation",
              "downtown"
            ],
            "x-enumDescriptions": {
              "in_terminal": "Depot is located inside the airport terminal building.",
              "car_rental_centre": "Depot is located in a dedicated car rental centre on or near airport grounds.",
              "outside_terminal": "Depot is outside the terminal area, usually a short walk or drive away.",
              "airport_hotel": "Depot is located at or inside an airport hotel.",
              "shuttle_bus": "Depot requires a shuttle bus transfer from the airport or another meeting point.",
              "meet_greet": "A rental agent meets the traveller in person at an agreed pick-up point (e.g., arrivals hall).",
              "trainstation": "Depot is located in or near a train station.",
              "downtown": "Depot is located in a central/downtown city area."
            }
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-3"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "name": {
            "description": "Translated depot name.",
            "allOf": [
              {
                "$ref": "#/components/schemas/translatedString"
              }
            ],
            "example": {
              "en-gb": "Amsterdam Airport Schiphol - Terminal 3"
            }
          },
          "post_code": {
            "description": "Depot post code",
            "example": "1118 AX",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "dropoff": {
        "description": "Drop-off instructions for the depot.",
        "$ref": "#/components/schemas/instructions"
      },
      "numberOfReviews": {
        "description": "Number of validated reviews for the depot.",
        "type": "integer",
        "example": 125,
        "minimum": 0
      },
      "reviewScore-2": {
        "description": "Current review score of the depot, in the range 1.0 to 10.0.",
        "type": "number",
        "example": 8.7,
        "multipleOf": 0.1,
        "minimum": 1,
        "maximum": 10
      },
      "ratings": {
        "description": "Review count and average score for the depot.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "number_of_reviews": {
            "$ref": "#/components/schemas/numberOfReviews"
          },
          "score": {
            "$ref": "#/components/schemas/reviewScore-2"
          }
        }
      },
      "depot": {
        "description": "Static information about the car rental depot.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique depot's ID.",
            "$ref": "#/components/schemas/depotId-2"
          },
          "contact": {
            "$ref": "#/components/schemas/contact-2"
          },
          "city": {
            "description": "Unique identifier of the city. If the city ID is not included in the list returned by /common/locations/cities, call that endpoint using the city filter.",
            "$ref": "#/components/schemas/city"
          },
          "pickup": {
            "description": "Pickup information for the depot.",
            "$ref": "#/components/schemas/pickup"
          },
          "location": {
            "$ref": "#/components/schemas/location"
          },
          "dropoff": {
            "description": "Drop-off information for the depot.",
            "$ref": "#/components/schemas/dropoff"
          },
          "services": {
            "description": "List of services provided by the depot.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "shuttle",
                "meet_greet",
                "unknown"
              ]
            }
          },
          "supplier": {
            "description": "Unique identifier of the vehicle supplier. You can see the full list of supplier IDs calling /cars/suppliers.",
            "$ref": "#/components/schemas/vehicleSupplierId"
          },
          "ratings": {
            "description": "Number of reviews and average score for the depot.",
            "$ref": "#/components/schemas/ratings"
          }
        }
      },
      "depots_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/depot"
            }
          },
          "metadata": {
            "description": "Metadata about the request.",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Pass this token to the `page` parameter to retrieve the next page of results.",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "cars_depots_scores_input": {
        "type": "object",
        "properties": {
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          }
        }
      },
      "breakdown_schema-2": {
        "description": "Review score information for a specific evaluation category.",
        "type": "object",
        "properties": {
          "score": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/score"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "breakdown-3": {
        "description": "Breakdown of review scores by evaluation category.",
        "type": "object",
        "properties": {
          "cleanliness": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "condition": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "drop_off_speed": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "friendliness": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "location": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "pick_up_speed": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          },
          "value_for_money": {
            "$ref": "#/components/schemas/breakdown_schema-2"
          }
        },
        "additionalProperties": false
      },
      "scores-2": {
        "description": "Review scores, rating breakdown, and review volume information for a depot.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/depotId-2"
          },
          "breakdown": {
            "$ref": "#/components/schemas/breakdown-3"
          },
          "number_of_reviews": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/numberOfReviews"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/reviewScore-2"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "cars_depots_scores_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/scores-2"
            }
          },
          "metadata": {
            "description": "Pagination metadata for the response.",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "cars_details_input": {
        "type": "object",
        "properties": {
          "last_modified": {
            "description": "The last modified date-time, only returns depots newer than this timestamp. The value should be within last 7 days",
            "example": "2023-11-01T11:05:00+00:00",
            "format": "date-time",
            "type": "string"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          }
        }
      },
      "carId": {
        "description": "Uniquely identifies a car specification. The full list can be obtained by calling [/cars/suppliers](#/cars/details).",
        "type": "integer",
        "minimum": 1
      },
      "capacity": {
        "description": "Car's capacity",
        "type": "object",
        "properties": {
          "bags": {
            "description": "Car's Baggage Capacity.",
            "type": "object",
            "properties": {
              "large": {
                "description": "Number of large bags.",
                "type": "number",
                "minimum": 0
              },
              "small": {
                "description": "Number of small bags.",
                "type": "number",
                "minimum": 0
              }
            },
            "nullable": true
          },
          "doors": {
            "description": "Number of doors in the car.",
            "type": "string"
          },
          "seats": {
            "description": "Number of seats in the car.",
            "type": "string"
          }
        }
      },
      "specification": {
        "properties": {
          "code": {
            "description": "Car's code in ACRISS Standard (https://www.acriss.org/car-codes/expanded-matrix/).",
            "type": "string"
          },
          "description": {
            "description": "Car Description Based on ACRISS Category and Type (https://www.acriss.org/car-codes/expanded-matrix/).",
            "type": "string"
          },
          "fuel": {
            "description": "Car's fuel type. Maps to the `fuel_types` constant returned by the /cars/constants endpoint.",
            "type": "string",
            "enum": [
              "electric",
              "petrol",
              "plug_in_hybrid",
              "multi_fuel",
              "diesel",
              "hybrid",
              "lpg",
              "hydrogen",
              "ethanol",
              "unspecified"
            ]
          },
          "transmission": {
            "description": "Car's transmission.",
            "type": "string",
            "enum": [
              "automatic",
              "manual"
            ]
          }
        }
      },
      "details": {
        "description": "All static information related to cars.",
        "properties": {
          "id": {
            "description": "Unique car's ID.",
            "$ref": "#/components/schemas/carId"
          },
          "capacity": {
            "$ref": "#/components/schemas/capacity"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "features": {
            "description": "List of possible car's features.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "air_conditioning",
                "all_wheel_drive"
              ]
            }
          },
          "image": {
            "description": "Car's image URL.",
            "type": "string"
          },
          "make": {
            "description": "Car's maker/brand.",
            "type": "string"
          },
          "model": {
            "description": "Car's model.",
            "type": "string"
          },
          "specification": {
            "description": "Car's specification.",
            "$ref": "#/components/schemas/specification"
          },
          "supplier": {
            "description": "Related supplier id.",
            "$ref": "#/components/schemas/vehicleSupplierId"
          }
        },
        "type": "object"
      },
      "cars_details_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/details"
            }
          },
          "metadata": {
            "description": "Metadata about the request.",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "cars_suppliers_input": {
        "type": "object",
        "properties": {
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "suppliers": {
            "description": "Defines the suppliers that should be returned. Without it all suppliers will be returned",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vehicleSupplierId"
            },
            "maxItems": 100
          }
        }
      },
      "supplier": {
        "description": "All static information related to an vehicle supplier.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/vehicleSupplierId"
          },
          "logo": {
            "description": "Supplier logo image URL.",
            "type": "string",
            "format": "uri"
          },
          "name": {
            "description": "Brand name of the vehicle supplier.",
            "type": "string"
          }
        }
      },
      "cars_suppliers_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/supplier"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          }
        }
      },
      "cars_terms_and_conditions_input": {
        "properties": {
          "offer": {
            "$ref": "#/components/schemas/offerId"
          },
          "currency": {
            "description": "The currency in ISO 4217 format (e.g., USD, EUR, GBP)",
            "example": "USD",
            "type": "string"
          },
          "language": {
            "description": "The language code (ISO 639-1 format) in which to return the terms and conditions.",
            "$ref": "#/components/schemas/languageId"
          },
          "search_token": {
            "description": "The pre-booking search_token used to fetch terms and conditions for a specific car rental offer. The search_token is returned by the search endpoint.",
            "type": "string"
          }
        },
        "required": [
          "offer",
          "currency",
          "search_token"
        ],
        "type": "object"
      },
      "terms": {
        "description": "The terms and conditions section.",
        "type": [
          "array",
          "null"
        ],
        "items": {
          "description": "A chapter in the terms and conditions document. Chapters contain one or more sections.",
          "type": "object",
          "properties": {
            "title": {
              "description": "Title of the chapter.",
              "type": "string"
            },
            "type": {
              "description": "Identifies this element as a chapter.",
              "enum": [
                "chapter"
              ],
              "type": "string"
            },
            "children": {
              "description": "List of sections contained within this chapter.",
              "type": "array",
              "items": {
                "description": "A section that belongs to this chapter.",
                "type": "object",
                "properties": {
                  "title": {
                    "description": "Title of the section.",
                    "type": "string"
                  },
                  "type": {
                    "description": "Identifies this element as a section.",
                    "enum": [
                      "section"
                    ],
                    "type": "string"
                  },
                  "children": {
                    "description": "List of clauses contained within this section.",
                    "type": "array",
                    "items": {
                      "description": "A clause that belongs to this section.",
                      "type": "object",
                      "properties": {
                        "title": {
                          "description": "Title of the clause.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Identifies this element as a clause.",
                          "enum": [
                            "clause"
                          ],
                          "type": "string"
                        },
                        "children": {
                          "description": "List of sub-clauses contained within this clause.",
                          "type": "array",
                          "items": {
                            "description": "A sub-clause that belongs to this clause.",
                            "type": "object",
                            "properties": {
                              "type": {
                                "description": "Identifies this element as a sub-clause.",
                                "enum": [
                                  "sub_clause"
                                ],
                                "type": "string"
                              },
                              "children": {
                                "description": "List of clause options contained within this sub-clause.",
                                "type": "array",
                                "items": {
                                  "description": "A clause option that belongs to this sub-clause.",
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "description": "Text content of the clause option with safe HTML formatting tags (e.g., `<strong>`, `<a>`, `<ul>`) and entities (e.g., `&euro;`, `&ndash;`)",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "Identifies this element as a clause option.",
                                      "enum": [
                                        "clause_option"
                                      ],
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "cars_terms_and_conditions_output": {
        "properties": {
          "data": {
            "type": "object",
            "description": "Terms and conditions content translated in the requested language, if specified.",
            "properties": {
              "terms_summary": {
                "type": "object",
                "description": "Structured summary of relevant rental terms, such as the deposit, damage excess, driver requirements and mileage.",
                "properties": {
                  "common": {
                    "properties": {
                      "credit_cards_allowed": {
                        "description": "Indicates whether the supplier accepts credit cards for the car rental deposit.",
                        "type": "boolean"
                      },
                      "debit_cards_allowed": {
                        "description": "Indicates whether the supplier accepts debit cards for the car rental deposit.",
                        "type": "boolean"
                      },
                      "driver_age": {
                        "description": "This is the driver age included in the car rental search request.",
                        "type": "integer"
                      },
                      "insurance_available": {
                        "description": "Indicates whether insurance is available for the rental.",
                        "type": "boolean"
                      },
                      "rental_duration": {
                        "description": "The duration of the rental in days.",
                        "type": "integer",
                        "minimum": 1
                      }
                    },
                    "type": "object"
                  },
                  "damage_excess": {
                    "description": "The damage excess section.",
                    "properties": {
                      "content": {
                        "description": "The content of the damage excess section.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "excess_value": {
                        "description": "The value of the damage excess.",
                        "type": "string"
                      },
                      "subtitle": {
                        "description": "The subtitle of the damage excess section.",
                        "type": "string"
                      },
                      "title": {
                        "description": "The title of the damage excess section.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "deposit": {
                    "description": "General information about the deposit.",
                    "properties": {
                      "accepted_cards": {
                        "description": "The accepted cards for the deposit.",
                        "items": {
                          "properties": {
                            "title": {
                              "description": "The title of the card.",
                              "type": "string"
                            },
                            "type": {
                              "description": "The type of card.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "accepted_cards_title": {
                        "description": "The title of the accepted cards section.",
                        "type": "string"
                      },
                      "content": {
                        "description": "The content of the deposit section.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "subtitle": {
                        "description": "The subtitle of the deposit section.",
                        "type": "string"
                      },
                      "title": {
                        "description": "The title of the deposit section.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "disclaimers": {
                    "description": "The disclaimers section.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "driver_and_license": {
                    "description": "The driver and license section.",
                    "properties": {
                      "needed_items": {
                        "description": "What you need in order to rent a car.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "title": {
                        "description": "The title of the driver and license section.",
                        "type": "string"
                      },
                      "top_text": {
                        "description": "The top text of the driver and license section.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "mileage": {
                    "description": "The mileage section.",
                    "properties": {
                      "content": {
                        "description": "The content of the mileage section.",
                        "type": "string"
                      },
                      "subtitle": {
                        "description": "The subtitle of the mileage section.",
                        "type": "string"
                      },
                      "title": {
                        "description": "The title of the mileage section.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              },
              "terms": {
                "$ref": "#/components/schemas/terms"
              }
            }
          },
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          }
        },
        "type": "object"
      },
      "destinationType": {
        "description": "The type of destination represented by an autocomplete suggestion.",
        "type": "string",
        "enum": [
          "airport",
          "hotel",
          "landmark",
          "city",
          "district",
          "region",
          "country"
        ]
      },
      "autoCompleteFilters": {
        "title": "AutoCompleteFilters",
        "description": "Filters the suggestions by destination type.",
        "type": "object",
        "properties": {
          "types": {
            "description": "Destination types to include in the results. If omitted from the request, suggestions may include any destination type.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/destinationType"
            }
          }
        }
      },
      "autoCompleteInput": {
        "title": "AutoCompleteInput",
        "description": "Request parameters for retrieving autocomplete suggestions.",
        "type": "object",
        "required": [
          "query",
          "country"
        ],
        "properties": {
          "query": {
            "description": "Free-text query used to generate suggestions. Leading and trailing whitespace is ignored when matching. Provide between 3 and 200 characters.",
            "type": "string",
            "minLength": 3,
            "maxLength": 200,
            "examples": [
              "ams",
              "amster",
              "amsterdam"
            ]
          },
          "language": {
            "description": "Language code used to localise names in the response. Only one language can be specified per request.",
            "$ref": "#/components/schemas/languageId",
            "default": "en-gb"
          },
          "country": {
            "description": "Lowercase ISO 3166-1 alpha-2 country code used as the primary country context for ranking suggestions.",
            "$ref": "#/components/schemas/countryId"
          },
          "filters": {
            "description": "Optional filters for restricting results by destination type. Omit this property to include all destination types.",
            "$ref": "#/components/schemas/autoCompleteFilters"
          }
        }
      },
      "autoCompleteLocation": {
        "title": "AutoCompleteLocation",
        "description": "Geographic details for a suggestion, such as its city, country or coordinates. Available fields depend on the destination type.",
        "type": "object",
        "properties": {
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "city_name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-3"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "country_name": {
            "$ref": "#/components/schemas/translatedString"
          }
        }
      },
      "autoCompleteResult": {
        "title": "AutoCompleteResultOutput",
        "description": "Represents a single ranked autocomplete suggestion with a display name in the requested language and geographic context.",
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/destinationType"
          },
          "name": {
            "description": "Display name in the requested language. Only one language key is returned.",
            "$ref": "#/components/schemas/translatedString"
          },
          "id": {
            "description": "The identifier of the destination. The format depends on the destination type.",
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/autoCompleteLocation"
          }
        }
      },
      "autoCompleteOutput": {
        "title": "AutoCompleteOutput",
        "description": "Ranked autocomplete suggestions.",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "description": "Suggestions ranked by relevance. This array is empty when no suggestions match the query.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/autoCompleteResult"
            }
          }
        }
      },
      "language": {
        "title": "LanguageOutput",
        "description": "The language code and its designation in the corresponding language.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/languageId"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "output-7": {
        "title": "LanguagesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/language"
            }
          }
        }
      },
      "airportInput": {
        "title": "AirportsInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "airport": {
        "title": "AirportOutput",
        "description": "The three-letter IATA airport code and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/airportId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        }
      },
      "airportOutput": {
        "title": "AirportsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/airport"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "citiesInput": {
        "title": "CitiesInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "city-2": {
        "title": "CityOutput",
        "description": "The city internal code and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/cityId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-3"
          }
        }
      },
      "citiesOutput": {
        "title": "CitiesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/city-2"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "countriesInput": {
        "title": "CountriesInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "country": {
        "title": "CountryOutput",
        "description": "The two-letter ISO2 country code and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/countryId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        }
      },
      "countriesOutput": {
        "title": "CountriesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/country"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "districtsInput": {
        "title": "DistrictsInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "district": {
        "title": "DistrictOutput",
        "description": "The district id and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/districtId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-3"
          }
        }
      },
      "districtsOutput": {
        "title": "DistrictsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/district"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "landmarksInput": {
        "title": "LandmarksInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "district": {
            "$ref": "#/components/schemas/districtId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "landmark": {
        "title": "LandmarkOutput",
        "description": "The landmark internal code and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          },
          "coordinates": {
            "$ref": "#/components/schemas/coordinates-3"
          }
        }
      },
      "landmarksOutput": {
        "title": "LandmarksOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/landmark"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "regionsInput": {
        "title": "RegionsInput",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          },
          "city": {
            "$ref": "#/components/schemas/cityId"
          },
          "country": {
            "$ref": "#/components/schemas/countryId"
          },
          "landmark": {
            "$ref": "#/components/schemas/landmarkId"
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "region": {
            "$ref": "#/components/schemas/regionId"
          },
          "rows": {
            "$ref": "#/components/schemas/maximumResults",
            "maximum": 1000
          }
        }
      },
      "region": {
        "title": "RegionOutput",
        "description": "The region id and the translated name(s).",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/regionId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        }
      },
      "regionsOutput": {
        "title": "RegionsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/region"
            }
          },
          "metadata": {
            "title": "MetadataOutput",
            "type": "object",
            "properties": {
              "next_page": {
                "description": "Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter `page`).",
                "type": "string",
                "nullable": true
              }
            }
          }
        }
      },
      "paymentCardId-2": {
        "description": "A signed integer number that uniquely identifies a payment type. Examples of payment types are the different credit and debit cards. The full list can be obtained by calling <a href=\"/demand/docs/open-api/3.2/demand-api/commonpayments/common/payments/cards\" target=\"_blank\">common/payments/cards</a>.",
        "type": "integer",
        "minimum": 1
      },
      "paymentCard": {
        "title": "PaymentCardOutput",
        "description": "The payment card identifier code and its designation in English.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/paymentCardId-2"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "output-8": {
        "title": "CardsDataOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/paymentCard"
            }
          }
        }
      },
      "input-6": {
        "title": "CurrenciesInput",
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          }
        }
      },
      "currency-2": {
        "title": "CurrencyOutput",
        "description": "The ISO 4217 currency code and its designation in the selected language.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/currencyId"
          },
          "name": {
            "$ref": "#/components/schemas/translatedString"
          }
        }
      },
      "output-9": {
        "title": "CurrenciesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/currency-2"
            }
          }
        }
      },
      "carProductInput": {
        "title": "CarProductInput",
        "description": "Input for selecting optional extras (for example, child seats or GPS).",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the add-on product returned by /cars/availability. The ID is scoped to the current search session and must match the selected offer.",
            "type": "string"
          },
          "amount": {
            "description": "Quantity of the selected add-on product returned by /cars/availability. Must be 1 or greater.",
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "amount"
        ]
      },
      "carInput": {
        "title": "OrdersPreviewCarInput",
        "description": "Additional information related to the car order. This field is mutually exclusive with accommodation; only one of them can be included in a request.",
        "type": "object",
        "properties": {
          "search_token": {
            "description": "Encoded string returned by the car search. Note: It is specific to Car rentals and differs from other tokens used in booking flows.",
            "type": "string"
          },
          "offer": {
            "$ref": "#/components/schemas/offerId"
          },
          "products": {
            "description": "List of additional products to add to the car rental (e.g., child seats, GPS, additional insurance).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carProductInput"
            }
          },
          "insurance": {
            "description": "Insurance details for this car rental. Include this to add third-party insurance to the booking. If omitted, the booking proceeds without insurance.",
            "type": "object",
            "properties": {
              "quote_reference": {
                "description": "The insurance quote reference obtained from /cars/availability.\nInclude this field to attach third-party insurance to the booking. If omitted, the booking proceeds without insurance.\nThe quote_reference must be valid and not expired. If invalid or expired, the request will fail or insurance will not be applied.",
                "type": "string"
              }
            },
            "required": [
              "quote_reference"
            ]
          },
          "language": {
            "description": "Optional. Specifies the language used for insurance documents (IPID and policy document) returned in the response.\n\nIf not provided, or if the requested language is not available, documents default to English (en-gb).\nIf English is also not available for the selected insurance product, the insurance object is not returned, as legally required documentation must be provided.\n\nNote: Uses IETF language tag format (for example, 'fr', 'de').",
            "$ref": "#/components/schemas/languageId"
          }
        },
        "required": [
          "search_token",
          "offer"
        ]
      },
      "booker-3": {
        "title": "OrdersPreviewBookerOutput",
        "description": "The booker's information.",
        "type": "object",
        "properties": {
          "country": {
            "description": "The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.",
            "type": "string",
            "pattern": "^[a-z]{2}$"
          },
          "platform": {
            "description": "The booker platform for showing the platform based deals and prices.",
            "type": "string",
            "enum": [
              "android",
              "desktop",
              "ios",
              "mobile",
              "tablet"
            ]
          },
          "travel_purpose": {
            "description": "The travel purpose of the booker.",
            "type": "string",
            "enum": [
              "business",
              "leisure"
            ]
          },
          "user_groups": {
            "description": "The user groups that the booker is a member of.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "authenticated"
              ]
            }
          }
        },
        "required": [
          "country",
          "platform"
        ]
      },
      "allocation-2": {
        "title": "OrdersPreviewAccommodationAllocationOutput",
        "description": "The exact allocation of guests to a room.",
        "type": "object",
        "properties": {
          "children": {
            "description": "The children ages for this room.",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            }
          },
          "number_of_adults": {
            "description": "The number of adults for this room.",
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "number_of_adults"
        ]
      },
      "productInput": {
        "title": "OrdersPreviewProductInput",
        "description": "Input parameter with the product id and the desired allocation for that product",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/productId"
          },
          "allocation": {
            "$ref": "#/components/schemas/allocation-2"
          }
        }
      },
      "accommodationInput": {
        "title": "OrdersPreviewAccommodationInput",
        "description": "Input parameter with the checkin and checkout date and all the accommodation products to be ordered. This field is mutually exclusive with car; only one of them can be included in a request.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/accommodationId"
          },
          "booker": {
            "$ref": "#/components/schemas/booker-3"
          },
          "checkin": {
            "$ref": "#/components/schemas/checkin"
          },
          "checkout": {
            "$ref": "#/components/schemas/checkout"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/productInput"
            }
          }
        },
        "required": [
          "id",
          "booker",
          "checkin",
          "checkout",
          "products"
        ]
      },
      "previewInput": {
        "title": "OrdersPreviewInput",
        "type": "object",
        "properties": {
          "car": {
            "$ref": "#/components/schemas/carInput"
          },
          "accommodation": {
            "$ref": "#/components/schemas/accommodationInput"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          }
        },
        "oneOf": [
          {
            "title": "Preview a car order",
            "description": "Use this option to preview pricing and policies for car rentals.",
            "example": {
              "currency": "EUR",
              "car": {
                "offer": 123456789,
                "search_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789",
                "products": [
                  {
                    "id": "001234567890",
                    "amount": 1
                  }
                ],
                "insurance": {
                  "quote_reference": "38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2"
                }
              }
            },
            "required": [
              "car"
            ]
          },
          {
            "title": "Preview an accommodation order",
            "description": "Use this option to preview pricing and policies for accommodation reservations.",
            "example": {
              "currency": "EUR",
              "accommodation": {
                "id": 6745031,
                "booker": {
                  "country": "nl",
                  "platform": "mobile",
                  "travel_purpose": "leisure",
                  "user_groups": [
                    "authenticated"
                  ]
                },
                "checkin": "!START_DATE!",
                "checkout": "!END_DATE!",
                "products": [
                  {
                    "id": "674503106_275710478_0_2_0",
                    "allocation": {
                      "number_of_adults": 1,
                      "children": [
                        8
                      ]
                    }
                  },
                  {
                    "id": "674503113_275710486_0_1_0",
                    "allocation": {
                      "number_of_adults": 1,
                      "children": []
                    }
                  }
                ]
              }
            },
            "required": [
              "accommodation"
            ]
          }
        ]
      },
      "paymentSchedule": {
        "title": "AccommodationsPaymentSchedule",
        "type": "object",
        "properties": {
          "at": {
            "description": "The date at which this instalment will be charged.",
            "type": "string",
            "format": "date"
          },
          "price": {
            "description": "The amount charged in this instalment.",
            "$ref": "#/components/schemas/priceCurrencyOutput"
          }
        }
      },
      "paymentMethods-2": {
        "title": "AccommodationsPaymentMethods",
        "type": "object",
        "description": "The payment methods available for the payment timing selected.",
        "properties": {
          "airplus": {
            "description": "Whether airplus can be used as a payment method for this order.",
            "type": "boolean"
          },
          "cards": {
            "description": "The cards available to pay.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/paymentCardId-2"
            }
          },
          "wallet": {
            "description": "Whether wallet can be used as a payment method for this order.",
            "type": "boolean"
          }
        },
        "nullable": true
      },
      "productPaymentTimingsDates": {
        "title": "AccommodationsProductPaymentTimingsDates",
        "description": "",
        "type": "object",
        "properties": {
          "pay_online_now": {
            "title": "AccommodationsPayOnlineNow",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "dates": {
                "description": "Schedule specifying the instalments for paying the order for the \"pay_online_now\" option. For each,entry in the schedule, a charge will be made at the time of that entry.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/paymentSchedule"
                }
              },
              "method_required": {
                "description": "Whether a payment method is required for this payment timing.",
                "type": "boolean"
              },
              "methods": {
                "$ref": "#/components/schemas/paymentMethods-2"
              }
            }
          },
          "pay_online_later": {
            "title": "AccommodationsPayOnlineLater",
            "type": "object",
            "properties": {
              "dates": {
                "description": "Schedule specifying the instalments for paying the order for this product for the \"pay_online_later\" option.  For each entry in the schedule, a charge will be made at the time of that entry.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/paymentSchedule"
                }
              },
              "method_required": {
                "description": "Whether a payment method is required for this payment timing.",
                "type": "boolean"
              },
              "methods": {
                "$ref": "#/components/schemas/paymentMethods-2"
              }
            },
            "nullable": true
          },
          "pay_at_the_property": {
            "title": "AccommodationsPayAtTheProperty",
            "type": "object",
            "properties": {
              "dates": {
                "description": "Schedule specifying the instalments for paying the order for this product for the \"pay_at_the_property\" option.  For each entry in the schedule, a charge will be made at the time of that entry.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/paymentSchedule"
                }
              },
              "method_required": {
                "description": "Whether a payment method is required for this payment timing.",
                "type": "boolean"
              },
              "methods": {
                "$ref": "#/components/schemas/paymentMethods-2"
              }
            },
            "nullable": true
          }
        }
      },
      "PriceSummaryPreviewV32": {
        "title": "OrdersPreviewProductSumPriceOutput",
        "description": "The price components of all the products selected summed.",
        "type": "object",
        "properties": {
          "base": {
            "description": "The sum base price of all products selected. Does not include any extra charges.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          },
          "chargeable_online": {
            "description": "The price that is chargeable online. null for agency properties.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput",
            "nullable": true
          },
          "charges": {
            "description": "The sum of charges for all products selected, grouped by charge type.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargeSummaryV32"
            }
          },
          "display": {
            "description": "The display price that must be shown to the traveller. Equivalent to base + charges where included_in.display=true.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          },
          "total": {
            "description": "The total sum price. Includes all extra charges of all products.",
            "$ref": "#/components/schemas/priceMultiCurrencyOutput"
          }
        }
      },
      "productDetailedPoliciesMultiCurrency": {
        "title": "AccommodationsProductDetailedPoliciesMultiCurrency",
        "description": "The policies for this product.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/productDetailedCancellationPolicyMultiCurrency"
          },
          "meal_plan": {
            "$ref": "#/components/schemas/productMealPlanPolicy"
          }
        }
      },
      "roomIdPreview": {
        "description": "A unique identifier for a specific room within an accommodation property. You can retrieve the full list of available room IDs by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).",
        "type": [
          "string",
          "null"
        ]
      },
      "occupancyOutput": {
        "title": "OccupancyOutput",
        "description": "Describes an occupancy in terms of number of adults and children's ages.",
        "type": "object",
        "properties": {
          "number_of_adults": {
            "description": "The number of adults.",
            "type": "integer",
            "minimum": 0
          },
          "children": {
            "description": "Contains the ages of the accommodated children. Null if there are no children.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            }
          }
        },
        "required": [
          "number_of_adults",
          "children"
        ]
      },
      "occupancyMismatchOutput": {
        "title": "OccupancyMismatchOutput",
        "description": "Represents the distribution of requested guests relative to the product's capacity. Includes the guests that can be accommodated (allocated) and those that cannot (unallocated).",
        "type": "object",
        "properties": {
          "allocated": {
            "description": "The guests from the original request that the product can accommodate.",
            "$ref": "#/components/schemas/occupancyOutput"
          },
          "unallocated": {
            "description": "The guests from the original request that could not be accommodated by this product.",
            "$ref": "#/components/schemas/occupancyOutput"
          }
        },
        "required": [
          "allocated",
          "unallocated"
        ],
        "example": {
          "allocated": {
            "number_of_adults": 1,
            "children": null
          },
          "unallocated": {
            "number_of_adults": 1,
            "children": null
          }
        }
      },
      "previewProductOutput": {
        "title": "OrdersPreviewProductOutput",
        "description": "The returned information of the product selected",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/productId"
          },
          "bundle": {
            "$ref": "#/components/schemas/bundleId"
          },
          "deal": {
            "$ref": "#/components/schemas/dealV32"
          },
          "inventory": {
            "$ref": "#/components/schemas/inventoryOutput"
          },
          "policies": {
            "$ref": "#/components/schemas/productDetailedPoliciesMultiCurrency"
          },
          "price": {
            "$ref": "#/components/schemas/priceV32"
          },
          "room": {
            "$ref": "#/components/schemas/roomIdPreview"
          },
          "occupancy_mismatch": {
            "description": "Details any mismatch between the requested occupancy and the product's capacity. \n-When one or more guests cannot be accommodated, the object contains those that can be accommodated (allocated) and those that cannot (unallocated). \n-If all requested guests fit, the object is null.",
            "type": [
              "object",
              "null"
            ],
            "$ref": "#/components/schemas/occupancyMismatchOutput"
          }
        }
      },
      "carMonetaryAmountOutput": {
        "description": "Monetary amount and currency details.",
        "type": "object",
        "properties": {
          "value": {
            "description": "Numeric amount for the charge.",
            "type": "number",
            "format": "double",
            "example": 129.99
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "timing": {
            "description": "When the payment is due (for example, 'pay_at_pickup' or 'pay_online_now').",
            "type": "string"
          }
        },
        "required": [
          "value",
          "currency"
        ]
      },
      "carsPriceOutput-2": {
        "description": "Price amounts in both display and local currencies.",
        "type": "object",
        "properties": {
          "display": {
            "description": "Price amount shown to the traveller in the selected display currency.",
            "$ref": "#/components/schemas/carMonetaryAmountOutput"
          },
          "pay": {
            "description": "The amount to be paid in the specified currency. This may be collected online at the time of booking or at the pickup desk.",
            "$ref": "#/components/schemas/carMonetaryAmountOutput"
          }
        }
      },
      "chargeTypeIdOutput-2": {
        "description": "Identifier for the charge type applied to the rental.",
        "type": "string"
      },
      "carExtraOutput": {
        "description": "Details of an individual extra charge, including type and amount.",
        "type": "object",
        "properties": {
          "charge_type": {
            "$ref": "#/components/schemas/chargeTypeIdOutput-2"
          },
          "amount": {
            "description": "Amount for this specific charge.",
            "$ref": "#/components/schemas/carsPriceOutput-2"
          }
        }
      },
      "carExtrasChargeOutput": {
        "description": "Breakdown of conditional and non-conditional extra charges.",
        "type": "object",
        "properties": {
          "conditional": {
            "description": "Charges that might apply under a specific condition.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carExtraOutput"
            }
          },
          "non_conditional": {
            "description": "All non-conditional charges that will necessarily be paid",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carExtraOutput"
            }
          }
        }
      },
      "carProductOutput": {
        "title": "CarProductOutput",
        "description": "Details of a selected extra for the vehicle, including pricing information.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the extra.",
            "type": "string"
          },
          "type": {
            "description": "Specifies the type of optional extra or service associated with the vehicle. For example, gps for a navigation system, baby_seat for a child seat, or wifi_router for mobile internet. Some values may represent similar extras because suppliers use different naming conventions for the same or comparable products.",
            "type": "string",
            "enum": [
              "additional_driver",
              "baby_seat",
              "bluetooth_handsfree_kit",
              "booster_seat",
              "child_booster_seat",
              "child_seat",
              "child_seat_isofix",
              "etc_card_electronic_toll_collection_card",
              "excess_protection",
              "fast_track",
              "gps",
              "infant_seat",
              "luggage_rack",
              "personal_travel_assistant",
              "queue_jump",
              "roof_rack",
              "ski_box",
              "ski_rack",
              "skierized_equipment",
              "snow_chains",
              "snow_tyres",
              "wifi_mobile",
              "wifi_router"
            ],
            "x-enumDescriptions": {
              "additional_driver": "Authorises an additional person to drive the vehicle.",
              "baby_seat": "Baby seat for infants up to around 12 months or 9 kg/20 lbs.",
              "bluetooth_handsfree_kit": "Bluetooth device for hands-free phone calls while driving.",
              "booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_seat": "Child seat for children around 1–3 years old, up to 18 kg/40 lbs.",
              "child_seat_isofix": "Child safety seat compatible with ISOFIX anchor points.",
              "etc_card_electronic_toll_collection_card": "Electronic toll collection card for automatic toll payments.",
              "excess_protection": "Covers the excess payable in the event of damage or theft.",
              "fast_track": "Equivalent to `queue_jump`.",
              "gps": "Satellite navigation device.",
              "infant_seat": "Infant seat for babies or young children.",
              "luggage_rack": "Additional luggage storage.",
              "personal_travel_assistant": "Travel assistance service.",
              "queue_jump": "Allows travellers to skip the standard queue at pickup.",
              "roof_rack": "Roof-mounted rack for carrying additional luggage or equipment.",
              "ski_box": "Roof-mounted enclosed storage box for skis or luggage.",
              "ski_rack": "Roof-mounted rack designed to transport skis.",
              "skierized_equipment": "Winter sports equipment.",
              "snow_chains": "Tyre chains for snow.",
              "snow_tyres": "Winter tyres.",
              "wifi_mobile": "Mobile WiFi hotspot providing internet access during the rental.",
              "wifi_router": "Portable WiFi router providing internet access."
            }
          },
          "selected_quantity": {
            "description": "The number of units selected for this product.",
            "type": "integer",
            "minimum": 1
          },
          "mode": {
            "type": "string",
            "description": "Defines how the product price is calculated. This determines whether pricing is applied per unit, per day, or for the full rental period.",
            "enum": [
              "each_per_day",
              "per_day",
              "each_per_rental",
              "per_rental"
            ],
            "x-enumDescriptions": {
              "each_per_day": "Price is charged per unit of the product, per day of the rental period. Total cost = unit price × quantity × number of rental days.",
              "per_day": "Price is charged once per day for the product, regardless of quantity. Total cost = daily price × number of rental days.",
              "each_per_rental": "Price is charged per unit for the full rental period. Total cost = unit price × quantity.",
              "per_rental": "Price is charged once for the full rental period, regardless of quantity or duration."
            }
          },
          "price": {
            "description": "Pricing details for this product.",
            "type": "object",
            "properties": {
              "unit_amount": {
                "$ref": "#/components/schemas/carsPriceOutput-2"
              },
              "total_amount": {
                "$ref": "#/components/schemas/carsPriceOutput-2"
              }
            }
          }
        }
      },
      "priceSummaryCar": {
        "title": "OrdersPreviewCarPriceOutput",
        "description": "Summary of all pricing components for the selected car products.",
        "type": "object",
        "properties": {
          "base": {
            "description": "Base price for all selected products. Excludes any extra charges.",
            "$ref": "#/components/schemas/carsPriceOutput-2"
          },
          "extra_charges": {
            "description": "Breakdown of additional charges, such as taxes or fees, included in the total drive-away price.",
            "$ref": "#/components/schemas/carExtrasChargeOutput"
          },
          "products": {
            "description": "List of selected additional products with their pricing and details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carProductOutput"
            }
          },
          "total": {
            "description": "Total price for the car rental product in the selected display currency. Includes the base rental price and all mandatory vehicle-related charges. Optional extras and third-party products, such as additional insurance, may be priced separately.",
            "$ref": "#/components/schemas/carMonetaryAmountOutput"
          }
        }
      },
      "carCancellationOutput": {
        "description": "The cancellation policy that applies to this product.",
        "type": "object",
        "properties": {
          "details": {
            "description": "Conditions under which free cancellation applies. For example: \\n- duration='PT48H' and context='before_pickup' means 'Free cancellation up to 48 hours before pickup'. \\n- duration='P7D' and context='within_given_time_period_of_booking' means 'Free cancellation within 7 days of booking'.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "context": {
                "description": "The context in which the cancellation policy applies. For example 'before_pickup'",
                "type": "string",
                "enum": [
                  "before_pickup",
                  "within_given_time_period_of_booking"
                ]
              },
              "duration": {
                "description": "Duration during which free cancellation is available (ISO 8601 duration format, e.g. P2D = 2 days).",
                "type": "string",
                "pattern": "^P(?:\\dY)?(?:\\dM)?(?:\\dD)?(?:T(?:\\dH)?(?:\\dM)?(?:\\dS)?)?$"
              }
            }
          },
          "type": {
            "description": "Cancellation policy type (e.g. 'free_cancellation' or 'non-refundable').",
            "type": "string",
            "enum": [
              "free_cancellation",
              "non-refundable"
            ]
          }
        }
      },
      "carMileageOutput": {
        "description": "Mileage policy for the selected car rental.",
        "type": "object",
        "properties": {
          "distance_limit": {
            "description": "Maximum distance allowed before additional fees apply.",
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "example": 300,
            "minimum": 0
          },
          "distance_unit": {
            "description": "The unit of measurement for the distance limit. For example 'km' or 'miles'.",
            "type": "string",
            "enum": [
              "kilometers",
              "miles"
            ]
          },
          "amount": {
            "description": "The amount that must be paid if the distance limit is exceeded.",
            "$ref": "#/components/schemas/monetaryAmount",
            "nullable": true
          },
          "currency": {
            "description": "The currency of the amount that must be paid if the distance limit is exceeded.",
            "$ref": "#/components/schemas/currencyId",
            "nullable": true
          },
          "type": {
            "description": "The type of mileage policy applied.",
            "type": "string",
            "enum": [
              "limited",
              "unlimited"
            ]
          }
        }
      },
      "carPoliciesDatesOutput": {
        "description": "Payment schedule, showing when and how much is due.",
        "type": "object",
        "properties": {
          "at": {
            "description": "Date when the payment is due (ISO 8601 format).",
            "example": "2025-11-01",
            "format": "date",
            "type": "string"
          },
          "amount": {
            "description": "Amount payable on this date.",
            "type": "object",
            "$ref": "#/components/schemas/carsPriceOutput-2"
          }
        }
      },
      "carPoliciesPaymentOutput": {
        "description": "Payment policy details for the car rental, including key dates and amounts.",
        "type": "object",
        "properties": {
          "dates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carPoliciesDatesOutput"
            }
          }
        }
      },
      "carInsuranceOutput": {
        "title": "CarInsuranceOutput",
        "description": "Detailed third-party insurance quote for this car rental.\nReturned when insurance is available for the selected offer and a valid quote_reference is provided.\nIf insurance is not available, not selected, or cannot be resolved for the current offer, this field is null.\nThis object represents a bookable insurance product and includes pricing, coverage, and policy documentation.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "quote_reference": {
            "description": "Unique reference for this insurance quote. Expires after 90 minutes.",
            "type": "string",
            "examples": [
              "38df45ef-a6fb-4e24-a1d2-66fc3af23d76#1t0juiba8h6n2"
            ]
          },
          "name": {
            "description": "The display name of the insurance product.",
            "type": "string",
            "examples": [
              "Full Protection"
            ]
          },
          "id": {
            "description": "The identifier for the type of insurance product.",
            "type": "string",
            "examples": [
              "999"
            ]
          },
          "price": {
            "description": "The price of the insurance product for the full rental period.",
            "$ref": "#/components/schemas/carsPriceOutput-2"
          },
          "coverage_amount": {
            "description": "The maximum coverage amount provided by the insurance product.",
            "type": "object",
            "properties": {
              "value": {
                "description": "The numeric value of the maximum coverage.",
                "$ref": "#/components/schemas/monetaryAmount"
              },
              "currency": {
                "description": "The currency of the coverage amount.",
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "documents": {
            "description": "Legal documents for this insurance product. Always returned when the insurance object is present, and always contains the `policy_document` entry. The `ipid` entry is only included when an IPID applies (EEA and UK countries) and is available in the requested language.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/insuranceDocument"
            }
          }
        },
        "required": [
          "quote_reference",
          "name",
          "id",
          "price",
          "documents"
        ]
      },
      "preview": {
        "title": "OrdersPreviewDataOutput",
        "description": "Contains the calculated order details for accommodation or car products, including pricing, policies, etc.",
        "type": "object",
        "properties": {
          "accommodation": {
            "title": "OrdersPreviewAccommodationOutput",
            "description": "The products to order related to an accommodation",
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/accommodationId"
              },
              "currency": {
                "$ref": "#/components/schemas/currency"
              },
              "general_policies": {
                "properties": {
                  "payment": {
                    "$ref": "#/components/schemas/productPaymentTimingsDates"
                  }
                }
              },
              "price": {
                "$ref": "#/components/schemas/PriceSummaryPreviewV32"
              },
              "products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/previewProductOutput"
                }
              }
            }
          },
          "car": {
            "type": "object",
            "properties": {
              "offer": {
                "$ref": "#/components/schemas/offerId"
              },
              "currency": {
                "description": "The currencies requested.",
                "type": "object",
                "properties": {
                  "booker": {
                    "$ref": "#/components/schemas/currencyId"
                  },
                  "payment": {
                    "$ref": "#/components/schemas/currencyId"
                  }
                }
              },
              "price": {
                "$ref": "#/components/schemas/priceSummaryCar"
              },
              "policies": {
                "description": "The policies that apply to this car.",
                "type": "object",
                "properties": {
                  "cancellation": {
                    "$ref": "#/components/schemas/carCancellationOutput"
                  },
                  "damage_excess": {
                    "description": "The maximum amount a traveller may be charged for damages to the car during the rental period, as specified by the rental agreement.",
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "The amount of the damage excess.",
                        "$ref": "#/components/schemas/carsPriceOutput-2"
                      }
                    }
                  },
                  "deposit": {
                    "description": "The amount of money that will be temporarily pre-authorised or blocked on the traveller’s credit card at the rental location as a security deposit, to cover potential damage or extra charges.",
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "The amount of the deposit.",
                        "$ref": "#/components/schemas/carsPriceOutput-2"
                      }
                    }
                  },
                  "fuel_policy": {
                    "description": "The fuel policy that applies to this car.",
                    "type": "string",
                    "enum": [
                      "return_same",
                      "return_same_or_prepay_no_refunds",
                      "return_same_preauth",
                      "free_tank",
                      "prepay_no_refunds",
                      "prepay_part_refunds",
                      "prepay_refunds",
                      "unknown"
                    ]
                  },
                  "mileage": {
                    "$ref": "#/components/schemas/carMileageOutput"
                  },
                  "payment": {
                    "$ref": "#/components/schemas/carPoliciesPaymentOutput"
                  },
                  "theft_excess": {
                    "description": "The maximum amount a traveller may be charged in the event of car theft during the rental period, as outlined in the rental agreement.",
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "The amount of the theft excess.",
                        "$ref": "#/components/schemas/carsPriceOutput-2"
                      }
                    }
                  }
                }
              },
              "insurance": {
                "$ref": "#/components/schemas/carInsuranceOutput"
              }
            }
          },
          "order_token": {
            "description": "A token containing the necessary data to be used on subsequent requests to [orders/create]. This token expires 15 minutes after it is issued.",
            "type": "string"
          }
        },
        "oneOf": [
          {
            "title": "Preview car order response",
            "properties": {
              "car": {
                "type": "object"
              },
              "accommodation": false
            },
            "required": [
              "car"
            ],
            "example": {
              "car": {
                "offer": 123456789,
                "currency": {
                  "booker": "EUR",
                  "payment": "EUR"
                },
                "price": {
                  "base": {
                    "display": {
                      "value": 129.99,
                      "currency": "EUR",
                      "timing": "pay_online_now"
                    },
                    "pay": {
                      "value": 129.99,
                      "currency": "EUR",
                      "timing": "pay_online_now"
                    }
                  },
                  "extra_charges": {
                    "non_conditional": [
                      {
                        "charge_type": "one_way_fee",
                        "amount": {
                          "display": {
                            "value": 15,
                            "currency": "EUR"
                          },
                          "pay": {
                            "value": 15,
                            "currency": "EUR",
                            "timing": "pay_online_now"
                          }
                        }
                      }
                    ]
                  },
                  "products": [
                    {
                      "id": "10000000006012",
                      "type": "baby_seat",
                      "selected_quantity": 1,
                      "mode": "per_rental",
                      "price": {
                        "unit_amount": {
                          "display": {
                            "value": 25,
                            "currency": "EUR"
                          },
                          "pay": {
                            "value": 25,
                            "currency": "EUR",
                            "timing": "pay_online_now"
                          }
                        },
                        "total_amount": {
                          "display": {
                            "value": 25,
                            "currency": "EUR"
                          },
                          "pay": {
                            "value": 25,
                            "currency": "EUR",
                            "timing": "pay_online_now"
                          }
                        }
                      }
                    },
                    {
                      "id": "10000000006012",
                      "type": "additional_driver",
                      "selected_quantity": 5,
                      "mode": "per_day",
                      "price": {
                        "unit_amount": {
                          "display": {
                            "value": 8,
                            "currency": "EUR"
                          },
                          "pay": {
                            "value": 7,
                            "currency": "USD",
                            "timing": "pay_online_now"
                          }
                        },
                        "total_amount": {
                          "display": {
                            "value": 40,
                            "currency": "EUR"
                          },
                          "pay": {
                            "value": 35,
                            "currency": "USD",
                            "timing": "pay_online_now"
                          }
                        }
                      }
                    }
                  ],
                  "total": {
                    "value": 209.99,
                    "currency": "EUR",
                    "timing": "pay_online_now"
                  }
                },
                "policies": {
                  "cancellation": {
                    "details": {
                      "context": "before_pickup",
                      "duration": "PT48H"
                    },
                    "type": "free_cancellation"
                  },
                  "damage_excess": {
                    "amount": {
                      "display": {
                        "value": 1000,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      },
                      "pay": {
                        "value": 1000,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      }
                    }
                  },
                  "deposit": {
                    "amount": {
                      "display": {
                        "value": 200,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      },
                      "pay": {
                        "value": 200,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      }
                    }
                  },
                  "fuel_policy": "return_same",
                  "mileage": {
                    "distance_limit": 300,
                    "distance_unit": "kilometers",
                    "amount": null,
                    "currency": null,
                    "type": "limited"
                  },
                  "payment": {
                    "dates": [
                      {
                        "at": "2025-11-01",
                        "amount": {
                          "display": {
                            "value": 129.99,
                            "currency": "EUR",
                            "timing": "pay_online_now"
                          },
                          "pay": {
                            "value": 129.99,
                            "currency": "EUR",
                            "timing": "pay_online_now"
                          }
                        }
                      }
                    ]
                  },
                  "theft_excess": {
                    "amount": {
                      "display": {
                        "value": 1500,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      },
                      "pay": {
                        "value": 1500,
                        "currency": "EUR",
                        "timing": "pay_at_pickup"
                      }
                    }
                  }
                },
                "insurance": {
                  "quote_reference": "38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2",
                  "name": "Full Protection",
                  "id": "999",
                  "price": {
                    "display": {
                      "value": 45,
                      "currency": "EUR"
                    },
                    "pay": {
                      "value": 45,
                      "currency": "EUR",
                      "timing": "pay_online_now"
                    }
                  },
                  "coverage_amount": {
                    "value": 60000,
                    "currency": "EUR"
                  },
                  "documents": [
                    {
                      "name": "policy_document",
                      "url": "https://staging.rentalcover.com/en/pds"
                    },
                    {
                      "name": "ipid",
                      "url": "https://files.rentalcover.com/ipids.pdf"
                    }
                  ]
                }
              },
              "order_token": "sample-order-token-1234"
            }
          },
          {
            "title": "Preview accommodation order response",
            "properties": {
              "accommodation": {
                "type": "object"
              },
              "car": false
            },
            "required": [
              "accommodation"
            ],
            "example": {
              "accommodation": {
                "id": 6745031,
                "currency": {
                  "accommodation": "EUR",
                  "booker": null
                },
                "general_policies": {
                  "payment": {
                    "pay_online_now": {
                      "dates": [
                        {
                          "at": "!TODAY!",
                          "price": {
                            "accommodation_currency": 177.65,
                            "booker_currency": null
                          }
                        }
                      ],
                      "method_required": false,
                      "methods": {
                        "airplus": true,
                        "cards": [
                          1,
                          2,
                          3
                        ],
                        "wallet": true
                      }
                    },
                    "pay_online_later": {
                      "dates": [
                        {
                          "at": "!TODAY!",
                          "price": {
                            "accommodation_currency": 0,
                            "booker_currency": null
                          }
                        },
                        {
                          "at": "!START_DATE-2!",
                          "price": {
                            "accommodation_currency": 177.65,
                            "booker_currency": null
                          }
                        },
                        {
                          "at": "!START_DATE!",
                          "price": {
                            "accommodation_currency": 0,
                            "booker_currency": null
                          }
                        }
                      ],
                      "method_required": false,
                      "methods": {
                        "airplus": true,
                        "cards": [
                          1,
                          2,
                          3,
                          5
                        ],
                        "wallet": true
                      }
                    },
                    "pay_at_the_property": {
                      "dates": [
                        {
                          "at": "!TODAY!",
                          "price": {
                            "accommodation_currency": 0,
                            "booker_currency": null
                          }
                        },
                        {
                          "at": "!START_DATE!",
                          "price": {
                            "accommodation_currency": 177.65,
                            "booker_currency": null
                          }
                        }
                      ],
                      "method_required": true,
                      "methods": {
                        "airplus": true,
                        "cards": [
                          1,
                          2
                        ],
                        "wallet": false
                      }
                    }
                  }
                },
                "price": {
                  "base": {
                    "accommodation_currency": 100,
                    "booker_currency": null
                  },
                  "chargeable_online": {
                    "accommodation_currency": 117.41,
                    "booker_currency": null
                  },
                  "charges": [
                    {
                      "charge": 142,
                      "condition": null,
                      "included_in": {
                        "display": true,
                        "chargeable_online": true
                      },
                      "total_amount": {
                        "accommodation_currency": 6,
                        "booker_currency": null
                      }
                    },
                    {
                      "charge": 21,
                      "condition": null,
                      "included_in": {
                        "display": true,
                        "chargeable_online": true
                      },
                      "total_amount": {
                        "accommodation_currency": 11.41,
                        "booker_currency": null
                      }
                    },
                    {
                      "charge": 22,
                      "condition": null,
                      "included_in": {
                        "display": true,
                        "chargeable_online": false
                      },
                      "total_amount": {
                        "accommodation_currency": 5.59,
                        "booker_currency": null
                      }
                    }
                  ],
                  "display": {
                    "accommodation_currency": 123,
                    "booker_currency": null
                  },
                  "total": {
                    "accommodation_currency": 123,
                    "booker_currency": null
                  }
                },
                "products": [
                  {
                    "id": "1000420_278556531_2_0_0",
                    "bundle": null,
                    "deal": null,
                    "inventory": {
                      "third_party": false,
                      "type": "sell"
                    },
                    "policies": {
                      "cancellation": [
                        {
                          "from": "now",
                          "price": {
                            "accommodation_currency": 0,
                            "booker_currency": null
                          }
                        },
                        {
                          "from": "!START_DATE-2!T22:00:00+00:00",
                          "price": {
                            "accommodation_currency": 177.65,
                            "booker_currency": null
                          }
                        }
                      ],
                      "meal_plan": {
                        "meals": [],
                        "plan": "no_plan"
                      }
                    },
                    "price": {
                      "base": {
                        "accommodation_currency": 155.96,
                        "booker_currency": null
                      },
                      "chargeable_online": {
                        "accommodation_currency": 172.88,
                        "booker_currency": null
                      },
                      "charges": [
                        {
                          "charge": 142,
                          "condition": null,
                          "included_in": {
                            "display": true,
                            "chargeable_online": true
                          },
                          "mode": "per_person_per_night",
                          "percentage": null,
                          "total_amount": {
                            "accommodation_currency": 6,
                            "booker_currency": null
                          },
                          "unit_amount": {
                            "accommodation_currency": 3,
                            "booker_currency": null
                          }
                        },
                        {
                          "charge": 21,
                          "condition": null,
                          "included_in": {
                            "display": true,
                            "chargeable_online": false
                          },
                          "mode": "percentage",
                          "percentage": 9,
                          "total_amount": {
                            "accommodation_currency": 14.04,
                            "booker_currency": null
                          },
                          "unit_amount": null
                        },
                        {
                          "charge": 22,
                          "condition": null,
                          "included_in": {
                            "display": true,
                            "chargeable_online": true
                          },
                          "mode": "percentage",
                          "percentage": 7,
                          "total_amount": {
                            "accommodation_currency": 10.92,
                            "booker_currency": null
                          },
                          "unit_amount": null
                        }
                      ],
                      "display": {
                        "accommodation_currency": 186.92,
                        "booker_currency": null
                      },
                      "total": {
                        "accommodation_currency": 186.92,
                        "booker_currency": null
                      }
                    }
                  },
                  {
                    "id": "tpi-1000420_95127794_2_0_0",
                    "deal": null,
                    "inventory": {
                      "third_party": true,
                      "type": "sell"
                    },
                    "policies": {
                      "cancellation": [
                        {
                          "from": "now",
                          "price": {
                            "accommodation_currency": 170,
                            "booker_currency": null
                          }
                        }
                      ],
                      "meal_plan": {
                        "meals": [],
                        "plan": "no_plan"
                      }
                    },
                    "price": {
                      "base": {
                        "accommodation_currency": 162.98,
                        "booker_currency": null
                      },
                      "chargeable_online": null,
                      "charges": [
                        {
                          "charge": 3,
                          "condition": 30,
                          "included_in": {
                            "display": false,
                            "chargeable_online": null
                          },
                          "mode": "per_stay",
                          "percentage": null,
                          "total_amount": {
                            "accommodation_currency": 10,
                            "booker_currency": null
                          },
                          "unit_amount": null
                        },
                        {
                          "charge": 142,
                          "included_in": {
                            "display": true,
                            "chargeable_online": null
                          },
                          "mode": "per_person_per_night",
                          "percentage": null,
                          "total_amount": {
                            "accommodation_currency": 6,
                            "booker_currency": null
                          },
                          "unit_amount": {
                            "accommodation_currency": 3,
                            "booker_currency": null
                          },
                          "condition": null
                        },
                        {
                          "charge": 21,
                          "condition": null,
                          "included_in": {
                            "display": true,
                            "chargeable_online": null
                          },
                          "mode": "percentage",
                          "percentage": 9,
                          "total_amount": {
                            "accommodation_currency": 14.67,
                            "booker_currency": null
                          },
                          "unit_amount": null
                        },
                        {
                          "charge": 22,
                          "condition": null,
                          "included_in": {
                            "display": true,
                            "chargeable_online": null
                          },
                          "mode": "percentage",
                          "percentage": 7,
                          "total_amount": {
                            "accommodation_currency": 11.41,
                            "booker_currency": null
                          },
                          "unit_amount": null
                        }
                      ],
                      "display": {
                        "accommodation_currency": 195.06,
                        "booker_currency": null
                      },
                      "total": {
                        "accommodation_currency": 195.06,
                        "booker_currency": null
                      }
                    }
                  }
                ]
              },
              "order_token": "..."
            }
          }
        ]
      },
      "previewOutput": {
        "title": "OrdersPreviewOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "$ref": "#/components/schemas/preview"
          }
        }
      },
      "guest": {
        "title": "OrderCreateGuestInput",
        "type": "object",
        "properties": {
          "email": {
            "description": "The email address of the guest.",
            "type": "string"
          },
          "name": {
            "description": "The name of the guest.",
            "type": "string"
          }
        },
        "required": [
          "email",
          "name"
        ]
      },
      "product-3": {
        "title": "OrderCreateProductInformationInput",
        "description": "Additional information related to each product related to the products in this order.",
        "type": "object",
        "properties": {
          "id": {
            "description": "ID for this product. `Please note that this MUST match the product IDs used for related /orders/preview request.`",
            "$ref": "#/components/schemas/productId"
          },
          "bed_configuration": {
            "description": "Bed configuration ID to select for this product. `Please note that it can not be guaranteed that the selected bed_configuration will be available.`",
            "type": "string"
          },
          "guests": {
            "description": "The guest details for this product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/guest"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "estimatedArrivalTime": {
        "title": "EstimatedArrivalTimeInput",
        "description": "Estimated arrival time of the guests.",
        "type": "object",
        "properties": {
          "hour": {
            "description": "Approximate hour of arrival to the hotel. Allowed values are from 0 to 23. This time should be within the hotel reception hours, or will be ignored otherwise with a warning will be appended to special_requests.",
            "type": "integer",
            "minimum": 0,
            "maximum": 23
          },
          "next_day": {
            "description": "Set this to true, if the hour selected is for the day after checkin.",
            "type": "boolean",
            "default": "false"
          }
        },
        "required": [
          "hour"
        ]
      },
      "accommodation": {
        "title": "Accommodation order creation request",
        "description": "Additional information related to the accommodation order. Only one travel service object can be included in a request.",
        "type": "object",
        "properties": {
          "label": {
            "description": "Custom string defined by the partner to track attribution throughout the booking journey. Use a consistent, parseable format (e.g. brand-market_platform-channel_campaign) to encode campaign, traffic source, platform, language, or other identifiers. Recommended for accurate reporting and analytics. See the [Labels and attributions guide](/demand/docs/orders-api/labels-attributions) for more details.",
            "type": "string"
          },
          "products": {
            "description": "List of accommodation products returned in /orders/preview that should be included in this order.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/product-3"
            }
          },
          "remarks": {
            "title": "OrderCreateRemarksInput",
            "description": "Optional remarks from the guest.",
            "type": "object",
            "properties": {
              "estimated_arrival_time": {
                "$ref": "#/components/schemas/estimatedArrivalTime"
              },
              "special_requests": {
                "description": "Optional comments or requests from the guest. Special requests cannot be guaranteed – but the property will do its best to meet your needs.",
                "type": "string"
              }
            }
          }
        }
      },
      "address": {
        "title": "OrderCreateAddressInput",
        "description": "The booker's address to be used for creating this order. All fields of this object are required if the /accommodations/details endpoint indicates that the booker's address is necessary by returning booker_address_required=true.",
        "type": "object",
        "properties": {
          "address_line": {
            "description": "The details of this address.",
            "type": "string"
          },
          "city": {
            "description": "The city for this address.",
            "type": "string"
          },
          "country": {
            "description": "The country for this address.",
            "$ref": "#/components/schemas/countryId"
          },
          "post_code": {
            "description": "Post code for this address.",
            "type": "string"
          }
        },
        "required": [
          "country"
        ]
      },
      "booker-4": {
        "title": "OrderCreateBookerInput",
        "description": "The booker's information.",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "company": {
            "description": "The booker's company name.",
            "type": "string"
          },
          "email": {
            "description": "The booker's email address.",
            "type": "string"
          },
          "language": {
            "$ref": "#/components/schemas/languageId"
          },
          "name": {
            "title": "OrderCreateBookerNameInput",
            "description": "The name of the booker.",
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              }
            },
            "required": [
              "first_name",
              "last_name"
            ]
          },
          "telephone": {
            "description": "The booker's telephone number.",
            "type": "string"
          }
        },
        "required": [
          "address",
          "email",
          "name",
          "telephone"
        ]
      },
      "billing_address": {
        "title": "OrderCreateBusinessAddressInput",
        "description": "The address to bill this reservation",
        "type": "object",
        "properties": {
          "address_line": {
            "description": "The details of this address.",
            "type": "string"
          },
          "city": {
            "description": "The city for this address.",
            "type": "string"
          },
          "country": {
            "description": "The country for this address.",
            "$ref": "#/components/schemas/countryId"
          },
          "post_code": {
            "description": "Post code for this address.",
            "type": "string"
          }
        }
      },
      "payment-2": {
        "title": "OrderCreatePaymentInput",
        "description": "Payment related information for the order.",
        "type": "object",
        "properties": {
          "airplus": {
            "description": "All information related to airplus payment. `This is required if airplus is selected as payment method.`",
            "type": "object",
            "properties": {
              "dbi": {
                "title": "OrderCreateDbiInput",
                "description": "Descriptive billing information(dbi) details to pass to AirPlus.",
                "type": "object",
                "properties": {
                  "accounting_code": {
                    "description": "Accounting code to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "accounting_unit": {
                    "description": "Accounting unit to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "cost_centre": {
                    "description": "Cost centre to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "department_code": {
                    "description": "Department code to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "employee_number": {
                    "description": "Employee number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "internal_account": {
                    "description": "Internal account to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "order_number": {
                    "description": "Order number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "project_number": {
                    "description": "Project number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  }
                }
              },
              "number": {
                "description": "12 digit Airplus Number.",
                "type": "string"
              }
            },
            "required": [
              "number"
            ]
          },
          "business_information": {
            "title": "OrderCreateBusinessInformationInput",
            "description": "All business related information for billing and authorisation form. This must be included for the payments that require authorisation form.",
            "type": "object",
            "properties": {
              "authorisation_form": {
                "title": "OrderCreateAuthorisationFormInput",
                "description": "Information that is relevant for generating an authorisation form.",
                "type": "object",
                "properties": {
                  "chargeable_items": {
                    "description": "Items which can be charged using a provided virtual credit card.",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "alcohol",
                        "breakfast",
                        "food_beverage",
                        "internet",
                        "parking",
                        "phone",
                        "taxes"
                      ]
                    }
                  }
                }
              },
              "billing": {
                "title": "OrderCreateBillingInput",
                "description": "All information to be used in the invoice.",
                "type": "object",
                "properties": {
                  "address": {
                    "$ref": "#/components/schemas/billing_address"
                  },
                  "email": {
                    "description": "Email to send the invoice to.",
                    "type": "string"
                  },
                  "vat": {
                    "description": "VAT number to be used in the invoice.",
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "vat"
                ]
              },
              "company": {
                "description": "Company that will issue an authorisation form for the virtual credit card and used in the invoice.",
                "type": "string"
              }
            },
            "required": [
              "company"
            ]
          },
          "card": {
            "title": "OrderCreateCardInput",
            "description": "Card information for executing the payment.",
            "type": "object",
            "properties": {
              "authentication": {
                "title": "OrderCreateCardAuthenticationInput",
                "description": "Card authentication information for executing the payment.",
                "type": "object",
                "oneOf": [
                  {
                    "required": [
                      "riskified"
                    ]
                  },
                  {
                    "required": [
                      "sca_exemption"
                    ]
                  },
                  {
                    "required": [
                      "3d_secure"
                    ]
                  }
                ],
                "properties": {
                  "riskified": {
                    "title": "OrderCreateRiskifiedInput",
                    "description": "Riskified information for external fraud verification.",
                    "type": "object",
                    "properties": {
                      "ip_address": {
                        "description": "The booker's IP address.",
                        "type": "string",
                        "format": "ipv4"
                      },
                      "session_id": {
                        "description": "Riskified provided session_id for external fraud verification.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "ip_address",
                      "session_id"
                    ]
                  },
                  "sca_exemption": {
                    "description": "The type of SCA exemption to be applied to the payment.",
                    "type": "string",
                    "enum": [
                      "moto",
                      "virtual"
                    ]
                  },
                  "3d_secure": {
                    "title": "OrderCreate3dSecureInput",
                    "description": "3-factor authentication information for the card.",
                    "type": "object",
                    "properties": {
                      "authentication_value": {
                        "description": "Cardholder Authentication Verification Value.",
                        "type": "string"
                      },
                      "eci": {
                        "description": "The electronic commerce indicator.",
                        "type": "string"
                      },
                      "transaction": {
                        "description": "The unique ID assigned by the DS to identify a single transaction.",
                        "type": "string"
                      },
                      "authentication_response": {
                        "description": "The 3D Secure transaction status (transStatus) returned by the Access Control Server (ACS) following a challenge flow. For transactions completed in a frictionless flow, provide the transStatus from the Authentication Response. Optional if no challenge is required.",
                        "type": "string",
                        "example": "Y"
                      }
                    },
                    "required": [
                      "authentication_value",
                      "eci",
                      "transaction"
                    ]
                  }
                }
              },
              "cardholder": {
                "description": "Name of the cardholder.",
                "type": "string"
              },
              "cvc": {
                "description": "3 or 4 digits card validation code (CVC) of this card.",
                "type": "string"
              },
              "expiry_date": {
                "description": "Expiry date of the card. Format: YYYY-MM",
                "type": "string"
              },
              "number": {
                "description": "Number of the card.",
                "type": "string"
              },
              "subtype": {
                "description": "Indicates a special processing subtype for cards whose network behaviour cannot be determined reliably from the card number alone.\n\nUse this field for supported co-branded or specialised card programmes (such as UnionPay co-branded cards) to ensure correct payment routing and authorisation handling.\nOmit for standard Visa, Mastercard, or UnionPay cards",
                "type": "string",
                "enum": [
                  "unionpay_cobrand"
                ]
              }
            },
            "required": [
              "cardholder",
              "cvc",
              "expiry_date",
              "number"
            ]
          },
          "include_receipt": {
            "description": "This is used to determine whether to include payment `receipt_url` in the response or not.",
            "type": "boolean"
          },
          "method": {
            "description": "The payment method to be used for this order.",
            "type": "string",
            "enum": [
              "airplus",
              "card",
              "wallet"
            ]
          },
          "timing": {
            "type": "string",
            "description": "The payment timing for this order. Use the value returned in the preview response. The available values depend on the travel service.",
            "enum": [
              "pay_at_pickup",
              "pay_at_the_property",
              "pay_online_later",
              "pay_online_now",
              "pay_partially_online"
            ],
            "x-enumDescriptions": {
              "pay_at_pickup": "Only for car rental orders. Traveller pays at the car rental pick-up location.",
              "pay_at_the_property": "Only for accommodation orders. Traveller pays at the accommodation property.",
              "pay_online_later": "Only for accommodation orders. Traveller pays online at a later time before check-in.",
              "pay_online_now": "Traveller pays online immediately at the time of booking.",
              "pay_partially_online": "Only for car rental orders. Traveller pays part online at booking and the remainder at the car rental pick-up location."
            }
          }
        },
        "required": [
          "timing"
        ]
      },
      "ordersCreateInput": {
        "title": "OrderCreateInput",
        "type": "object",
        "properties": {
          "accommodation": {
            "$ref": "#/components/schemas/accommodation"
          },
          "booker": {
            "$ref": "#/components/schemas/booker-4"
          },
          "order_token": {
            "description": "A token containing the necessary data to be used for creating this order.",
            "type": "string"
          },
          "payment": {
            "$ref": "#/components/schemas/payment-2"
          }
        },
        "required": [
          "booker",
          "order_token",
          "payment"
        ]
      },
      "car": {
        "title": "OrderCreateCarInput",
        "description": "Additional information related to the car order. Only one travel service object can be included in a request.",
        "type": "object",
        "properties": {
          "flight_number": {
            "description": "Arrival flight number associated with the car pick-up, if known. Omit this field if it is not known. Maximum 10 characters.",
            "type": "string",
            "maxLength": 10,
            "example": "BA123"
          },
          "driver": {
            "title": "OrderCreateDriverInput",
            "description": "Driver related information for the order.",
            "type": "object",
            "properties": {
              "address": {
                "type": "object",
                "description": "Driver’s address.",
                "properties": {
                  "address_line1": {
                    "type": "string",
                    "description": "Driver’s address line 1."
                  },
                  "address_line2": {
                    "type": "string",
                    "description": "Driver’s address line 2."
                  },
                  "city": {
                    "type": "string",
                    "description": "Driver’s city."
                  },
                  "country": {
                    "type": "string",
                    "description": "Driver’s country."
                  },
                  "postcode": {
                    "type": "string",
                    "description": "Driver’s postcode."
                  }
                },
                "required": [
                  "address_line1",
                  "city",
                  "country",
                  "postcode"
                ]
              },
              "email": {
                "type": "string",
                "description": "Driver’s email address."
              },
              "first_name": {
                "type": "string",
                "description": "Driver’s first name."
              },
              "last_name": {
                "type": "string",
                "description": "Driver’s last name."
              },
              "telephone": {
                "type": "string",
                "description": "Driver’s telephone number."
              },
              "title": {
                "type": "string",
                "description": "Driver’s honorific or title, such as “Mr”, “Ms”, “Mrs”, or “Dr”."
              }
            },
            "required": [
              "email",
              "first_name",
              "last_name",
              "telephone",
              "title"
            ]
          },
          "label": {
            "description": "Custom string defined by the partner to track attribution throughout the booking journey. Use a consistent, parseable format (e.g. brand-market_platform-channel_campaign) to encode campaign, traffic source, platform, language, or other identifiers. Recommended for accurate reporting and analytics. See the Labels and attributions guide for more details.",
            "type": "string"
          }
        },
        "required": [
          "driver"
        ]
      },
      "car_booker_address": {
        "title": "CarOrderCreateBookerAddressInput",
        "description": "The booker's address for a car rental order. This property may be omitted only for an eligible pay_at_pickup offer where the selected offer explicitly returns credit_card_required=false, the accepted price has no online payment amounts, and the payment object is omitted. When provided, all address fields are required.",
        "allOf": [
          {
            "$ref": "#/components/schemas/address"
          },
          {
            "required": [
              "address_line",
              "city",
              "country",
              "post_code"
            ]
          }
        ]
      },
      "name": {
        "title": "OrderCreateBookerNameInput",
        "description": "The name of the booker.",
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          }
        },
        "required": [
          "first_name",
          "last_name"
        ]
      },
      "car_booker": {
        "title": "CarOrderCreateBookerInput",
        "description": "The booker's information for a car order.",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/car_booker_address"
          },
          "company": {
            "description": "The booker's company name.",
            "type": "string"
          },
          "email": {
            "description": "The booker's email address.",
            "type": "string"
          },
          "language": {
            "$ref": "#/components/schemas/languageId"
          },
          "name": {
            "$ref": "#/components/schemas/name"
          },
          "telephone": {
            "description": "The booker's telephone number.",
            "type": "string"
          }
        },
        "required": [
          "email",
          "language",
          "name",
          "telephone"
        ]
      },
      "car_payment_base": {
        "title": "OrderCreatePaymentInput",
        "description": "Payment related information for the order.",
        "type": "object",
        "properties": {
          "airplus": {
            "description": "All information related to airplus payment. `This is required if airplus is selected as payment method.`",
            "type": "object",
            "properties": {
              "dbi": {
                "title": "OrderCreateDbiInput",
                "description": "Descriptive billing information(dbi) details to pass to AirPlus.",
                "type": "object",
                "properties": {
                  "accounting_code": {
                    "description": "Accounting code to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "accounting_unit": {
                    "description": "Accounting unit to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "cost_centre": {
                    "description": "Cost centre to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "department_code": {
                    "description": "Department code to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "employee_number": {
                    "description": "Employee number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "internal_account": {
                    "description": "Internal account to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "order_number": {
                    "description": "Order number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  },
                  "project_number": {
                    "description": "Project number to pass in descriptive billing information.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 17
                  }
                }
              },
              "number": {
                "description": "12 digit Airplus Number.",
                "type": "string"
              }
            },
            "required": [
              "number"
            ]
          },
          "business_information": {
            "title": "OrderCreateBusinessInformationInput",
            "description": "All business related information for billing and authorisation form. This must be included for the payments that require authorisation form.",
            "type": "object",
            "properties": {
              "authorisation_form": {
                "title": "OrderCreateAuthorisationFormInput",
                "description": "Information that is relevant for generating an authorisation form.",
                "type": "object",
                "properties": {
                  "chargeable_items": {
                    "description": "Items which can be charged using a provided virtual credit card.",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "alcohol",
                        "breakfast",
                        "food_beverage",
                        "internet",
                        "parking",
                        "phone",
                        "taxes"
                      ]
                    }
                  }
                }
              },
              "billing": {
                "title": "OrderCreateBillingInput",
                "description": "All information to be used in the invoice.",
                "type": "object",
                "properties": {
                  "address": {
                    "$ref": "#/components/schemas/billing_address"
                  },
                  "email": {
                    "description": "Email to send the invoice to.",
                    "type": "string"
                  },
                  "vat": {
                    "description": "VAT number to be used in the invoice.",
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "vat"
                ]
              },
              "company": {
                "description": "Company that will issue an authorisation form for the virtual credit card and used in the invoice.",
                "type": "string"
              }
            },
            "required": [
              "company"
            ]
          },
          "card": {
            "title": "OrderCreateCardInput",
            "description": "Card information for executing the payment.",
            "type": "object",
            "properties": {
              "authentication": {
                "title": "OrderCreateCardAuthenticationInput",
                "description": "Card authentication information for executing the payment.",
                "type": "object",
                "oneOf": [
                  {
                    "required": [
                      "riskified"
                    ]
                  },
                  {
                    "required": [
                      "sca_exemption"
                    ]
                  },
                  {
                    "required": [
                      "3d_secure"
                    ]
                  }
                ],
                "properties": {
                  "riskified": {
                    "title": "OrderCreateRiskifiedInput",
                    "description": "Riskified information for external fraud verification.",
                    "type": "object",
                    "properties": {
                      "ip_address": {
                        "description": "The booker's IP address.",
                        "type": "string",
                        "format": "ipv4"
                      },
                      "session_id": {
                        "description": "Riskified provided session_id for external fraud verification.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "ip_address",
                      "session_id"
                    ]
                  },
                  "sca_exemption": {
                    "description": "The type of SCA exemption to be applied to the payment.",
                    "type": "string",
                    "enum": [
                      "moto",
                      "virtual"
                    ]
                  },
                  "3d_secure": {
                    "title": "OrderCreate3dSecureInput",
                    "description": "3-factor authentication information for the card.",
                    "type": "object",
                    "properties": {
                      "authentication_value": {
                        "description": "Cardholder Authentication Verification Value.",
                        "type": "string"
                      },
                      "eci": {
                        "description": "The electronic commerce indicator.",
                        "type": "string"
                      },
                      "transaction": {
                        "description": "The unique ID assigned by the DS to identify a single transaction.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "authentication_value",
                      "eci"
                    ]
                  }
                }
              },
              "cardholder": {
                "description": "Name of the cardholder.",
                "type": "string"
              },
              "cvc": {
                "description": "3 or 4 digits card validation code (CVC) of this card.",
                "type": "string"
              },
              "expiry_date": {
                "description": "Card expiry date in YYYY-MM format.",
                "type": "string"
              },
              "number": {
                "description": "Payment card number.",
                "type": "string"
              }
            },
            "required": [
              "cardholder",
              "cvc",
              "expiry_date",
              "number"
            ]
          },
          "include_receipt": {
            "description": "Set to true to include a payment receipt URL in the response when available.",
            "type": "boolean"
          },
          "method": {
            "description": "The payment method to be used for this order.",
            "type": "string",
            "enum": [
              "airplus",
              "card",
              "wallet"
            ]
          },
          "timing": {
            "type": "string",
            "description": "Payment timing for the order. Use one of the values returned in the corresponding /orders/preview response. Supported values depend on the travel service and payment configuration.",
            "enum": [
              "pay_at_pickup",
              "pay_at_the_property",
              "pay_online_later",
              "pay_online_now",
              "pay_partial_online_now"
            ],
            "x-enumDescriptions": {
              "pay_at_pickup": "Only for car rental orders. Traveller pays at the car rental pick-up location.",
              "pay_at_the_property": "Only for accommodation orders. Traveller pays at the accommodation property.",
              "pay_online_later": "Only for accommodation orders. Traveller pays online at a later time before check-in.",
              "pay_online_now": "Traveller pays online immediately at the time of booking.",
              "pay_partial_online_now": "Only for car rental orders. Traveller pays part online at booking and the remainder at the car rental pick-up location."
            }
          }
        }
      },
      "car_payment": {
        "title": "CarOrderCreatePaymentInput",
        "description": "Payment information for a car rental order. Omit this object only when the selected offer is pay at pickup, has no amount payable online and explicitly returns `credit_card_required=false`. If `credit_card_required=true`, payment and card details are required. Whether payment is required is determined by the selected Cars offer and the accepted price in the order token; `payment.timing` does not override that payment flow.",
        "allOf": [
          {
            "$ref": "#/components/schemas/car_payment_base"
          },
          {
            "properties": {
              "method": {
                "enum": [
                  "card"
                ],
                "type": "string",
                "description": "Payment method for the car rental order. Cars orders that require payment details currently support card payment."
              }
            },
            "required": [
              "method",
              "card"
            ]
          }
        ]
      },
      "car_create_input": {
        "description": "Base request structure for creating a car rental order. Payment is added only when required by the selected offer.",
        "type": "object",
        "properties": {
          "car": {
            "$ref": "#/components/schemas/car"
          },
          "booker": {
            "$ref": "#/components/schemas/car_booker"
          },
          "order_token": {
            "description": "Token returned by /orders/preview containing the data required to create the order.",
            "type": "string"
          },
          "payment": {
            "$ref": "#/components/schemas/car_payment"
          }
        },
        "required": [
          "car",
          "booker",
          "order_token"
        ]
      },
      "create_input": {
        "title": "Create an order request",
        "description": "Request payload for creating an order. Select the option that matches the travel service and payment requirements returned by the relevant search, availability or preview response.",
        "oneOf": [
          {
            "title": "Create an accommodation order",
            "description": "Use this object to create an accommodation order. Include accommodation details, booker details, an order token and the payment information required by the order.",
            "example": {
              "accommodation": {
                "label": "Sample label",
                "products": [
                  {
                    "id": "333",
                    "bed_configuration": "123456",
                    "guests": [
                      {
                        "email": "test.name@booking.com",
                        "name": "Test Name"
                      }
                    ]
                  }
                ],
                "remarks": {
                  "estimated_arrival_time": {
                    "hour": 12
                  },
                  "special_requests": "We will need an extra cot."
                }
              },
              "booker": {
                "address": {
                  "address_line": "Road-1, house-2",
                  "city": "Amsterdam",
                  "country": "nl",
                  "post_code": "11111"
                },
                "company": "Booking B.V",
                "email": "test.name@booking.com",
                "language": "en-gb",
                "name": {
                  "first_name": "Test",
                  "last_name": "Name"
                },
                "telephone": "12345678"
              },
              "order_token": "sample-token",
              "payment": {
                "card": {
                  "cardholder": "Test Name",
                  "cvc": "111",
                  "expiry_date": "2030-10",
                  "number": "23333333333333"
                },
                "include_receipt": true,
                "method": "card",
                "timing": "pay_at_the_property"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ordersCreateInput"
              },
              {
                "not": {
                  "required": [
                    "car"
                  ]
                }
              }
            ]
          },
          {
            "title": "Create a car rental order with payment",
            "description": "Create a car rental order when the selected offer requires payment details.",
            "example": {
              "car": {
                "flight_number": "BA123",
                "driver": {
                  "email": "john.doe@booking.com",
                  "first_name": "John",
                  "last_name": "Doe",
                  "telephone": "12345678",
                  "title": "Mr"
                }
              },
              "booker": {
                "address": {
                  "address_line": "Road-1, house-2",
                  "city": "Amsterdam",
                  "country": "nl",
                  "post_code": "11111"
                },
                "company": "Booking B.V",
                "email": "john.doe@booking.com",
                "language": "en-gb",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "telephone": "12345678"
              },
              "order_token": "sample-token",
              "payment": {
                "card": {
                  "cardholder": "John Doe",
                  "cvc": "111",
                  "expiry_date": "2030-10",
                  "number": "23333333333333"
                },
                "include_receipt": false,
                "method": "card",
                "timing": "pay_at_pickup"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/car_create_input"
              },
              {
                "required": [
                  "payment"
                ]
              }
            ]
          },
          {
            "title": "Create a cardless car rental order",
            "description": "Create a cardless car rental order only when the selected offer is payable at pickup, returns `credit_card_required=false` and has no online payable component. Do not determine this flow from `payment.timing` alone.",
            "example": {
              "car": {
                "driver": {
                  "email": "john.doe@booking.com",
                  "first_name": "John",
                  "last_name": "Doe",
                  "telephone": "12345678",
                  "title": "Mr"
                }
              },
              "booker": {
                "company": "Booking B.V",
                "email": "john.doe@booking.com",
                "language": "en-gb",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "telephone": "12345678"
              },
              "order_token": "sample-token"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/car_create_input"
              },
              {
                "properties": {
                  "payment": false
                }
              }
            ]
          }
        ]
      },
      "thirdPartyInventoryOutput": {
        "title": "Third party inventory related information for the created order. This field is only available for third party inventory orders.",
        "type": "object",
        "properties": {
          "checkin_number": {
            "description": "The number required at the time of check-in. It allows guests to confirm their order at the accommodation.",
            "type": "string",
            "example": "473026811"
          },
          "confirmation_number": {
            "description": "The confirmation number, when used in conjunction with the pincode, helps verify the customer's order and facilitates efficient support during inquiries or troubleshooting.",
            "type": "string",
            "example": "12365478936925814787"
          }
        }
      },
      "accommodationOutput": {
        "title": "OrderCreateAccommodationOutput",
        "description": "All accommodation related information for this order.",
        "type": "object",
        "properties": {
          "pincode": {
            "description": "Pincode for this accommodation order.",
            "type": "string"
          },
          "reservation": {
            "description": "Reservation ID for this accommodation order.",
            "type": "string"
          },
          "third_party_inventory": {
            "$ref": "#/components/schemas/thirdPartyInventoryOutput"
          }
        }
      },
      "paymentOutput-3": {
        "title": "OrderCreatePaymentOutput",
        "description": "All payment related information for this order.",
        "type": "object",
        "properties": {
          "authorisation_form_url": {
            "description": "Link to a virtual credit card''s authorisation form, valid for 7 minutes from issue. `This will only the added if the request has authorisation_form.`",
            "type": "string",
            "format": "uri",
            "example": "https://secure-admin.booking.com/airplus_auth_form_pdf.html?token=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&lang=en"
          },
          "receipt_url": {
            "description": "Link to the payment receipt of the order. `This will only be added if include_receipt is true.`",
            "type": "string",
            "format": "uri",
            "example": "https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en"
          }
        }
      },
      "carOutput": {
        "title": "OrderCreateCarOutput",
        "description": "All car rental related information for this order. This field is only present for car rental orders.",
        "type": "object",
        "properties": {
          "reservation": {
            "description": "The reservation ID (booking reference) for this car rental order. Use this identifier to retrieve the full, up-to-date booking details and status via the `/orders/details/cars` endpoint.",
            "type": "string",
            "example": "89423719"
          },
          "status": {
            "description": "This endpoint always returns \"processing\", indicating that the order creation request has been accepted and is being processed asynchronously. Use /orders/details/cars to obtain the order's latest status.",
            "type": "string",
            "enum": [
              "processing"
            ],
            "example": "processing"
          }
        }
      },
      "ordersCreateOutput": {
        "title": "OrderCreateOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "OrderCreateDataOutput",
            "oneOf": [
              {
                "title": "Accommodation order creation output",
                "type": "object",
                "properties": {
                  "order": {
                    "description": "ID for this order.",
                    "type": "string"
                  },
                  "accommodation": {
                    "$ref": "#/components/schemas/accommodationOutput"
                  },
                  "payment": {
                    "$ref": "#/components/schemas/paymentOutput-3"
                  }
                },
                "required": [
                  "accommodation"
                ],
                "example": {
                  "accommodation": {
                    "pincode": "0000",
                    "reservation": "12345678",
                    "third_party_inventory": {
                      "checkin_number": "123456789",
                      "confirmation_number": "12345678912345678912"
                    }
                  },
                  "payment": {
                    "receipt_url": "https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en"
                  }
                }
              },
              {
                "title": "Car order creation output",
                "type": "object",
                "properties": {
                  "order": {
                    "description": "ID for this order.",
                    "type": "string"
                  },
                  "car": {
                    "$ref": "#/components/schemas/carOutput"
                  }
                },
                "required": [
                  "car"
                ],
                "example": {
                  "car": {
                    "reservation": "89423719",
                    "status": "processing"
                  }
                }
              }
            ]
          }
        }
      },
      "error_duplicate_response": {
        "title": "ErrorDuplicateResponse",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "reservation": {
                  "type": "string",
                  "description": "The reservation ID associated with the duplicated request. Only returned when a reservation already exists."
                }
              },
              "required": [
                "id",
                "message"
              ]
            }
          }
        },
        "required": [
          "request_id",
          "errors"
        ]
      },
      "orderDatetimeFilter": {
        "title": "OrderDetailsDatetimeFilterInput",
        "description": "Filter orders by their \"created\" or \"updated\" timestamp. The maximum time range is 7 days.",
        "type": "object",
        "properties": {
          "from": {
            "description": "ISO 8601 timestamp in UTC. Start of the time range (inclusive). The value should be within last 1 year.",
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "description": "ISO 8601 timestamp in UTC, which indicates the timestamp till which you want to filter orders to (inclusive). It has to be greater than or equal to \"from\".",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "from"
        ]
      },
      "orderSort": {
        "title": "OrderDetailsSortInput",
        "description": "The sorting parameters for the response.",
        "type": "object",
        "properties": {
          "by": {
            "description": "The way to sort your results.",
            "type": "string",
            "enum": [
              "created",
              "updated"
            ],
            "default": "created"
          },
          "direction": {
            "description": "The direction you wish for your sort.by parameter to be sorted in.",
            "type": "string",
            "enum": [
              "ascending",
              "descending"
            ],
            "default": "descending"
          }
        },
        "required": [
          "by",
          "direction"
        ]
      },
      "extras-3": {
        "description": "Input parameter to request for additional information about this order.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "payment"
          ]
        }
      },
      "services": {
        "description": "Restricts results to one or more travel services. If omitted, behaviour depends on the filter used. Identifier-based requests return accommodation orders only, while date-based requests return all supported travel services available to the partner.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "accommodations",
            "cars",
            "flights",
            "attractions",
            "transfers"
          ]
        }
      },
      "inputUpdated": {
        "title": "Filter by last updated date",
        "description": "Retrieve orders that were last updated within a specific time range.",
        "type": "object",
        "properties": {
          "updated": {
            "$ref": "#/components/schemas/orderDatetimeFilter"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "updated",
          "currency"
        ],
        "example": {
          "updated": {
            "from": "2026-03-26T02:00:00+00:00",
            "to": "2026-03-28T02:00:00+00:00"
          },
          "currency": "EUR",
          "maximum_results": 20,
          "sort": {
            "by": "updated",
            "direction": "descending"
          },
          "extras": [
            "payment"
          ]
        }
      },
      "inputCreated": {
        "title": "Filter by creation date",
        "description": "Retrieve orders that were created within a specific time range.",
        "type": "object",
        "properties": {
          "created": {
            "$ref": "#/components/schemas/orderDatetimeFilter"
          },
          "currency": {
            "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
            "$ref": "#/components/schemas/currencyId"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "created",
          "currency"
        ],
        "example": {
          "created": {
            "from": "2026-03-26T02:00:00+00:00",
            "to": "2026-03-28T02:00:00+00:00"
          },
          "currency": "EUR",
          "maximum_results": 20,
          "sort": {
            "by": "created",
            "direction": "descending"
          },
          "extras": [
            "payment"
          ]
        }
      },
      "orderDateFilter": {
        "title": "OrderDetailsDateFilterInput",
        "description": "Filter orders by date range, covering the \"start\" and \"end\" date. The maximum date range is up to 7 days (1 week).",
        "type": "object",
        "properties": {
          "from": {
            "description": "ISO 8601 date in \"YYYY-MM-DD\" format. Start of the date range (inclusive). You can filter orders up to 1 year in the past and 500 days in the future.",
            "type": "string",
            "format": "date",
            "example": "2026-06-01"
          },
          "to": {
            "description": "ISO 8601 date in \"YYYY-MM-DD\" format. End of the date range (inclusive). It has to be greater than or equal to \"from\". It uses \"from\" value as default.",
            "type": "string",
            "format": "date",
            "example": "2026-06-03"
          }
        },
        "required": [
          "from"
        ]
      },
      "inputStart": {
        "title": "Filter by start date",
        "description": "Request parameters to retrieve orders based on the start date of the travel service (for example, check-in or pickup date).",
        "type": "object",
        "properties": {
          "start": {
            "$ref": "#/components/schemas/orderDateFilter"
          },
          "currency": {
            "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
            "$ref": "#/components/schemas/currencyId"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "start",
          "currency"
        ]
      },
      "inputEnd": {
        "title": "Filter by end date",
        "description": "Request parameters to retrieve orders based on the end date of the travel service (for example, check-out or drop-off date).",
        "type": "object",
        "properties": {
          "end": {
            "$ref": "#/components/schemas/orderDateFilter"
          },
          "currency": {
            "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
            "$ref": "#/components/schemas/currencyId"
          },
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "end",
          "currency"
        ]
      },
      "order": {
        "description": "Order ID for which details should be returned.",
        "type": "string"
      },
      "inputOrder": {
        "title": "Filter by order IDs",
        "description": "Request parameters to retrieve orders using a list of known order IDs. Use this option when you already know the order identifiers and need to retrieve precise records.",
        "type": "object",
        "properties": {
          "currency": {
            "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
            "$ref": "#/components/schemas/currencyId"
          },
          "orders": {
            "description": "List of order IDs for which details should be returned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/order"
            },
            "maxItems": 100
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "orders",
          "currency"
        ]
      },
      "inputReservations": {
        "title": "Filter by reservation IDs",
        "type": "object",
        "description": "Request parameters to retrieve order details using a list of reservation IDs across supported travel services.",
        "properties": {
          "currency": {
            "description": "A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href=\"/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
            "$ref": "#/components/schemas/currencyId"
          },
          "reservations": {
            "description": "List of reservation IDs for which details should be returned.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 100
          },
          "sort": {
            "$ref": "#/components/schemas/orderSort"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "reservations",
          "currency"
        ]
      },
      "inputPage": {
        "title": "Paginate through results",
        "description": "Request parameters to retrieve orders using the pagination token, allowing sequential access to large result sets.",
        "type": "object",
        "properties": {
          "page": {
            "$ref": "#/components/schemas/page"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-3"
          }
        },
        "required": [
          "page"
        ]
      },
      "accommodation_reservation": {
        "description": "This is the reservation id for the accommodation in this order.",
        "type": "string"
      },
      "attractionOutput": {
        "description": "Details of an attraction included in this order.",
        "title": "OrderDetailsAttractionsOutput",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the attraction.",
            "type": "string",
            "example": "Eiffel Tower Guided Tour"
          },
          "location": {
            "title": "OrderDetailsAttractionLocationOutput",
            "type": "object",
            "description": "Location details of the attraction.",
            "properties": {
              "city": {
                "description": "The city where the attraction is located.",
                "type": "string"
              },
              "country": {
                "$ref": "#/components/schemas/countryId"
              }
            }
          },
          "reservation": {
            "description": "This is the reservation id for the attraction in this order.",
            "type": "string"
          }
        }
      },
      "platform": {
        "description": "The booker platform for showing the platform based deals and prices.",
        "type": "string",
        "enum": [
          "app",
          "desktop",
          "mobile_browser",
          "tablet",
          "unknown"
        ]
      },
      "bookerOutput": {
        "title": "OrderDetailsBookerOutput",
        "description": "The booker's information.",
        "type": "object",
        "properties": {
          "address": {
            "title": "OrderDetailsAddressOutput",
            "description": "The booker's address for showing the best price for that user and obeying laws regarding the display of taxes and fees.",
            "type": "object",
            "properties": {
              "city": {
                "description": "The city for this address.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "country": {
                "description": "The country for this address.",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "email": {
            "description": "The booker's email address.",
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "$ref": "#/components/schemas/languageId"
          },
          "name": {
            "title": "OrderDetailsBookerNameOutput",
            "description": "The name of the booker.",
            "type": "object",
            "properties": {
              "first_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "last_name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "platform": {
            "description": "The device or environment used by the traveller to make the booking. Use this field to identify platform-specific pricing or eligibility. Possible values include `android`, `desktop`, `ios`, `mobile` and `tablet`.",
            "type": "string",
            "$ref": "#/components/schemas/platform"
          },
          "telephone": {
            "description": "The booker's telephone number.",
            "type": [
              "string",
              "null"
            ]
          },
          "travel_purpose": {
            "description": "The travel purpose of the booker.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "business",
              "leisure",
              "unknown"
            ]
          },
          "site_type": {
            "description": "The legacy site, application or integration channel through which the order was created. Common values include `www`, `mdot`, `android`, `iphone`, `ipad`, `xml`, `web` and `Android app`. Values may vary between travel services and additional values may be returned. Treat this field as open-ended and do not use it to determine the traveller's device type.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "car_reservation": {
        "description": "This is the reservation id for the car in this order.",
        "type": "string"
      },
      "createdOutput": {
        "description": "Order creation time. For transfer orders with multiple legs, this is the earliest creation date among all legs.",
        "type": "string",
        "format": "date-time"
      },
      "priceCurrencyOutput-2": {
        "title": "PriceCurrencyOutput",
        "description": "The amount in both product and booker currencies (booker might be null, if not requested)",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "booker_currency": {
            "description": "Amount in the booker's selected currency",
            "$ref": "#/components/schemas/monetaryAmount"
          },
          "product_currency": {
            "description": "Amount in the product's base currency",
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "itinerary": {
        "title": "ItineraryPoint",
        "type": "object",
        "properties": {
          "airport": {
            "description": "A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling  [common/locations/airports](#/common/locations/airports).",
            "pattern": "^[A-Z]{3}$",
            "type": "string",
            "example": "AMS"
          },
          "date_time": {
            "description": "Date time of the itinerary.",
            "type": "string",
            "format": "date-time",
            "example": "2025-09-17T18:45:00Z"
          }
        }
      },
      "itineraryOutput": {
        "title": "ItineraryOutput",
        "type": "object",
        "properties": {
          "arrival": {
            "description": "Arrival details.",
            "$ref": "#/components/schemas/itinerary"
          },
          "departure": {
            "description": "Departure details.",
            "$ref": "#/components/schemas/itinerary"
          }
        }
      },
      "loyaltyRewardOutput": {
        "description": "Details of the loyalty rewards associated with this order.",
        "type": [
          "array",
          "null"
        ],
        "items": {
          "title": "OrderDetailsLoyaltyRewardOutput",
          "type": "object",
          "properties": {
            "amount": {
              "description": "Reward amount expressed in the units defined by the reward type (for example, cash, miles, or points).",
              "type": "number",
              "format": "double"
            },
            "currency": {
              "description": "Currency used for reward calculation.",
              "$ref": "#/components/schemas/currencyId"
            },
            "eligible": {
              "description": "Whether the order is eligible for the reward.",
              "type": "boolean"
            },
            "fulfillment_at": {
              "description": "Date and time at which the reward should be fulfilled.",
              "type": "string",
              "format": "date"
            },
            "fulfillment_by": {
              "description": "Entity responsible for fulfilling the reward.",
              "type": "string",
              "enum": [
                "partner",
                "booking.com"
              ]
            },
            "loyalty_data": {
              "description": "Loyalty information required to fulfil the reward.",
              "type": [
                "array",
                "null"
              ],
              "items": {
                "title": "OrderDetailsLoyaltyDataOutput",
                "type": "object",
                "properties": {
                  "name": {
                    "description": "Name of the loyalty data.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value of the loyalty data.",
                    "type": "string"
                  }
                }
              }
            },
            "type": {
              "description": "Type of reward.",
              "type": "string",
              "enum": [
                "cash",
                "mile",
                "point",
                "voucher",
                "voucher_money",
                "voucher_subscription",
                "voucher_percentage"
              ]
            }
          }
        }
      },
      "paymentTransactions": {
        "type": "array",
        "items": {
          "title": "OrderDetailsPaymentTransactionOutput",
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "amount": {
              "description": "Amount of the transaction.",
              "type": "number"
            },
            "at": {
              "description": "Time of the transaction.",
              "type": "string",
              "format": "date-time"
            },
            "transaction_currency": {
              "description": "Currency in which the transaction took place.",
              "type": "string"
            }
          }
        }
      },
      "orderStatusOutput": {
        "title": "OrderDetailsStatusOutput",
        "description": "Overall status of the order. Not all status values apply to every travel service.",
        "type": "string",
        "enum": [
          "booked",
          "cancelled",
          "cancelled_by_guest",
          "cancelled_by_accommodation",
          "stayed",
          "no_show",
          "unknown"
        ],
        "x-enumDescriptions": {
          "booked": "The order has been confirmed. Applicable to all supported travel services.",
          "cancelled": "The order has been cancelled. Applicable to all supported travel services.",
          "cancelled_by_guest": "The accommodation reservation was cancelled by the traveller.",
          "cancelled_by_accommodation": "The accommodation reservation was cancelled by the accommodation provider.",
          "stayed": "The accommodation stay has been completed.",
          "no_show": "The traveller did not arrive for the accommodation stay.",
          "unknown": "Used only for transfer orders containing multiple legs when the individual legs have different statuses. Inspect `transfers[].status` to determine the status of each leg."
        }
      },
      "status": {
        "type": "string",
        "enum": [
          "booked",
          "cancelled",
          "cancelled_by_accommodation",
          "cancelled_by_guest",
          "no_show",
          "stayed"
        ]
      },
      "transferOutput": {
        "description": "Details of an individual transfer leg.",
        "title": "OrderDetailsTransferOutput",
        "type": "object",
        "properties": {
          "commission": {
            "title": "TransferCommissionOutput",
            "description": "Commission details for this transfer leg.",
            "type": "object",
            "properties": {
              "actual_amount": {
                "description": "The actual commission amount for this transfer leg.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              },
              "estimated_amount": {
                "description": "The estimated commission amount for this transfer leg.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              }
            }
          },
          "created": {
            "description": "The creation time of this transfer leg.",
            "type": "string",
            "format": "date-time"
          },
          "currencies": {
            "title": "TransferCurrencyOutput",
            "description": "Product and booker currencies for this transfer leg.",
            "type": "object",
            "properties": {
              "booker": {
                "description": "Booker's currency (ISO 4217).",
                "$ref": "#/components/schemas/currencyId"
              },
              "product": {
                "description": "Product's base currency (ISO 4217).",
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "dropoff_location": {
            "description": "Details of the dropoff location for this transfer leg.",
            "title": "OrderDetailsTransferDropoffLocationOutput",
            "type": "object",
            "properties": {
              "address": {
                "description": "The full address of the dropoff location.",
                "type": "string",
                "example": "Stationsplein 9, 3511 CE Utrecht"
              },
              "city": {
                "description": "The city of the dropoff location.",
                "type": "string",
                "example": "Utrecht"
              },
              "country": {
                "$ref": "#/components/schemas/countryId"
              }
            }
          },
          "end": {
            "description": "The end date and time of this transfer leg.",
            "type": "string",
            "format": "date-time"
          },
          "leg": {
            "description": "Unique identifier for this transfer leg within the order.",
            "type": "string",
            "example": "607244787653565"
          },
          "pickup_location": {
            "description": "Details of the pickup location for this transfer leg.",
            "title": "OrderDetailsTransferPickupLocationOutput",
            "type": "object",
            "properties": {
              "address": {
                "description": "The full address of the pickup location.",
                "type": "string",
                "example": "Amstel 51, 1018 EH Amsterdam, Netherlands"
              },
              "city": {
                "description": "The city of the pickup location.",
                "type": "string",
                "example": "Amsterdam"
              },
              "country": {
                "$ref": "#/components/schemas/countryId"
              }
            }
          },
          "price": {
            "title": "TransferPriceOutput",
            "description": "The price components for this transfer leg.",
            "type": "object",
            "properties": {
              "commissionable": {
                "description": "Price on which the commission is calculated for this transfer leg.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              },
              "total": {
                "description": "Total price for this transfer leg.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              }
            }
          },
          "reservation": {
            "description": "The reservation identifier shared by all transfer legs belonging to the same transfer order.",
            "type": "string",
            "example": "916957580"
          },
          "start": {
            "description": "The start date and time of this transfer leg.",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Status of this transfer leg. Unlike the aggregated order status, each transfer leg reports its own lifecycle. Use this field when tracking multi-leg transfer orders.\n\n- A status of booked indicates that the ride has been successfully reserved, and is to be fulfilled.\n- Transfer legs may still transition to cancelled or cancelled_by_guest after being booked.\n\nPartners should use this field to track the real-time lifecycle of each leg, especially for multi-leg transfer orders where different legs may have different statuses.",
            "$ref": "#/components/schemas/status"
          },
          "updated": {
            "description": "The last update time of this transfer leg.",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "updatedOutput": {
        "description": "Time the order was last updated. For transfer orders with multiple legs, this is the latest last modified time among all legs.",
        "type": "string",
        "format": "date-time"
      },
      "orderDetailsData": {
        "title": "OrderDetailsDataOutput",
        "description": "All details for this order.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier of the order.",
            "type": "string"
          },
          "accommodations": {
            "title": "OrderDetailsAccommodationsOutput",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/inventoryOutput"
              },
              "location": {
                "title": "AccommodationLocationOutput",
                "description": "Accommodation location.",
                "type": "object",
                "properties": {
                  "address": {
                    "description": "Accommodation address.",
                    "type": "string"
                  },
                  "city": {
                    "$ref": "#/components/schemas/cityId"
                  },
                  "country": {
                    "$ref": "#/components/schemas/countryId"
                  }
                }
              },
              "name": {
                "description": "Accommodation name.",
                "type": "string"
              },
              "number_of_guests": {
                "description": "Number of guests included in the accommodation reservation.",
                "type": "number",
                "minimum": 1
              },
              "reservation": {
                "$ref": "#/components/schemas/accommodation_reservation"
              },
              "stay_probability": {
                "description": "Probability that the traveller will complete the stay, based on internal calculations. A score of 0 indicates the highest likelihood of cancellation, while a score of 1 represents the highest likelihood of the traveller staying. Note: This score may not always be available.",
                "type": [
                  "number",
                  "null"
                ],
                "format": "double",
                "multipleOf": 0.01,
                "minimum": 0,
                "maximum": 1
              }
            }
          },
          "affiliate": {
            "description": "The affiliate id used for this order.",
            "type": "integer"
          },
          "attractions": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/attractionOutput"
              },
              {
                "type": "null"
              }
            ]
          },
          "booker": {
            "$ref": "#/components/schemas/bookerOutput"
          },
          "cars": {
            "title": "OrderDetailsCarsOutput",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "dropoff_location": {
                "title": "OrderDetailsCarsDropoffLocationOutput",
                "type": "object",
                "properties": {
                  "city": {
                    "description": "The city where the dropoff location is.",
                    "type": "string"
                  },
                  "country": {
                    "$ref": "#/components/schemas/countryId"
                  }
                }
              },
              "payment": {
                "title": "OrderDetailsCarsPaymentOutput",
                "description": "The payment policy that applies to this car rental.",
                "type": "object",
                "properties": {
                  "timing": {
                    "description": "Indicates when payment for this car rental is expected.\n\nUse this field to determine whether prepayment is required or if payment will occur at pickup.",
                    "type": "string",
                    "enum": [
                      "pay_online_now",
                      "pay_at_pickup",
                      "pay_partially_online",
                      "unknown"
                    ],
                    "x-enumDescriptions": {
                      "pay_online_now": "Payment is collected online at the time of booking.",
                      "pay_at_pickup": "Payment is collected locally at the pickup location.",
                      "pay_partially_online": "Part of the payment is made online at the moment of booking and the remaining at the pickup location.",
                      "unknown": "Payment timing is not available or could not be determined."
                    }
                  }
                },
                "required": [
                  "timing"
                ]
              },
              "pickup_location": {
                "title": "OrderDetailsCarsPickupLocationOutput",
                "type": "object",
                "properties": {
                  "city": {
                    "description": "The city where the pickup location is.",
                    "type": "string"
                  },
                  "country": {
                    "$ref": "#/components/schemas/countryId"
                  }
                }
              },
              "reservation": {
                "$ref": "#/components/schemas/car_reservation"
              }
            }
          },
          "created": {
            "$ref": "#/components/schemas/createdOutput"
          },
          "commission": {
            "title": "OrderDetailsCommissionOutput",
            "description": "Commission details for the partner for a given order. For transfer orders with multiple legs, amounts are the sum across all legs.",
            "type": "object",
            "properties": {
              "actual_commission_amount": {
                "description": "For accommodation: This is the final commission for this order (`null` if value is not yet available). For other travel services: It represents the estimated commission before billing and the final commission after billing.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              },
              "actual_percentage": {
                "description": "Actual commission percentage for this order (`null` if not yet available). For transfer orders with multiple legs, this is the percentage of legs.",
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "estimated_commission_amount": {
                "description": "This is an estimation displayed until the actual commission amount becomes available. For accommodations, may be null once the final commission value is set.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              }
            }
          },
          "currencies": {
            "title": "OrderCurrencyOutput",
            "description": "Product and booker currencies. `booker` is `null` if it was not specified in the request.",
            "type": "object",
            "properties": {
              "booker": {
                "description": "Booker’s currency (ISO 4217). See the full list of currencies calling the [common/payments/currencies](/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies).",
                "$ref": "#/components/schemas/currencyId"
              },
              "product": {
                "description": "Product’s base currency (ISO 4217). See the full list of currencies calling the [common/payments/currencies](/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies). For transfer orders with multiple legs, this is the currency of the first leg.",
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "end": {
            "description": "The date when this order ends. Must be later than `start`. For transfer orders with multiple legs, this is the latest pickup time among all legs.",
            "type": "string",
            "format": "date-time"
          },
          "flights": {
            "title": "OrderDetailsFlightsOutput",
            "type": [
              "object",
              "null"
            ],
            "description": "Flight details for this order.",
            "properties": {
              "itineraries": {
                "type": "array",
                "description": "List of flight itineraries included in the order.",
                "items": {
                  "$ref": "#/components/schemas/itineraryOutput"
                }
              },
              "reservation": {
                "description": "This is the reservation id for flight in this order.",
                "type": "string"
              }
            }
          },
          "label": {
            "description": "Custom string defined by the partner to track attribution throughout the booking journey. Use a consistent, machine-parseable format (for example, `brand-market_platform-channel_campaign`) to encode campaign, traffic source, platform, language, or other identifiers. Recommended for reliable reporting and analytics. See the [Labels and attributions guide](/demand/docs/orders-api/labels-attributions) for more details.",
            "type": [
              "string",
              "null"
            ]
          },
          "loyalty_reward": {
            "$ref": "#/components/schemas/loyaltyRewardOutput"
          },
          "payment": {
            "title": "OrderDetailsPaymentOutput",
            "description": "The payment details of this order.",
            "type": "object",
            "properties": {
              "accommodations": {
                "title": "OrderDetailsAccommodationPaymentOutput",
                "description": "The accommodation specific payment details of this order.",
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "authorisation_form": {
                    "description": "Link to the authorisation form of the order.",
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "uri",
                    "example": "https://secure-admin.booking.com/airplus_auth_form_pdf.html?token=AAAA&lang=en-us"
                  },
                  "receipt_url": {
                    "description": "Link to the payment receipt of the order. `This will only be added if the payment is already charged.`",
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "uri",
                    "example": "https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en"
                  },
                  "reservation": {
                    "description": "Reservation ID for this accommodation order.",
                    "type": "string"
                  }
                }
              },
              "method": {
                "description": "The payment method used for this order.",
                "type": "string",
                "enum": [
                  "airplus",
                  "card",
                  "wallet"
                ]
              },
              "paid": {
                "description": "The paid transactions for this order.",
                "$ref": "#/components/schemas/paymentTransactions"
              },
              "pending": {
                "description": "The pending transactions for this order.",
                "$ref": "#/components/schemas/paymentTransactions"
              },
              "timing": {
                "description": "The payment timing of this order.",
                "type": "string",
                "enum": [
                  "pay_at_the_property",
                  "pay_online_later",
                  "pay_online_now"
                ]
              }
            }
          },
          "price": {
            "title": "OrderDetailsPriceOutput",
            "description": "The price components of this order. For transfer orders with multiple legs, amounts are the sum across all legs.",
            "type": "object",
            "properties": {
              "commissionable_price": {
                "description": "Price on which the commission is calculated, in both currencies (booker and product).",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              },
              "total_price": {
                "description": "Final order price including all charges, in both currencies.",
                "$ref": "#/components/schemas/priceCurrencyOutput-2"
              }
            }
          },
          "start": {
            "description": "The date when this order starts. For transfer orders with multiple legs, this is the earliest pickup time among all legs.",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Overall order status. The returned values depend on the travel service associated with the order: \n\n- **Accommodation:** `booked`, `cancelled`, `cancelled_by_guest`, `cancelled_by_accommodation`, `stayed` and `no_show`. \n- **Cars** and **Attractions**: `booked` and `cancelled`.\n- **Flights**: `booked`, `cancelled` and `no_show`.\n- **Transfers**: `booked`, `cancelled` and `unknown`. \n\nFor transfer orders containing multiple legs, `unknown` indicates that the individual legs have different statuses. Inspect `transfers[].status` to determine the status of each leg.",
            "$ref": "#/components/schemas/orderStatusOutput"
          },
          "transfers": {
            "description": "List of transfer legs included in this order. Each item represents a separate transfer leg (e.g., outbound and return trips).",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/transferOutput"
            }
          },
          "updated": {
            "$ref": "#/components/schemas/updatedOutput"
          }
        },
        "oneOf": [
          {
            "title": "Accommodation order",
            "properties": {
              "accommodations": {
                "type": "object"
              },
              "attractions": {
                "type": "null"
              },
              "cars": {
                "type": "null"
              },
              "flights": {
                "type": "null"
              },
              "transfers": {
                "type": "null"
              }
            },
            "required": [
              "accommodations"
            ]
          },
          {
            "title": "Attraction order",
            "properties": {
              "accommodations": {
                "type": "null"
              },
              "attractions": {
                "type": "object"
              },
              "cars": {
                "type": "null"
              },
              "flights": {
                "type": "null"
              },
              "transfers": {
                "type": "null"
              }
            },
            "required": [
              "attractions"
            ]
          },
          {
            "title": "Car rental order",
            "properties": {
              "accommodations": {
                "type": "null"
              },
              "attractions": {
                "type": "null"
              },
              "cars": {
                "type": "object"
              },
              "flights": {
                "type": "null"
              },
              "transfers": {
                "type": "null"
              }
            },
            "required": [
              "cars"
            ]
          },
          {
            "title": "Flight order",
            "properties": {
              "accommodations": {
                "type": "null"
              },
              "attractions": {
                "type": "null"
              },
              "cars": {
                "type": "null"
              },
              "flights": {
                "type": "object"
              },
              "transfers": {
                "type": "null"
              }
            },
            "required": [
              "flights"
            ]
          },
          {
            "title": "Transfer order",
            "properties": {
              "accommodations": {
                "type": "null"
              },
              "attractions": {
                "type": "null"
              },
              "cars": {
                "type": "null"
              },
              "flights": {
                "type": "null"
              },
              "transfers": {
                "type": "array"
              }
            },
            "required": [
              "transfers"
            ]
          }
        ]
      },
      "ordersDetailsOutput": {
        "title": "OrderDetailsOutput",
        "description": "Collection of orders matching the request.",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/orderDetailsData"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          },
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          }
        }
      },
      "extras-4": {
        "description": "Input parameter to request for additional information about the accommodation order. It should be passed as a JSON array with one or more items.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "accommodation_details",
            "policies",
            "extra_charges"
          ]
        }
      },
      "inputOrder-2": {
        "title": "Retrieve by Order IDs",
        "description": "Retrieve accommodation order details using order IDs.",
        "type": "object",
        "properties": {
          "orders": {
            "description": "List of order IDs for which details should be returned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/order"
            },
            "maxItems": 100
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-4"
          },
          "language": {
            "description": "Language for translated content. If not provided, English (en-gb) is used by default.",
            "$ref": "#/components/schemas/languageId"
          }
        },
        "required": [
          "orders"
        ]
      },
      "reservation": {
        "description": "Accommodation reservation id for which details have to be returned.",
        "type": "string"
      },
      "inputReservation": {
        "title": "Retrieve by Reservation IDs",
        "description": "Retrieve accommodation order details using reservation IDs.",
        "type": "object",
        "properties": {
          "reservations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reservation"
            },
            "maxItems": 100
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "extras": {
            "$ref": "#/components/schemas/extras-4"
          },
          "language": {
            "description": "Language in which translation should be provided. The default language is from settings",
            "$ref": "#/components/schemas/languageId"
          }
        },
        "required": [
          "reservations"
        ]
      },
      "bookerOutput-2": {
        "title": "OrderDetailsBookerOutput",
        "description": "The booker's information.",
        "type": "object",
        "properties": {
          "external_account": {
            "description": "This is a unique identifier that represents the account provided by the partner in Booking.com settings. This field is used to link a specific accommodation order to the corresponding account so is possible to accurately allocate loyalty points or other benefits in the partner's loyalty and rewards programs.",
            "type": "string"
          },
          "platform": {
            "description": "The booker platform for showing the platform based deals and prices.",
            "$ref": "#/components/schemas/platform"
          }
        }
      },
      "checkinMethod-2": {
        "description": "An enumeration that describes the check-in process and key collection method. This is typically applicable to non-hotel accommodations (such as houses or apartments) that do not have a 24-hour front desk.",
        "type": "string",
        "enum": [
          "door_code",
          "lock_box",
          "reception",
          "secret_spot",
          "someone_will_meet",
          "unknown"
        ]
      },
      "keyLocation-2": {
        "description": "Location of the key to access this accommodation property.",
        "type": "string",
        "enum": [
          "at_the_property",
          "different_place",
          "unknown"
        ]
      },
      "keyCollectionInformation-2": {
        "title": "AccommodationsKeyCollectionInformationOutput",
        "type": "object",
        "properties": {
          "additional_instructions": {
            "description": "Free-text instructions that provide additional context or details about the key collection or check-in process, such as access codes, entry procedures, or contact information.",
            "type": "string"
          },
          "alternate_location": {
            "title": "AlternateLocationOutput",
            "description": "An alternate location where guests can collect the key, if applicable. Display this location in addition to the primary key collection information. This location may be provided even when the primary key collection location is at the accommodation property.",
            "type": "object",
            "properties": {
              "address": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "postal_code": {
                "type": "string"
              }
            }
          },
          "checkin_method": {
            "$ref": "#/components/schemas/checkinMethod-2"
          },
          "key_location": {
            "$ref": "#/components/schemas/keyLocation-2"
          }
        }
      },
      "pricePerAccommodationReservation": {
        "title": "AccommodationReservationPriceOutput",
        "description": "The price components of this accommodation order.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "commissionable": {
            "description": "The commissionable price. Reservation price on which commission amount is calculated.",
            "$ref": "#/components/schemas/priceCurrencyOutput",
            "nullable": true
          },
          "total": {
            "description": "The total price. Includes all extra charges.",
            "$ref": "#/components/schemas/priceCurrencyOutput"
          }
        }
      },
      "valueAddPostBook": {
        "title": "ValueAddPostBookOutput",
        "type": "object",
        "description": "Value-added service with its type and descriptive text localised in specified language.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/valueAddType"
          },
          "description": {
            "type": "array",
            "description": "Translated descriptive text in the requested language.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "bundlePostBook": {
        "title": "BundlePostBookOutput",
        "type": "object",
        "description": "A bundle attached to the reservation that includes information about the value-added service in the specified language.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Bundle identifier"
          },
          "value_adds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/valueAddPostBook"
            }
          }
        }
      },
      "guest-2": {
        "title": "GuestOutput",
        "type": "object",
        "properties": {
          "email": {
            "description": "The email address of the guest.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The name of the guest.",
            "type": "string"
          }
        }
      },
      "detailsAccommodationsProductPolicies": {
        "title": "AccommodationDetailsProductPoliciesOutput",
        "description": "The policies for this product. Requires `{\"extras\":[\"policies\"]}`.",
        "type": "object",
        "properties": {
          "cancellation": {
            "$ref": "#/components/schemas/productDetailedCancellationPolicyMultiCurrency",
            "nullable": true
          },
          "meal_plan": {
            "$ref": "#/components/schemas/productMealPlanPolicy"
          },
          "smoking_preference": {
            "description": "Smoking Preference for this product.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "smoking",
              "non-smoking"
            ]
          }
        }
      },
      "chargeV32": {
        "title": "OrdersDetailsCharge",
        "description": "Charge information. Note: chargeable_online is not available in this endpoint.",
        "type": "object",
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/chargeTypeId"
          },
          "mode": {
            "$ref": "#/components/schemas/chargeMode"
          },
          "percentage": {
            "$ref": "#/components/schemas/chargePercentage"
          },
          "total_amount": {
            "$ref": "#/components/schemas/priceCurrencyOutput"
          },
          "unit_amount": {
            "$ref": "#/components/schemas/priceCurrencyOutput",
            "nullable": true
          },
          "condition": {
            "description": "Specifies the condition under which this charge applies. Returns `null` if the charge is not conditional.",
            "$ref": "#/components/schemas/conditionId",
            "nullable": true
          },
          "included_in": {
            "title": "ChargeIncludedInDetails",
            "description": "Indicates where this charge is included. Note: chargeable_online is not available in this endpoint.",
            "type": "object",
            "properties": {
              "display": {
                "description": "Indicates if this charge is included in the display price.",
                "type": "boolean"
              }
            }
          }
        }
      },
      "productPrice-2": {
        "title": "AccommodationDetailsProductPriceOutput",
        "description": "The price components of this product. 'base', 'display', and 'charges' are returned only when explicitly requested (via 'extras=extra_charges'). Note: chargeable_online field is not available in this endpoint.",
        "type": "object",
        "properties": {
          "base": {
            "description": "The base price. It does not include any extra charges.",
            "$ref": "#/components/schemas/priceCurrencyOutput",
            "nullable": true
          },
          "display": {
            "description": "The display price that must be shown to the traveller under local booker protection laws. Equivalent to base + charges where included_in.display=true.",
            "$ref": "#/components/schemas/priceCurrencyOutput",
            "nullable": true
          },
          "charges": {
            "description": "The charge breakdown. Includes taxes and fees.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargeV32"
            }
          },
          "total": {
            "description": "The total price. Includes all extra charges.",
            "$ref": "#/components/schemas/priceCurrencyOutput",
            "nullable": true
          }
        }
      },
      "detailsAccommodationsProductOutput": {
        "title": "OrdersDetailsAccommodationsProductsOutput",
        "description": "The returned information of the product reserved.",
        "type": "object",
        "properties": {
          "allocation": {
            "title": "OrdersDetailsAccommodationsPropertiesOutput",
            "description": "The allocation of guests, adults and children for this product.",
            "type": "object",
            "properties": {
              "guests": {
                "description": "The number of guests reserved for this product.",
                "type": "integer",
                "minimum": 1
              },
              "adults": {
                "description": "The number of adults reserved for this product.",
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 1
              },
              "children": {
                "description": "The list of ages of all children reserved for this product.",
                "type": "array",
                "items": {
                  "description": "The age of a child",
                  "type": [
                    "integer",
                    "null"
                  ],
                  "maximum": 17
                }
              }
            }
          },
          "bundle": {
            "$ref": "#/components/schemas/bundlePostBook"
          },
          "guests": {
            "description": "The guest details for this product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/guest-2"
            }
          },
          "policies": {
            "$ref": "#/components/schemas/detailsAccommodationsProductPolicies"
          },
          "price": {
            "$ref": "#/components/schemas/productPrice-2"
          },
          "room": {
            "description": "A unique identifier for a specific room within an accommodation property. You can retrieve the full list of available room IDs by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).",
            "type": "string"
          },
          "room_details": {
            "title": "RoomDetailsOutput",
            "description": "Room details for this product (via 'extras=accommodation_details').",
            "type": "object",
            "properties": {
              "name": {
                "description": "The room name given to this product.",
                "type": "string"
              }
            }
          },
          "room_reservation": {
            "description": "The room reservation id given to this product.",
            "type": "string"
          },
          "status": {
            "description": "Status of the product.",
            "$ref": "#/components/schemas/status"
          }
        }
      },
      "ordersDetailsAccommodations": {
        "title": "OrdersDetailsAccommodationsOutput",
        "description": "Object containing all the information related to accommodation order.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Order ID for this accommodation order.",
            "type": "string"
          },
          "accommodation": {
            "description": "Accommodation ID for this order.",
            "type": "integer"
          },
          "accommodation_details": {
            "title": "OrdersAccommodationDetailsOutput",
            "description": "Accommodation details for this accommodation order (via 'extras=accommodation_details').",
            "type": "object",
            "properties": {
              "email": {
                "description": "Accommodation email.",
                "type": "string"
              },
              "location": {
                "title": "AccommodationLocationOutput",
                "description": "Accommodation location.",
                "type": "object",
                "properties": {
                  "address": {
                    "description": "Accommodation address.",
                    "type": "string"
                  },
                  "city": {
                    "description": "Accommodation city_id.",
                    "type": "integer"
                  },
                  "coordinates": {
                    "title": "AccommodationCoordinatesOutput",
                    "description": "Accommodation coordinates.",
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "description": "Accommodation latitude coordinate.",
                        "type": "number"
                      },
                      "longitude": {
                        "description": "Accommodation longitude coordinate.",
                        "type": "number"
                      }
                    }
                  },
                  "country": {
                    "description": "Accommodation country.",
                    "$ref": "#/components/schemas/countryId"
                  },
                  "post_code": {
                    "description": "Accommodation post code.",
                    "type": "string"
                  }
                }
              },
              "name": {
                "description": "Accommodation name.",
                "type": "string"
              },
              "telephone": {
                "description": "Accommodation telephone.",
                "type": "string"
              }
            }
          },
          "accommodation_order_references": {
            "description": "List of additional accommodation order references generated by the accommodation.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "booker": {
            "$ref": "#/components/schemas/bookerOutput-2"
          },
          "cancellation_details": {
            "title": "OrderCancellationDetailsOutput",
            "description": "Fee charged for cancellation and the datetime at which the cancellation occurred. (If not cancelled, value is null).",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "at": {
                "description": "Cancellation datetime.",
                "type": "string",
                "format": "date-time"
              },
              "fee": {
                "description": "Cancellation fee.",
                "$ref": "#/components/schemas/priceCurrencyOutput"
              },
              "original_total_price": {
                "description": "The total amount that would have been charged if this order had not been cancelled. Includes all extra charges.",
                "$ref": "#/components/schemas/priceCurrencyOutput"
              }
            }
          },
          "checkin": {
            "description": "The checkin date of this accommodation order.",
            "type": "string",
            "format": "date"
          },
          "checkout": {
            "description": "The checkout date of this accommodation order.",
            "type": "string",
            "format": "date"
          },
          "commission": {
            "title": "OrderCommissionOutput",
            "description": "Commission details for the partner for this accommodation order.",
            "type": "object",
            "properties": {
              "actual_amount": {
                "description": "Actual commission amount for this accommodation order (`null` if value is not yet available).",
                "$ref": "#/components/schemas/priceCurrencyOutput",
                "nullable": true
              },
              "actual_percentage": {
                "description": "Actual commission percentage for this accommodation order (`null` if value is not yet available).",
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "estimated_amount": {
                "description": "Estimated commission amount for this accommodation order (`null` if the actual amount is given).",
                "$ref": "#/components/schemas/priceCurrencyOutput",
                "nullable": true
              }
            }
          },
          "credit_slip_number": {
            "description": "The financial document issued by Booking.com to partners, detailing the payout amount and the associated transaction information. It serves as a formal record of the payment, ensuring transparency and facilitating accurate financial tracking for both parties.",
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "title": "OrderCurrencyOutput",
            "description": "Accommodation and booker currencies (booker will be `null`, if the request did not specify the currency).",
            "type": "object",
            "properties": {
              "accommodation": {
                "$ref": "#/components/schemas/currencyId"
              },
              "booker": {
                "nullable": true,
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "inventory": {
            "$ref": "#/components/schemas/inventoryOutput"
          },
          "key_collection_information": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/keyCollectionInformation-2"
            }
          },
          "label": {
            "description": "Label provided when the accommodation order was created.",
            "type": [
              "string",
              "null"
            ]
          },
          "pin_code": {
            "description": "The pin code of this accommodation order.",
            "type": "string"
          },
          "price": {
            "$ref": "#/components/schemas/pricePerAccommodationReservation"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/detailsAccommodationsProductOutput"
            }
          },
          "reservation": {
            "description": "Reservation ID for given accommodation order.",
            "type": "string"
          },
          "remarks": {
            "description": "Guest remarks added while creating order.",
            "type": "string"
          },
          "status": {
            "description": "Status of this accommodation order.",
            "$ref": "#/components/schemas/status"
          },
          "stay_probability": {
            "description": "Score that predicts the likelihood of a traveller's intent to stay, based on internal calculations. A score of 0 indicates the highest likelihood of cancellation, while a score of 1 represents the highest likelihood of the traveller staying. Note: This score may not always be available.",
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "multipleOf": 0.01,
            "minimum": 0,
            "maximum": 1
          },
          "third_party_inventory": {
            "title": "ThirdPartyInventoryAccommodationsDetailsOutput",
            "description": "Third party inventory related information for this accommodation order. This field is only available for third party inventory orders.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "checkin_number": {
                "description": "The number required at the time of check-in. It allows guests to confirm their order at the accommodation.",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "outputAccommodationsOrder": {
        "title": "OrdersDetailsAccommodationsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "description": "Response containing accommodation order details. Each item in data is classified by its inventory source and may represent either third-party or Booking.com inventory.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "title": "Third-party inventory accommodation order",
                  "description": "An accommodation order fulfilled through third-party inventory.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ordersDetailsAccommodations"
                    },
                    {
                      "properties": {
                        "inventory": {
                          "properties": {
                            "third_party": {
                              "const": true
                            }
                          },
                          "required": [
                            "third_party"
                          ]
                        }
                      },
                      "required": [
                        "inventory"
                      ]
                    }
                  ],
                  "example": {
                    "id": "509430129718800",
                    "accommodation": 123456,
                    "accommodation_details": {
                      "email": "test_hotel@booking.com",
                      "location": {
                        "address": "111 Street Road",
                        "city": 20089219,
                        "coordinates": {
                          "latitude": 11.923274,
                          "longitude": -92.716188
                        },
                        "country": "us",
                        "post_code": "NY 1234"
                      },
                      "name": "Test Booking Hotel USA",
                      "telephone": "+19876543210"
                    },
                    "accommodation_order_references": [
                      "12345",
                      "ABED2312"
                    ],
                    "booker": {
                      "external_account": "13610217",
                      "platform": "mobile"
                    },
                    "cancellation_details": {
                      "at": "2025-12-09T00:00:00+00:00",
                      "fee": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      },
                      "original_total_price": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      }
                    },
                    "checkin": "2025-12-10",
                    "checkout": "2025-12-18",
                    "commission": {
                      "actual_amount": null,
                      "actual_percentage": null,
                      "estimated_amount": {
                        "accommodation_currency": 17.5,
                        "booker_currency": 19.23
                      }
                    },
                    "credit_slip_number": "hsnl1223445",
                    "currency": {
                      "accommodation": "EUR",
                      "booker": "USD"
                    },
                    "inventory": {
                      "third_party": true,
                      "type": "sell"
                    },
                    "key_collection_information": [
                      {
                        "additional_instructions": "The keys are in a keybox located next to the front door.",
                        "alternate_location": {
                          "address": "abc",
                          "city": "bdweb",
                          "postal_code": "1015XX"
                        },
                        "checkin_method": "someone_will_meet",
                        "key_location": "at_the_property"
                      }
                    ],
                    "label": "One123",
                    "pin_code": "1234",
                    "price": {
                      "commissionable": {
                        "accommodation_currency": 164.01,
                        "booker_currency": 180.27
                      },
                      "total": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      }
                    },
                    "products": [
                      {
                        "allocation": {
                          "adults": 2,
                          "children": [
                            3,
                            4,
                            5
                          ],
                          "guests": 5
                        },
                        "guests": [
                          {
                            "email": "test.name@booking.com",
                            "name": "Test Name"
                          }
                        ],
                        "policies": {
                          "cancellation": [
                            {
                              "from": null,
                              "price": {
                                "accommodation_currency": 170.01,
                                "booker_currency": 186.87
                              }
                            }
                          ],
                          "meal_plan": {
                            "meals": [
                              "breakfast"
                            ],
                            "plan": "breakfast_included"
                          },
                          "smoking_preference": "non-smoking"
                        },
                        "price": {
                          "base": {
                            "accommodation_currency": 170.01,
                            "booker_currency": 186.87
                          },
                          "display": {
                            "accommodation_currency": 200.97,
                            "booker_currency": 220.9
                          },
                          "charges": [
                            {
                              "charge": 142,
                              "mode": "per_person_per_night",
                              "percentage": null,
                              "total_amount": {
                                "accommodation_currency": 6,
                                "booker_currency": 6.6
                              },
                              "unit_amount": {
                                "accommodation_currency": 3,
                                "booker_currency": 3.3
                              },
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            },
                            {
                              "charge": 21,
                              "mode": "percentage",
                              "percentage": 9,
                              "total_amount": {
                                "accommodation_currency": 14.04,
                                "booker_currency": 15.43
                              },
                              "unit_amount": null,
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            },
                            {
                              "charge": 22,
                              "mode": "percentage",
                              "percentage": 7,
                              "total_amount": {
                                "accommodation_currency": 10.92,
                                "booker_currency": 12
                              },
                              "unit_amount": null,
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            }
                          ],
                          "total": {
                            "accommodation_currency": 200.97,
                            "booker_currency": 220.9
                          }
                        },
                        "room": "12345",
                        "room_details": {
                          "name": "Double Deluxe Room"
                        },
                        "room_reservation": "1234567890",
                        "status": "booked"
                      }
                    ],
                    "remarks": "We will need an extra cot. Need room on higher floor",
                    "reservation": "12345678",
                    "status": "booked",
                    "stay_probability": 0.12,
                    "third_party_inventory": {
                      "checkin_number": "CHK-123456"
                    }
                  }
                },
                {
                  "title": "Booking.com inventory accommodation order",
                  "description": "An accommodation order fulfilled through Booking.com inventory.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ordersDetailsAccommodations"
                    },
                    {
                      "properties": {
                        "inventory": {
                          "properties": {
                            "third_party": {
                              "const": false
                            }
                          },
                          "required": [
                            "third_party"
                          ]
                        }
                      },
                      "required": [
                        "inventory"
                      ]
                    }
                  ],
                  "example": {
                    "id": "509430129718799",
                    "accommodation": 123456,
                    "accommodation_details": {
                      "email": "test_hotel@booking.com",
                      "location": {
                        "address": "111 Street Road",
                        "city": 20089219,
                        "coordinates": {
                          "latitude": 11.923274,
                          "longitude": -92.716188
                        },
                        "country": "us",
                        "post_code": "NY 1234"
                      },
                      "name": "Test Booking Hotel USA",
                      "telephone": "+19876543210"
                    },
                    "accommodation_order_references": [
                      "12345",
                      "ABED2312"
                    ],
                    "booker": {
                      "external_account": "13610217",
                      "platform": "mobile"
                    },
                    "cancellation_details": {
                      "at": "2025-12-09T00:00:00+00:00",
                      "fee": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      },
                      "original_total_price": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      }
                    },
                    "checkin": "2025-12-10",
                    "checkout": "2025-12-18",
                    "commission": {
                      "actual_amount": null,
                      "actual_percentage": null,
                      "estimated_amount": {
                        "accommodation_currency": 17.5,
                        "booker_currency": 19.23
                      }
                    },
                    "credit_slip_number": "hsnl1223445",
                    "currency": {
                      "accommodation": "EUR",
                      "booker": "USD"
                    },
                    "inventory": {
                      "third_party": false,
                      "type": "sell"
                    },
                    "key_collection_information": [
                      {
                        "additional_instructions": "The keys are in a keybox located next to the front door.",
                        "alternate_location": {
                          "address": "abc",
                          "city": "bdweb",
                          "postal_code": "1015XX"
                        },
                        "checkin_method": "someone_will_meet",
                        "key_location": "at_the_property"
                      }
                    ],
                    "label": "One123",
                    "pin_code": "1234",
                    "price": {
                      "commissionable": {
                        "accommodation_currency": 164.01,
                        "booker_currency": 180.27
                      },
                      "total": {
                        "accommodation_currency": 170.01,
                        "booker_currency": 186.87
                      }
                    },
                    "products": [
                      {
                        "allocation": {
                          "adults": 2,
                          "children": [
                            3,
                            4,
                            5
                          ],
                          "guests": 5
                        },
                        "guests": [
                          {
                            "email": "test.name@booking.com",
                            "name": "Test Name"
                          }
                        ],
                        "policies": {
                          "cancellation": [
                            {
                              "from": null,
                              "price": {
                                "accommodation_currency": 170.01,
                                "booker_currency": 186.87
                              }
                            }
                          ],
                          "meal_plan": {
                            "meals": [
                              "breakfast"
                            ],
                            "plan": "breakfast_included"
                          },
                          "smoking_preference": "non-smoking"
                        },
                        "price": {
                          "base": {
                            "accommodation_currency": 170.01,
                            "booker_currency": 186.87
                          },
                          "display": {
                            "accommodation_currency": 200.97,
                            "booker_currency": 220.9
                          },
                          "charges": [
                            {
                              "charge": 142,
                              "mode": "per_person_per_night",
                              "percentage": null,
                              "total_amount": {
                                "accommodation_currency": 6,
                                "booker_currency": 6.6
                              },
                              "unit_amount": {
                                "accommodation_currency": 3,
                                "booker_currency": 3.3
                              },
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            },
                            {
                              "charge": 21,
                              "mode": "percentage",
                              "percentage": 9,
                              "total_amount": {
                                "accommodation_currency": 14.04,
                                "booker_currency": 15.43
                              },
                              "unit_amount": null,
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            },
                            {
                              "charge": 22,
                              "mode": "percentage",
                              "percentage": 7,
                              "total_amount": {
                                "accommodation_currency": 10.92,
                                "booker_currency": 12
                              },
                              "unit_amount": null,
                              "condition": null,
                              "included_in": {
                                "display": true
                              }
                            }
                          ],
                          "total": {
                            "accommodation_currency": 200.97,
                            "booker_currency": 220.9
                          }
                        },
                        "room": "12345",
                        "room_details": {
                          "name": "Double Deluxe Room"
                        },
                        "room_reservation": "1234567890",
                        "status": "booked"
                      }
                    ],
                    "remarks": "We will need an extra cot. Need room on higher floor",
                    "reservation": "12345678",
                    "status": "booked",
                    "stay_probability": 0.12
                  }
                }
              ]
            }
          }
        }
      },
      "supplierOutput": {
        "title": "SupplierOutput",
        "description": "Car rental supplier (company) information.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the supplier.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Name of the car rental supplier (e.g., 'Avis', 'Hertz').",
            "type": [
              "string",
              "null"
            ]
          },
          "telephone": {
            "description": "Contact telephone number for the pickup location.",
            "type": [
              "string",
              "null"
            ]
          },
          "confirmation_number": {
            "description": "Supplier's confirmation/reference number for the booking.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "carMonetaryAmount-2": {
        "title": "CarMonetaryAmount",
        "description": "Monetary amount with currency and payment timing.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "value": {
            "description": "The monetary value.",
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "currency": {
            "description": "The ISO 4217 currency code (e.g., 'EUR', 'USD').",
            "type": [
              "string",
              "null"
            ]
          },
          "timing": {
            "description": "The applied payment timing. For example 'pay_online_now'.",
            "type": "string",
            "enum": [
              "pay_online_now",
              "pay_at_pickup"
            ]
          }
        }
      },
      "carsPriceOutput-3": {
        "title": "CarsPriceOutput",
        "description": "Price amounts for display and payment.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "display": {
            "description": "Amount shown to the traveller in the requested currency. If no currency is requested, the response uses the default display currency when available. This conversion does not change the actual payment currency. This object or its `value` may be null when a display amount is unavailable.",
            "$ref": "#/components/schemas/carMonetaryAmount-2"
          },
          "pay": {
            "description": "The amount and currency used for payment for this component. Online payment, pick-up payment and insurance may use different payment currencies. Requesting a different display currency does not change this payment currency. This object or its `value` may be null when a payment amount is unavailable.",
            "$ref": "#/components/schemas/carMonetaryAmount-2"
          }
        }
      },
      "carPriceOutput": {
        "title": "CarPriceOutput",
        "description": "Pricing breakdown for the car rental.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "base": {
            "description": "Car rental price for the full rental duration after applicable promotions. It excludes separately charged insurance, optional ancillaries, mandatory taxes and mandatory fees. The amount is included in the relevant payment total or totals.",
            "$ref": "#/components/schemas/carsPriceOutput-3"
          },
          "pre_discount_base": {
            "description": "Car rental price for the full rental duration before applicable discounts, when available. It equals base when no discount applies. This amount is informational and is not an additional charge.",
            "$ref": "#/components/schemas/carsPriceOutput-3"
          },
          "total": {
            "description": "Payment totals grouped by `pay.timing`. Each item represents one payment timing, such as `pay_online_now` or `pay_at_pickup`. Each total includes all applicable rental charges, insurance, optional ancillaries, mandatory taxes and mandatory fees for that timing. Do not add these totals to each other or add their components again. The refundable security deposit is not included.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/carsPriceOutput-3"
            }
          }
        }
      },
      "mileageOutput-3": {
        "title": "MileageOutput",
        "description": "Mileage policy information.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "distance_limit": {
            "description": "Maximum distance allowed when mileage is limited.",
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "distance_unit": {
            "description": "Unit used for distance_limit and any mileage overage charge.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "kilometers",
              "miles"
            ]
          },
          "amount": {
            "description": "Cost per unit of distance if mileage is limited.",
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "currency": {
            "description": "Currency for the mileage overage charge.",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "description": "Type of mileage policy.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "limited",
              "unlimited"
            ]
          }
        }
      },
      "cancellationScheduleOutput": {
        "title": "CancellationScheduleOutput",
        "description": "A single cancellation period defining the conditions and any applicable fee for a specific time window.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "from": {
            "description": "Start date and time of this cancellation period in ISO-8601 format.",
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "description": "End date and time of this cancellation period in ISO-8601 format.",
            "type": "string",
            "format": "date-time"
          },
          "free_cancellation": {
            "description": "Indicates whether cancellation is free during this period. When true, no cancellation fee applies. In case is false and the price is null, the fee is pending and will be typically determined 48h before pickup.",
            "type": "boolean"
          },
          "price": {
            "description": "Cancellation fee for this period. Null when fee has not yet been determined.",
            "$ref": "#/components/schemas/carsPriceOutput-3"
          }
        }
      },
      "cancellationOutput-3": {
        "title": "CancellationOutput",
        "description": "Cancellation policy information.",
        "type": "object",
        "properties": {
          "type": {
            "description": "Type of cancellation policy.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "free_cancellation",
              "non_refundable"
            ]
          },
          "schedule": {
            "description": "Chronological list of cancellation periods with their applicable fees. Each entry represents a contiguous time window and its cancellation conditions. Periods are ordered by start time and expressed in UTC. When present, the schedule fully describes the cancellation policy.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/cancellationScheduleOutput"
            }
          }
        }
      },
      "carsGeneralPoliciesOutput": {
        "title": "CarsGeneralPoliciesOutput",
        "description": "General policies applicable to the car rental.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "deposit": {
            "description": "Refundable security deposit required at pickup.",
            "$ref": "#/components/schemas/carMonetaryAmount-2"
          },
          "mileage": {
            "description": "Mileage policy details.",
            "$ref": "#/components/schemas/mileageOutput-3"
          },
          "fuel_policy": {
            "description": "Fuel policy applied to the rental.",
            "type": "string",
            "enum": [
              "return_same",
              "return_same_or_prepay_no_refunds",
              "return_same_preauth",
              "free_tank",
              "prepay_no_refunds",
              "prepay_part_refunds",
              "prepay_refunds",
              "unknown"
            ]
          },
          "cancellation": {
            "description": "Cancellation policy details.",
            "$ref": "#/components/schemas/cancellationOutput-3"
          }
        }
      },
      "carDetailsOutput": {
        "title": "CarDetailsOutput",
        "description": "Vehicle, supplier, pricing, and policy details.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "flight_number": {
            "description": "Arrival flight number associated with the car pick-up, corresponding to car.flight_number in /orders/create. Omitted when no flight number is available. Maximum 10 characters.",
            "type": "string",
            "maxLength": 10,
            "example": "BA123"
          },
          "id": {
            "description": "Unique identifier of the booked vehicle. Corresponds to the car field returned by /cars/search and the id field returned by /cars/details.",
            "type": [
              "integer",
              "null"
            ]
          },
          "image": {
            "description": "Relative path to the car image. Combine this path with the CDN base URL to retrieve the image. May be null if no image is available.",
            "type": [
              "string",
              "null"
            ]
          },
          "category": {
            "description": "Category of the car (e.g., 'Compact', 'SUV').",
            "type": [
              "string",
              "null"
            ]
          },
          "transmission": {
            "description": "Transmission type (e.g., 'Automatic', 'Manual').",
            "type": [
              "string",
              "null"
            ]
          },
          "doors": {
            "description": "Number of doors.",
            "type": [
              "string",
              "null"
            ]
          },
          "seats": {
            "description": "Number of seats.",
            "type": [
              "string",
              "null"
            ]
          },
          "air_conditioning": {
            "description": "Whether the car has air conditioning.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "big_suitcase": {
            "description": "Number of large suitcases the car can accommodate.",
            "type": [
              "string",
              "null"
            ]
          },
          "small_suitcase": {
            "description": "Number of small suitcases the car can accommodate.",
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "description": "Currency code for pricing (e.g., 'EUR', 'USD').",
            "type": [
              "string",
              "null"
            ]
          },
          "make_and_model": {
            "description": "Make and model of the car (e.g., 'Toyota Corolla').",
            "type": [
              "string",
              "null"
            ]
          },
          "special_offer": {
            "description": "The special offer included with this product, if any. This can be an additional service, a free upgrade, or a promotional feature provided by the supplier. If no special offer applies, the value is null.",
            "type": [
              "string",
              "null"
            ]
          },
          "supplier": {
            "description": "Car hire supplier information.",
            "$ref": "#/components/schemas/supplierOutput"
          },
          "price": {
            "description": "Pricing information for the car rental.",
            "$ref": "#/components/schemas/carPriceOutput"
          },
          "policies": {
            "description": "Applicable policies including deposit, mileage, fuel, and cancellation.",
            "$ref": "#/components/schemas/carsGeneralPoliciesOutput"
          }
        }
      },
      "routePointOutput-3": {
        "title": "RoutePointOutput",
        "description": "Pickup or dropoff location details.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "datetime": {
            "description": "Pickup/dropoff date and time in ISO-8601 format.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "location": {
            "description": "Pickup/dropoff location name.",
            "type": [
              "string",
              "null"
            ]
          },
          "depot_description": {
            "description": "Description of the depot location for display purposes (e.g., 'Airport', 'Downtown').",
            "type": [
              "string",
              "null"
            ]
          },
          "depot_id": {
            "description": "Unique identifier of the depot.",
            "type": [
              "string",
              "null"
            ]
          },
          "instructions": {
            "description": "Pickup or dropoff instructions at this location.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "carProductOutput-2": {
        "title": "carProductOutput",
        "description": "Optional extra or service added to the car hire order. Some values may represent similar extras because suppliers use different naming conventions for the same or comparable products.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for this product/extra.",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "description": "Type of extra product.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "additional_driver",
              "baby_seat",
              "bluetooth_handsfree_kit",
              "booster_seat",
              "child_booster_seat",
              "child_seat",
              "child_seat_isofix",
              "etc_card_electronic_toll_collection_card",
              "excess_protection",
              "fast_track",
              "gps",
              "infant_seat",
              "luggage_rack",
              "personal_travel_assistant",
              "queue_jump",
              "roof_rack",
              "ski_box",
              "ski_rack",
              "skierized_equipment",
              "snow_chains",
              "snow_tyres",
              "wifi_mobile",
              "wifi_router"
            ],
            "x-enumDescriptions": {
              "additional_driver": "Authorises an additional person to drive the vehicle.",
              "baby_seat": "Baby seat for infants up to around 12 months or 9 kg/20 lbs.",
              "bluetooth_handsfree_kit": "Bluetooth device for hands-free phone calls while driving.",
              "booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_booster_seat": "Booster seat for children around 4–11 years old, up to 45 kg/100 lbs.",
              "child_seat": "Child seat for children around 1–3 years old, up to 18 kg/40 lbs.",
              "child_seat_isofix": "Child safety seat compatible with ISOFIX anchor points.",
              "etc_card_electronic_toll_collection_card": "Electronic toll collection card for automatic toll payments.",
              "excess_protection": "Covers the excess payable in the event of damage or theft.",
              "fast_track": "Equivalent to `queue_jump`.",
              "gps": "Satellite navigation device.",
              "infant_seat": "Infant seat for babies or young children.",
              "luggage_rack": "Additional luggage storage.",
              "personal_travel_assistant": "Travel assistance service.",
              "queue_jump": "Allows travellers to skip the standard queue at pickup.",
              "roof_rack": "Roof-mounted rack for carrying additional luggage or equipment.",
              "ski_box": "Roof-mounted enclosed storage box for skis or luggage.",
              "ski_rack": "Roof-mounted rack designed to transport skis.",
              "skierized_equipment": "Winter sports equipment.",
              "snow_chains": "Tyre chains for snow.",
              "snow_tyres": "Winter tyres.",
              "wifi_mobile": "Mobile WiFi hotspot providing internet access during the rental.",
              "wifi_router": "Portable WiFi router providing internet access."
            }
          },
          "selected_quantity": {
            "description": "Number of this product selected. The applicable quantity is already included in price.",
            "type": [
              "integer",
              "null"
            ]
          },
          "mode": {
            "description": "How the supplier charges for this product. The returned price already accounts for the applicable rental duration and quantity; do not multiply it again.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "each_per_day",
              "each_per_rental",
              "per_day",
              "per_rental"
            ]
          },
          "price": {
            "description": "Total price of this product for the full rental and applicable selected quantity. Already included in car.price.total for its pay.timing. Do not multiply by days or quantity again.",
            "$ref": "#/components/schemas/carsPriceOutput-3"
          }
        }
      },
      "driverOutput": {
        "title": "DriverOutput",
        "description": "Details of the primary driver associated with the booking.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "name": {
            "description": "Full name of the driver.",
            "type": "string"
          },
          "email": {
            "description": "Email address of the driver.",
            "type": "string",
            "format": "email"
          },
          "telephone": {
            "description": "Driver’s phone number.",
            "type": "string"
          }
        }
      },
      "carInsuranceMonetaryAmount": {
        "title": "CarInsuranceMonetaryAmount",
        "description": "Monetary amount with currency for insurance prices.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "value": {
            "description": "The monetary value.",
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "currency": {
            "description": "The ISO 4217 currency code (e.g., 'EUR', 'USD').",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "carsInsurancePriceOutput": {
        "title": "CarsInsurancePriceOutput",
        "description": "Insurance price amounts for display and payment. Payment timing is not applicable.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "display": {
            "description": "Amount displayed to the traveller, converted to the requested currency when applicable.",
            "$ref": "#/components/schemas/carInsuranceMonetaryAmount"
          },
          "pay": {
            "description": "The amount the traveller will pay in the supplier's currency.",
            "$ref": "#/components/schemas/carInsuranceMonetaryAmount"
          }
        }
      },
      "insuranceStatus": {
        "title": "InsuranceStatus",
        "description": "Current status of an insurance policy.",
        "type": "string",
        "enum": [
          "new",
          "confirmed",
          "cancelled"
        ],
        "x-enumDescriptions": {
          "new": "The insurance policy has been created and is pending confirmation. policy_reference is omitted until the policy is issued.",
          "confirmed": "The insurance policy is active and confirmed.",
          "cancelled": "The insurance policy has been cancelled."
        }
      },
      "insuranceDocument-2": {
        "title": "InsuranceDocument",
        "description": "A single insurance document and its retrieval status.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The insurance document type.",
            "type": "string",
            "enum": [
              "policy_document",
              "ipid",
              "certificate"
            ],
            "x-enumDescriptions": {
              "policy_document": "Full legal insurance contract: terms and conditions of cover, exclusions, eligibility, claim conditions, and cancellation terms.",
              "ipid": "Insurance Product Information Document (IPID): a short, compliance-focused summary of the key coverage information to help the traveller understand the insurance product before purchase.",
              "certificate": "Certificate of Insurance (COI): formal proof that insurance cover is in place, issued after the policy is confirmed. It may include traveller- and policy-specific details and also serves as proof of purchase. The URL is short-lived (expires approximately 10 minutes after it is issued) and must not be cached. Call this endpoint again to obtain a fresh URL."
            }
          },
          "url": {
            "description": "URL of the insurance document when status is available; otherwise null.",
            "type": [
              "string",
              "null"
            ],
            "example": "https://staging.rentalcover.com/en/pds/WXXG-CVHM-INS"
          },
          "status": {
            "description": "Retrieval status of this document.",
            "type": "string",
            "enum": [
              "available",
              "unavailable",
              "temporarily_unavailable"
            ],
            "x-enumDescriptions": {
              "available": "The document was retrieved; `url` is populated.",
              "unavailable": "The document is not available because it does not exist. `url` is null. Retrying the request will not make the document available.",
              "temporarily_unavailable": "The document could not be retrieved because the insurance policy is not yet confirmed or the downstream service was temporarily unavailable (5xx). `url` is null. Retry the request later."
            }
          }
        },
        "required": [
          "name",
          "url",
          "status"
        ]
      },
      "orderDetailsCarsInsuranceOutput": {
        "title": "OrderDetailsCarsInsuranceOutput",
        "description": "Insurance product details associated with the booking.",
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier for the insurance type.",
            "type": "string",
            "example": "335"
          },
          "name": {
            "description": "Name of the insurance product (in English by default)",
            "type": "string",
            "example": "Full Protection"
          },
          "price": {
            "description": "Price of the insurance.",
            "$ref": "#/components/schemas/carsInsurancePriceOutput"
          },
          "policy_reference": {
            "description": "Unique reference identifier for the issued insurance policy. This field is omitted while status is new and returned once the policy is issued. Use this reference when contacting customer support or requesting cancellation of the policy.",
            "type": "string",
            "example": "4e9d5e7c-c11d-41ee-9f77-cb2508104199"
          },
          "status": {
            "description": "Current status of the insurance policy.",
            "$ref": "#/components/schemas/insuranceStatus"
          },
          "documents": {
            "description": "Insurance documents associated with this policy. Documents are retrieved independently, and each document reports its own retrieval status. Failure to retrieve one or more documents does not cause the request to fail. This array is always returned when an insurance object is present and always contains exactly three entries — one for each supported document type (policy_document, ipid, certificate) — even when a document could not be retrieved (in which case its url is null).",
            "type": "array",
            "minItems": 3,
            "maxItems": 3,
            "items": {
              "$ref": "#/components/schemas/insuranceDocument-2"
            }
          }
        },
        "required": [
          "documents"
        ]
      },
      "invoiceDocumentStatus": {
        "title": "InvoiceDocumentStatus",
        "description": "Availability of an invoice document.",
        "type": "string",
        "enum": [
          "available",
          "temporarily_unavailable",
          "unavailable"
        ],
        "x-enumDescriptions": {
          "available": "The document is available for download and `url` is populated. Download it immediately because the URL is valid for 10 minutes and must not be cached.",
          "temporarily_unavailable": "The document is expected but is not currently available. `url` is `null`. Retry the request later.",
          "unavailable": "The document is not available and will not be issued. `url` is `null`. Retrying the request will not make it available."
        }
      },
      "ordersDetailsCarsInvoiceFileOutput": {
        "title": "OrdersDetailsCarsInvoiceFileOutput",
        "description": "The URL and availability status of an invoice document.",
        "type": "object",
        "properties": {
          "url": {
            "description": "A temporary URL for downloading the document. The URL is valid for 10 minutes. Download the document immediately and do not cache the URL. The URL is `null` when the document is unavailable.",
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "status": {
            "description": "Availability of this document.",
            "$ref": "#/components/schemas/invoiceDocumentStatus"
          }
        },
        "required": [
          "url",
          "status"
        ]
      },
      "ordersDetailsCarsInvoiceDocumentOutput": {
        "title": "OrdersDetailsCarsInvoiceDocumentOutput",
        "description": "An invoice or credit document associated with the car reservation.",
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of accounting document.",
            "type": "string",
            "enum": [
              "invoice",
              "credit"
            ],
            "x-enumDescriptions": {
              "invoice": "A document that records an amount charged for the reservation.",
              "credit": "A document that records a credit or refund associated with the reservation."
            }
          },
          "created": {
            "description": "The date and time when the invoice was created, in UTC. This value is null while the invoice is expected but has not yet been generated.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "invoice_document": {
            "description": "The primary human-readable document associated with this accounting document.",
            "$ref": "#/components/schemas/ordersDetailsCarsInvoiceFileOutput"
          },
          "electronic_invoice": {
            "description": "The machine-readable electronic document associated with this accounting document. Returned where required by local e-invoicing legislation, such as for eligible bookings in Romania. Its status is unavailable when an electronic document is not applicable or will not be issued.",
            "$ref": "#/components/schemas/ordersDetailsCarsInvoiceFileOutput"
          }
        },
        "required": [
          "type",
          "created",
          "invoice_document",
          "electronic_invoice"
        ],
        "examples": [
          {
            "type": "invoice",
            "created": "2026-09-01T06:10:00Z",
            "invoice_document": {
              "url": "https://example.com/invoice.pdf",
              "status": "available"
            },
            "electronic_invoice": {
              "url": "https://example.com/invoice.xml",
              "status": "available"
            }
          },
          {
            "type": "credit",
            "created": null,
            "invoice_document": {
              "url": null,
              "status": "temporarily_unavailable"
            },
            "electronic_invoice": {
              "url": null,
              "status": "unavailable"
            }
          }
        ]
      },
      "carsPostbookOutput": {
        "title": "CarsPostbookOutput",
        "description": "Live car order details for a single reservation.",
        "type": "object",
        "properties": {
          "affiliate": {
            "description": "The affiliate ID used for this order.",
            "type": "integer"
          },
          "car": {
            "description": "Details of the rented vehicle, including supplier, pricing and policies.",
            "$ref": "#/components/schemas/carDetailsOutput"
          },
          "dropoff": {
            "description": "Drop-off location and time details.",
            "$ref": "#/components/schemas/routePointOutput-3"
          },
          "pickup": {
            "description": "Pick-up location and time details.",
            "$ref": "#/components/schemas/routePointOutput-3"
          },
          "products": {
            "description": "Optional ancillary services added to the car hire order (for example, additional driver, child seat, or GPS).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/carProductOutput-2"
            }
          },
          "reservation": {
            "description": "The reservation ID for this car order.",
            "type": "string"
          },
          "duration": {
            "description": "Duration of the car rental in days.",
            "type": [
              "integer",
              "null"
            ]
          },
          "driver": {
            "description": "Details of the primary driver associated with the booking. Only returned when PII sharing is enabled.",
            "$ref": "#/components/schemas/driverOutput"
          },
          "status": {
            "description": "Current status of the car order.",
            "type": "string",
            "enum": [
              "cancelled",
              "confirmed",
              "not_confirmed",
              "quote",
              "completed",
              "processing",
              "unknown"
            ],
            "x-enumDescriptions": {
              "cancelled": "The order has been cancelled and is no longer active.",
              "confirmed": "The booking is confirmed by the supplier and is active.",
              "not_confirmed": "The order request exists but was not confirmed (still pending checks).",
              "quote": "A price quote has been created but the booking has not been placed.",
              "completed": "The rental has finished and the order is fully completed.",
              "processing": "The booking is being processed and payment/final confirmation is pending.",
              "unknown": "The booking status is unknown."
            }
          },
          "insurance": {
            "description": "Insurance products purchased as part of the car rental booking. Returns null if no insurance was purchased.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/orderDetailsCarsInsuranceOutput"
            }
          },
          "invoices": {
            "description": "Invoice documents for this reservation. Returned only when extras.include_invoice is true. Each document has an independent availability status. When a document URL is available, download it immediately. URLs are valid for 10 minutes and must not be cached. Call this endpoint again to obtain a fresh URL.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/ordersDetailsCarsInvoiceDocumentOutput"
            }
          }
        }
      },
      "ordersDetailsCarsOutput": {
        "title": "OrdersDetailsCarsLiveOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "description": "List of car order objects for the requested reservations.",
            "items": {
              "$ref": "#/components/schemas/carsPostbookOutput"
            }
          }
        }
      },
      "FaqInput": {
        "title": "FaqInput",
        "type": "object",
        "description": "Input parameters for retrieving car rental FAQs",
        "properties": {
          "languages": {
            "type": "array",
            "description": "Required. One or more preferred language codes expressed as IETF language tags (for example, en-gb, es). The API returns FAQs in each requested language where available. If content is not available for a requested language, the response defaults to English.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 50
          }
        },
        "required": [
          "languages"
        ]
      },
      "Faq": {
        "title": "Faq",
        "type": "object",
        "description": "A map containing a question translated in each of the requested languages and answers for that specific question, translated in each of the requested languages. ",
        "properties": {
          "question": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of IETF language tags to the translated question strings. Each key is a language code (e.g., en-gb, fr), and the value is the corresponding translation of the question."
          },
          "answers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Map of IETF language tags to arrays of translated answer paragraphs. Each key is a language code (e.g., en-gb, fr), and the value is an array of strings representing the paragraphs of the answer."
          }
        },
        "required": [
          "question",
          "answers"
        ]
      },
      "FaqOutput": {
        "title": "FaqOutput",
        "type": "object",
        "description": "Response object containing the set of frequently asked questions (FAQs) returned for the request.",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "object",
            "description": "Container for the FAQ results.",
            "properties": {
              "faqs": {
                "description": "List of FAQ items, each containing a question and its corresponding answer.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Faq"
                }
              }
            },
            "required": [
              "faqs"
            ]
          }
        },
        "required": [
          "request_id",
          "data"
        ]
      },
      "orders_cars_terms_and_conditions_input": {
        "type": "object",
        "required": [
          "booker",
          "reservations"
        ],
        "properties": {
          "booker": {
            "type": "object",
            "required": [
              "country"
            ],
            "description": "Information about the booker",
            "properties": {
              "country": {
                "$ref": "#/components/schemas/countryId"
              }
            }
          },
          "language": {
            "description": "Optional. An ISO 639-1 language code (e.g. 'en-gb', 'es') indicating the preferred language for the terms and conditions.",
            "$ref": "#/components/schemas/languageId"
          },
          "reservations": {
            "type": "array",
            "description": "An array of car rental reservation IDs for which to retrieve terms and conditions. Must include at least one valid ID.",
            "items": {
              "type": "string",
              "example": "765255700"
            },
            "minItems": 1
          },
          "filters": {
            "type": "object",
            "description": "Optional filters that control which terms and conditions are returned.",
            "properties": {
              "voucher": {
                "type": "boolean",
                "description": "When true, returns only the terms and conditions that must appear on the booking voucher shown to the traveller. A booking voucher is the confirmation document that the traveller must present at the car rental desk to collect the vehicle."
              }
            }
          }
        }
      },
      "orders_cars_terms_and_conditions_output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "Order terms map",
            "type": "object",
            "description": "Map of reservation IDs to their terms and conditions. Invalid or missing reservations return null.",
            "propertyNames": {
              "title": "Reservation ID (Map key)",
              "description": "The reservation ID key from the request.",
              "type": "string"
            },
            "additionalProperties": {
              "title": "Order terms object (Map value)",
              "description": "Contains the terms object for this reservation ID or null if invalid.",
              "type": [
                "object",
                "null"
              ],
              "required": [
                "terms"
              ],
              "properties": {
                "terms": {
                  "title": "Terms and conditions content",
                  "description": "Hierarchical array of terms for this order. Each item may be a chapter, section, clause, sub_clause, or clause_option.",
                  "$ref": "#/components/schemas/terms"
                }
              }
            }
          }
        }
      },
      "input-7": {
        "title": "FlightsDetailsInput",
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          }
        },
        "oneOf": [
          {
            "title": "Retrieve flight details by Order ID",
            "properties": {
              "orders": {
                "description": "List of order IDs for which details should be returned. Mutually exclusive with 'reservations'.",
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "Flight order id for which details have to be returned."
                },
                "maxItems": 100
              }
            },
            "required": [
              "orders"
            ],
            "example": {
              "currency": "EUR",
              "orders": [
                "1234567890123456",
                "9876543210987654"
              ]
            }
          },
          {
            "title": "Retrieve flight details by Reservation ID",
            "properties": {
              "reservations": {
                "description": "List of reservation IDs for which details should be returned. Mutually exclusive with 'orders'.",
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "Flight reservation id for which details have to be returned."
                },
                "maxItems": 100
              }
            },
            "required": [
              "reservations"
            ],
            "example": {
              "currency": "EUR",
              "reservations": [
                "2321873123",
                "4666773123"
              ]
            }
          }
        ]
      },
      "currencyOutput": {
        "title": "CurrencyOutput",
        "type": "object",
        "properties": {
          "booker_currency": {
            "description": "The currency of the booker.",
            "type": "string"
          },
          "order_currency": {
            "description": "The currency in which the order was created.",
            "type": "string"
          }
        }
      },
      "itinerary-2": {
        "title": "ItineraryPoint",
        "type": "object",
        "properties": {
          "airport": {
            "description": "A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling  [common/locations/airports](#/common/locations/airports).",
            "pattern": "^[A-Z]{3}$",
            "type": "string"
          },
          "date_time": {
            "description": "Date time of the itinerary.",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "itineraryOutput-2": {
        "title": "ItineraryOutput",
        "type": "object",
        "properties": {
          "arrival": {
            "description": "Arrival itinerary.",
            "$ref": "#/components/schemas/itinerary-2"
          },
          "departure": {
            "description": "Departure itinerary.",
            "$ref": "#/components/schemas/itinerary-2"
          }
        }
      },
      "priceOutput-2": {
        "title": "PriceOutput",
        "type": "object",
        "properties": {
          "booker_currency": {
            "description": "The price in the currency of the booker",
            "type": "number",
            "format": "double"
          },
          "order_currency": {
            "description": "The price in the currency in which order was created",
            "type": "number",
            "format": "double"
          }
        }
      },
      "flightsOutput": {
        "title": "FlightsOutput",
        "type": "object",
        "properties": {
          "id": {
            "description": "Order id",
            "type": "string"
          },
          "reservation": {
            "description": "This is the reservation id for the travel service in this order.",
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyOutput"
          },
          "itineraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/itineraryOutput-2"
            }
          },
          "label": {
            "description": "Identifier associated with the order.",
            "type": "string"
          },
          "price": {
            "$ref": "#/components/schemas/priceOutput-2"
          },
          "status": {
            "description": "Status of the flight order. `unknown` is returned only when the status cannot be determined.",
            "type": "string",
            "enum": [
              "booked",
              "cancelled",
              "no_show",
              "unknown"
            ]
          }
        }
      },
      "output-10": {
        "title": "OrdersDetailsFlightsOutput",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/flightsOutput"
            }
          },
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          }
        }
      },
      "orderId": {
        "type": "string",
        "description": "Order ID to be modified"
      },
      "dateChange": {
        "type": "object",
        "properties": {
          "checkin": {
            "type": "string",
            "format": "date",
            "description": "New checkin date"
          },
          "checkout": {
            "type": "string",
            "format": "date",
            "description": "New checkout date"
          }
        },
        "required": [
          "checkin",
          "checkout"
        ]
      },
      "roomChange": {
        "type": "object",
        "properties": {
          "room_reservation": {
            "type": "string",
            "description": "ID of the room reservation to modify."
          },
          "allocation": {
            "type": "object",
            "description": "Updated guest allocation for the room.",
            "properties": {
              "number_of_adults": {
                "type": "integer",
                "description": "Number of adults allocated to the room."
              }
            }
          },
          "guests": {
            "description": "Updated guest information for the room.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Name of the guest."
                }
              }
            }
          },
          "smoking_preference": {
            "type": "string",
            "description": "Updated smoking preference for the room.\n\nPossible values:\n* no_preference: No smoking preference specified.\n* non_smoking: Non-smoking room preferred.\n* smoking: Smoking room preferred.",
            "enum": [
              "no_preference",
              "non_smoking",
              "smoking"
            ]
          }
        }
      },
      "accommodationChange": {
        "type": "object",
        "properties": {
          "reservation": {
            "type": "string",
            "description": "Reservation ID"
          },
          "change": {
            "oneOf": [
              {
                "title": "DateChange",
                "$ref": "#/components/schemas/dateChange"
              },
              {
                "title": "RoomChange",
                "$ref": "#/components/schemas/roomChange"
              }
            ]
          },
          "type": {
            "description": "Type of the accommodation change",
            "type": "string",
            "enum": [
              "dates",
              "room"
            ]
          }
        },
        "required": [
          "reservation",
          "type",
          "change"
        ]
      },
      "accommodationModificationInput": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/orderId"
          },
          "modification": {
            "type": "object",
            "properties": {
              "accommodation": {
                "$ref": "#/components/schemas/accommodationChange"
              }
            },
            "required": [
              "accommodation"
            ]
          }
        },
        "required": [
          "order",
          "modification"
        ]
      },
      "cardDetails": {
        "type": "object",
        "properties": {
          "cardholder": {
            "type": "string",
            "description": "Cardholder name"
          },
          "cvc": {
            "type": "string",
            "description": "A 3 or 4 digit Card Verification Code (CVC) associated with the used card"
          },
          "expiry_date": {
            "type": "string",
            "format": "YYYY-MM",
            "description": "Card expiry date"
          },
          "number": {
            "type": "string",
            "description": "Card number"
          }
        },
        "required": [
          "cardholder",
          "cvc",
          "expiry_date",
          "number"
        ]
      },
      "paymentChange": {
        "type": "object",
        "properties": {
          "change": {
            "$ref": "#/components/schemas/cardDetails"
          },
          "type": {
            "description": "Type of the payment change",
            "type": "string",
            "enum": [
              "card"
            ]
          }
        },
        "required": [
          "type",
          "change"
        ]
      },
      "paymentModificationInput": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/orderId"
          },
          "modification": {
            "type": "object",
            "properties": {
              "payment": {
                "$ref": "#/components/schemas/paymentChange"
              }
            },
            "required": [
              "payment"
            ]
          }
        },
        "required": [
          "modification"
        ]
      },
      "accommodationModificationOutput": {
        "type": "object",
        "properties": {
          "modification": {
            "type": "object",
            "properties": {
              "accommodation": {
                "type": "object",
                "properties": {
                  "new_price": {
                    "description": "New price to be paid after the modification",
                    "type": "number",
                    "format": "double"
                  },
                  "status": {
                    "description": "Outcome of the modification request.\n\nPossible values:\n* successful: The modification succeeded.\n* failed: The modification failed.\n\nNote: For modifications requiring payment processing, you may receive the detailed format instead (with both modification_status and payment_status fields).",
                    "type": "string",
                    "enum": [
                      "successful",
                      "failed"
                    ]
                  },
                  "modification_status": {
                    "description": "Overall outcome of the modification returned in the detailed response format. This is independent from payment status.\n\nPossible values:\n* successful: The modification succeeded.\n* failed: The modification failed.",
                    "type": "string",
                    "enum": [
                      "successful",
                      "failed"
                    ]
                  },
                  "payment_status": {
                    "description": "Payment processing status for the modification. Returned in the detailed response format when payment is required for example for a price increase.\n\nPossible values:\n* successful: Payment was successful.\n* failed: Payment failed.\n* pending: Payment is still being processed. Use /orders/details to check the latest payment status.",
                    "type": "string",
                    "enum": [
                      "successful",
                      "failed",
                      "pending"
                    ]
                  },
                  "message": {
                    "description": "Human-readable message describing the modification and payment outcomes. Returned in the detailed response format. May include guidance on checking payment status using /orders/details.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "statusOutput": {
        "description": "Status for this modification request.",
        "type": "string",
        "enum": [
          "successful",
          "failed"
        ]
      },
      "paymentModificationOutput": {
        "type": "object",
        "properties": {
          "modifications": {
            "type": "object",
            "properties": {
              "payment": {
                "type": "object",
                "properties": {
                  "status": {
                    "$ref": "#/components/schemas/statusOutput"
                  }
                }
              }
            }
          }
        }
      },
      "orderId-2": {
        "type": "string",
        "description": "The unique identifier of the order containing the reservation to be modified. This is the order ID returned when the order was created."
      },
      "accommodationChange-2": {
        "type": "object",
        "properties": {
          "reservation": {
            "type": "string",
            "description": "The unique identifier of the specific accommodation reservation within the order that you want to modify."
          },
          "type": {
            "description": "The type of modification to preview.",
            "type": "string",
            "enum": [
              "dates",
              "room"
            ]
          },
          "change": {
            "description": "The details of the requested change. The structure depends on the modification type."
          }
        },
        "required": [
          "reservation",
          "type",
          "change"
        ]
      },
      "accommodationModificationPreviewInput": {
        "type": "object",
        "description": "Request to preview an accommodation modification.",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/orderId-2"
          },
          "modification": {
            "type": "object",
            "properties": {
              "accommodation": {
                "$ref": "#/components/schemas/accommodationChange-2"
              }
            },
            "required": [
              "accommodation"
            ]
          }
        },
        "required": [
          "order",
          "modification"
        ]
      },
      "dateChange-2": {
        "title": "Date change details",
        "type": "object",
        "description": "New check-in and check-out dates for the reservation.",
        "properties": {
          "checkin": {
            "type": "string",
            "format": "date",
            "description": "The new check-in date in ISO 8601 format (YYYY-MM-DD).",
            "example": "2027-04-19"
          },
          "checkout": {
            "type": "string",
            "format": "date",
            "description": "The new checkout date in ISO 8601 format (YYYY-MM-DD). Must be after the check-in date.",
            "example": "2027-04-22"
          }
        },
        "required": [
          "checkin",
          "checkout"
        ]
      },
      "roomChange-2": {
        "title": "Room allocation change details",
        "type": "object",
        "description": "The requested change to the number of adults allocated to a room reservation. This preview does not support guest name or smoking preference changes.",
        "properties": {
          "room_reservation": {
            "type": "string",
            "description": "The identifier of the room reservation whose adult allocation you want to change.",
            "example": "9876543210"
          },
          "allocation": {
            "type": "object",
            "description": "The new guest allocation for the room.",
            "properties": {
              "number_of_adults": {
                "type": "integer",
                "description": "The new number of adults allocated to the room. The value must be at least 1 and must not exceed the room's maximum capacity.",
                "minimum": 1,
                "example": 2
              }
            },
            "required": [
              "number_of_adults"
            ]
          }
        },
        "required": [
          "room_reservation",
          "allocation"
        ]
      },
      "accommodationModificationPreviewOutput": {
        "title": "Accommodation modification preview response",
        "description": "Result of checking whether a requested accommodation change can be applied. A successful preview does not apply the change; submit it separately to /orders/modify.",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "object",
            "properties": {
              "modifiable": {
                "type": "boolean",
                "description": "Whether the requested modification can be applied. When true, submit the same change to /orders/modify to apply it. When false, reason identifies the business constraint that prevents the change."
              },
              "reason": {
                "type": "string",
                "description": "The business constraint that prevents the requested modification. Returned when modifiable is false and omitted when modifiable is true.",
                "enum": [
                  "not_allowed_for_online_payment",
                  "guest_count_change_not_allowed",
                  "exceeds_room_capacity",
                  "no_change_needed",
                  "exceeds_max_nights",
                  "not_available",
                  "modification_not_possible"
                ],
                "x-enumDescriptions": {
                  "not_allowed_for_online_payment": "The modification is not allowed because the order was paid online at the time of booking. Date and card modifications are restricted for online-paid orders.",
                  "guest_count_change_not_allowed": "The number of adults cannot be changed because the rate uses a fixed occupancy configured by the property.",
                  "exceeds_room_capacity": "The requested number of adults exceeds the maximum capacity of the room.",
                  "no_change_needed": "The requested values match the current reservation details, so no change is needed.",
                  "exceeds_max_nights": "The requested date range exceeds the maximum allowed stay duration configured for this property.",
                  "not_available": "The accommodation is not available for the requested dates. This may be due to the room being fully booked or the dates being outside the property's available period.",
                  "modification_not_possible": "The modification cannot be applied due to other business constraints or system limitations."
                }
              },
              "price": {
                "type": "object",
                "description": "Price comparison returned for a modifiable date change. It contains the current and proposed total order prices. It is not returned for room allocation changes or when the date change cannot be applied. The prices include all applicable taxes, fees, and any Genius discounts.",
                "properties": {
                  "currency": {
                    "$ref": "#/components/schemas/currencyId"
                  },
                  "current": {
                    "type": "object",
                    "description": "The current total price of the order before any modification.",
                    "properties": {
                      "amount": {
                        "type": "number",
                        "format": "double",
                        "description": "The current total cost amount.",
                        "example": 150
                      }
                    },
                    "required": [
                      "amount"
                    ]
                  },
                  "new": {
                    "type": "object",
                    "description": "The total price of the reservation after the date change.",
                    "properties": {
                      "amount": {
                        "type": "number",
                        "format": "double",
                        "description": "The new total cost amount after the modification.",
                        "example": 180
                      }
                    },
                    "required": [
                      "amount"
                    ]
                  }
                },
                "required": [
                  "currency",
                  "current",
                  "new"
                ]
              }
            },
            "required": [
              "modifiable"
            ]
          }
        }
      },
      "cancelInput": {
        "title": "Cancel a travel service",
        "description": "Cancels a travel service within an existing order. Provide the reservation details for the travel service you want to cancel. Only one travel service can be cancelled per request.",
        "type": "object",
        "properties": {
          "order": {
            "description": "Unique identifier of the order containing the travel service to cancel.",
            "type": "string"
          },
          "accommodation": {
            "title": "AccommodationOrdersCancelInput",
            "type": "object",
            "properties": {
              "reservation": {
                "description": "Unique identifier of the Accommodation order to cancel.",
                "type": "string"
              },
              "reason": {
                "description": "Free-text explanation for the cancellation request.",
                "type": "string"
              },
              "request_property_approval": {
                "description": "For accommodation orders only. If a cancellation fee applies, you can request the accommodation to waive the fee and approve free cancellation. This is subject to accommodation approval.",
                "type": "boolean"
              }
            },
            "required": [
              "reservation",
              "reason"
            ]
          },
          "car": {
            "title": "CarsOrdersCancelInput",
            "type": "object",
            "properties": {
              "reservation": {
                "description": "Unique identifier of the car rental reservation to cancel.",
                "type": "string"
              },
              "reason": {
                "description": "Free-text explanation for the cancellation request.",
                "type": "string"
              },
              "booker": {
                "description": "Information about the person who made the booking. Required for car cancellations.",
                "type": "object",
                "properties": {
                  "country": {
                    "$ref": "#/components/schemas/countryId"
                  }
                },
                "required": [
                  "country"
                ]
              }
            },
            "required": [
              "reservation",
              "reason",
              "booker"
            ]
          },
          "insurance": {
            "title": "InsuranceOrdersCancelInput",
            "description": "Details of the insurance policy to cancel. Cancelling the insurance policy does not cancel the associated car rental reservation.",
            "type": "object",
            "properties": {
              "car": {
                "title": "CarsInsuranceOrdersCancelInput",
                "type": "object",
                "properties": {
                  "reservation": {
                    "description": "Unique identifier of the car rental reservation associated with the insurance policy.",
                    "type": "string"
                  },
                  "policy_reference": {
                    "description": "Unique identifier of the insurance policy to cancel.",
                    "type": "string"
                  },
                  "booker": {
                    "description": "Information about the person who made the booking.",
                    "type": "object",
                    "properties": {
                      "country": {
                        "$ref": "#/components/schemas/countryId"
                      }
                    },
                    "required": [
                      "country"
                    ]
                  }
                },
                "required": [
                  "reservation",
                  "policy_reference",
                  "booker"
                ]
              }
            },
            "required": [
              "car"
            ]
          }
        },
        "oneOf": [
          {
            "title": "Cancel a car order",
            "description": "Use this option to cancel a car rental reservation.",
            "example": {
              "car": {
                "reservation": "1234567890",
                "reason": "My travel plans have changed and I no longer need this car rental.",
                "booker": {
                  "country": "nl"
                }
              }
            },
            "required": [
              "car"
            ]
          },
          {
            "title": "Cancel an accommodation order",
            "description": "Use this option to cancel an accommodation reservation.",
            "example": {
              "order": "509430129718799",
              "accommodation": {
                "reservation": "1234567890",
                "reason": "My travel dates have changed and I need to book a different property."
              }
            },
            "required": [
              "accommodation"
            ]
          },
          {
            "title": "Cancel a car insurance policy",
            "description": "Use this option to cancel an insurance policy without cancelling the associated car rental reservation.",
            "example": {
              "insurance": {
                "car": {
                  "reservation": "1234567890",
                  "policy_reference": "38df45ff-a6fb-4e24-a1d2-66fc3af23d76",
                  "booker": {
                    "country": "nl"
                  }
                }
              }
            },
            "required": [
              "insurance"
            ]
          }
        ]
      },
      "cancelOutput": {
        "title": "Cancellation response",
        "description": "Response confirming whether the cancellation was completed or accepted for asynchronous processing.",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "Cancellation result",
            "description": "The cancellation result. Accommodation cancellations may return `successful`. Car rental and car insurance cancellations may return `processing` while the request is completed asynchronously.",
            "oneOf": [
              {
                "title": "Accommodation cancellation response",
                "description": "Returned for accommodation cancellations. The reservation has already been cancelled successfully. If the cancellation cannot be completed, the API returns an error response.",
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "const": "successful"
                  }
                },
                "required": [
                  "status"
                ],
                "example": {
                  "status": "successful"
                }
              },
              {
                "title": "Car rental or car insurance cancellation response",
                "description": "Returned for car rental and car insurance cancellations. The cancellation request has been accepted for asynchronous processing; this response does not confirm that the car reservation or insurance policy has been cancelled. Retrieve the latest car order details using /orders/details/cars to verify the final cancellation status. If the cancellation request cannot be accepted or processed, the API returns an error response instead.",
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "const": "processing"
                  }
                },
                "required": [
                  "status"
                ],
                "example": {
                  "status": "processing"
                }
              }
            ]
          }
        }
      }
    },
    "examples": {
      "input": {
        "summary": "Points of interest in Paris in two languages",
        "value": {
          "cities": [
            -1456928
          ],
          "languages": [
            "en-gb",
            "fr"
          ],
          "rows": 100
        }
      },
      "output": {
        "summary": "Points of interest in Paris",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": 107038,
              "name": {
                "en-gb": "Rodin Museum",
                "fr": "Musée Rodin"
              },
              "coordinates": {
                "latitude": 48.8559,
                "longitude": 2.31601
              },
              "city": -1456928,
              "country": "fr",
              "urls": {
                "web": {
                  "search_results": {
                    "en-gb": "https://www.booking.com/attractions/searchresults/fr/dr9brl1gypih-rodin-museum.en-gb.html?aid=111111",
                    "fr": "https://www.booking.com/attractions/searchresults/fr/dr9brl1gypih-rodin-museum.fr.html?aid=111111"
                  }
                }
              }
            },
            {
              "id": 102332,
              "name": {
                "en-gb": "Saint-Jacques Tower",
                "fr": "Tour Saint-Jacques"
              },
              "coordinates": {
                "latitude": 48.858068,
                "longitude": 2.348907
              },
              "city": -1456928,
              "country": "fr",
              "urls": {
                "web": {
                  "search_results": {
                    "en-gb": "https://www.booking.com/attractions/searchresults/fr/dr04er7zf5tx-tour-st-jacques.en-gb.html?aid=111111",
                    "fr": "https://www.booking.com/attractions/searchresults/fr/dr04er7zf5tx-tour-st-jacques.fr.html?aid=111111"
                  }
                }
              }
            }
          ],
          "metadata": {
            "next_page": null,
            "total_results": 2
          }
        }
      },
      "example-1": {
        "summary": "Typical attraction",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "PRTcWzDlwXjP",
              "breakdown": {
                "easy_to_access": {
                  "number_of_reviews": 182,
                  "score": 4.5
                },
                "facilities_rating": {
                  "number_of_reviews": 160,
                  "score": 4.7
                },
                "quality_of_service": {
                  "number_of_reviews": 175,
                  "score": 4.6
                },
                "value_of_experience": {
                  "number_of_reviews": 187,
                  "score": 4.8
                }
              }
            }
          ]
        }
      },
      "example-2": {
        "summary": "Attraction with few reviews",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9si",
          "data": [
            {
              "id": "PRTcWzDlwXjP",
              "breakdown": {
                "easy_to_access": {
                  "number_of_reviews": 4,
                  "score": 4.1
                },
                "facilities_rating": {
                  "number_of_reviews": 3,
                  "score": 4.2
                },
                "quality_of_service": {
                  "number_of_reviews": 4,
                  "score": 3.8
                },
                "value_of_experience": {
                  "number_of_reviews": 5,
                  "score": 4
                }
              }
            }
          ]
        }
      },
      "example-3": {
        "summary": "New attraction with no reviews",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sj",
          "data": [
            {
              "id": "PRTcWzDlwXjP",
              "breakdown": {
                "easy_to_access": {
                  "number_of_reviews": 0,
                  "score": 0
                },
                "facilities_rating": {
                  "number_of_reviews": 0,
                  "score": 0
                },
                "quality_of_service": {
                  "number_of_reviews": 0,
                  "score": 0
                },
                "value_of_experience": {
                  "number_of_reviews": 0,
                  "score": 0
                }
              }
            }
          ]
        }
      },
      "searchByAirport": {
        "summary": "Search by airport",
        "value": {
          "booker": {
            "country": "nl"
          },
          "currency": "EUR",
          "driver": {
            "age": 36
          },
          "filters": {
            "transmission_type": "automatic",
            "mileage_type": "limited",
            "depot_location_type": "in_terminal",
            "fuel_types": [
              "hybrid",
              "petrol_or_diesel"
            ],
            "price": {
              "minimum": 125.2,
              "maximum": 300
            },
            "rating": {
              "minimum_review_score": 8
            }
          },
          "route": {
            "pickup": {
              "datetime": "2026-11-05T11:05:00",
              "location": {
                "airport": "AMS"
              }
            },
            "dropoff": {
              "datetime": "2026-11-10T11:05:00",
              "location": {
                "airport": "AMS"
              }
            }
          }
        }
      },
      "searchByCoordinatesWithResponseLimit": {
        "summary": "Search by coordinates with a maximum of 10 results",
        "value": {
          "booker": {
            "country": "nl"
          },
          "currency": "EUR",
          "driver": {
            "age": 36
          },
          "maximum_results": 10,
          "filters": {
            "transmission_type": "automatic",
            "mileage_type": "limited",
            "depot_location_type": "in_terminal",
            "fuel_types": [
              "hybrid",
              "petrol_or_diesel"
            ],
            "price": {
              "minimum": 125.2,
              "maximum": 300
            },
            "rating": {
              "minimum_review_score": 8
            }
          },
          "route": {
            "pickup": {
              "datetime": "2026-11-05T11:05:00",
              "location": {
                "coordinates": {
                  "latitude": 52.309456,
                  "longitude": 4.762266
                }
              }
            },
            "dropoff": {
              "datetime": "2026-11-10T11:05:00",
              "location": {
                "coordinates": {
                  "latitude": 52.309456,
                  "longitude": 4.762266
                }
              }
            }
          }
        }
      },
      "searchByPayment": {
        "summary": "Search by payment",
        "value": {
          "booker": {
            "country": "nl"
          },
          "currency": "EUR",
          "driver": {
            "age": 36
          },
          "payment": {
            "timings": [
              "pay_online_now"
            ]
          },
          "route": {
            "pickup": {
              "datetime": "2026-11-05T11:05:00",
              "location": {
                "city": -2140479
              }
            },
            "dropoff": {
              "datetime": "2026-11-10T11:05:00",
              "location": {
                "city": -2140479
              }
            }
          }
        }
      },
      "searchByCityIdWithSorting": {
        "summary": "Search by city ID, sorted by price",
        "value": {
          "booker": {
            "country": "nl"
          },
          "currency": "EUR",
          "driver": {
            "age": 36
          },
          "filters": {
            "transmission_type": "automatic",
            "mileage_type": "limited",
            "depot_location_type": "in_terminal",
            "fuel_types": [
              "hybrid",
              "petrol_or_diesel"
            ],
            "price": {
              "minimum": 125.2,
              "maximum": 300
            },
            "rating": {
              "minimum_review_score": 8
            }
          },
          "route": {
            "pickup": {
              "datetime": "2026-11-05T11:05:00",
              "location": {
                "city": -2140479
              }
            },
            "dropoff": {
              "datetime": "2026-11-10T11:05:00",
              "location": {
                "city": -2140479
              }
            }
          },
          "sort": {
            "by": "price"
          }
        }
      },
      "inputAll": {
        "summary": "Example request for all constants",
        "value": {
          "languages": [
            "de",
            "en-gb"
          ]
        }
      },
      "inputSomeConstants": {
        "summary": "Example request for specific constants",
        "value": {
          "constants": [
            "customer_services",
            "fuel_policies"
          ],
          "languages": [
            "en-gb",
            "fr",
            "de"
          ]
        }
      },
      "autocompleteRequest": {
        "summary": "Search for cities beginning with \"amster\" in the Netherlands",
        "value": {
          "query": "amster",
          "language": "en-gb",
          "country": "nl",
          "filters": {
            "types": [
              "city"
            ]
          }
        }
      },
      "autocompleteResponse": {
        "summary": "City suggestions matching the request",
        "value": {
          "request_id": "01khs9q981dta9fptx2edvq9r3",
          "data": [
            {
              "type": "city",
              "name": {
                "en-gb": "Amsterdam"
              },
              "id": "-2140479",
              "location": {
                "city": -2140479,
                "city_name": {
                  "en-gb": "Amsterdam"
                },
                "coordinates": {
                  "latitude": 52.378281,
                  "longitude": 4.90007
                },
                "country": "nl",
                "country_name": {
                  "en-gb": "Netherlands"
                }
              }
            }
          ]
        }
      },
      "accommodation": {
        "summary": "Accommodation order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "509430129718799",
              "accommodations": {
                "inventory": {
                  "third_party": false,
                  "type": "sell"
                },
                "location": {
                  "address": "111 Street Road",
                  "city": 20089219,
                  "country": "us"
                },
                "name": "Test Booking Hotel USA",
                "number_of_guests": 2,
                "reservation": "12345677",
                "stay_probability": 0.12
              },
              "affiliate": 111111,
              "attractions": null,
              "booker": {
                "address": {
                  "city": "Amsterdam",
                  "country": "nl"
                },
                "email": "johndoe@booking.com",
                "language": "en-gb",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "platform": "mobile",
                "site_type": "Web",
                "telephone": "+100000000",
                "travel_purpose": "business"
              },
              "cars": null,
              "commission": {
                "actual_commission_amount": {
                  "booker_currency": 17.5,
                  "product_currency": 20.6
                },
                "actual_percentage": null,
                "estimated_commission_amount": {
                  "booker_currency": null,
                  "product_currency": null
                }
              },
              "created": "2025-11-28T02:00:00+00:00",
              "currencies": {
                "booker": "EUR",
                "product": "USD"
              },
              "end": "2026-03-28T02:00:00+00:00",
              "flights": null,
              "label": "brand-us_mobile-spring_campaign",
              "loyalty_reward": [
                {
                  "amount": 15,
                  "currency": "USD",
                  "eligible": true,
                  "fulfillment_at": "2026-04-10",
                  "fulfillment_by": "partner",
                  "loyalty_data": [
                    {
                      "name": "Email Id",
                      "value": "john_doe@booking.com"
                    },
                    {
                      "name": "Loyalty ID",
                      "value": "10101010"
                    }
                  ],
                  "type": "point"
                }
              ],
              "price": {
                "commissionable_price": {
                  "booker_currency": 160,
                  "product_currency": 188.32
                },
                "total_price": {
                  "booker_currency": 170.01,
                  "product_currency": 200.1
                }
              },
              "start": "2026-03-21T02:00:00+00:00",
              "status": "booked",
              "transfers": null,
              "updated": "2025-11-28T02:00:00+00:00"
            }
          ],
          "metadata": {
            "next_page": null,
            "total_results": 1
          }
        }
      },
      "car": {
        "summary": "Car rental order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "5011111111111111",
              "accommodations": null,
              "affiliate": 111111,
              "attractions": null,
              "booker": {
                "address": {
                  "city": "Amsterdam",
                  "country": "nl"
                },
                "email": "johndoe@booking.com",
                "language": "en-gb",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "platform": "mobile",
                "site_type": "Web",
                "telephone": "+100000000",
                "travel_purpose": "business"
              },
              "cars": {
                "pickup_location": {
                  "city": "San Francisco",
                  "country": "us"
                },
                "dropoff_location": {
                  "city": "Los Angeles",
                  "country": "us"
                },
                "payment": {
                  "timing": "pay_at_pickup"
                },
                "reservation": "CAR-99887766"
              },
              "commission": {
                "actual_commission_amount": {
                  "booker_currency": 17.5,
                  "product_currency": 20.6
                },
                "actual_percentage": null,
                "estimated_commission_amount": {
                  "booker_currency": null,
                  "product_currency": null
                }
              },
              "created": "2025-11-28T02:00:00+00:00",
              "currencies": {
                "booker": "EUR",
                "product": "USD"
              },
              "end": "2026-03-28T02:00:00+00:00",
              "flights": null,
              "label": "brand-us_mobile-spring_campaign",
              "loyalty_reward": [
                {
                  "amount": 15,
                  "currency": "USD",
                  "eligible": true,
                  "fulfillment_at": "2026-04-10",
                  "fulfillment_by": "partner",
                  "loyalty_data": [
                    {
                      "name": "Email Id",
                      "value": "john_doe@booking.com"
                    },
                    {
                      "name": "Loyalty ID",
                      "value": "10101010"
                    }
                  ],
                  "type": "point"
                }
              ],
              "price": {
                "commissionable_price": {
                  "booker_currency": 160,
                  "product_currency": 188.32
                },
                "total_price": {
                  "booker_currency": 170.01,
                  "product_currency": 200.1
                }
              },
              "start": "2026-03-21T02:00:00+00:00",
              "status": "booked",
              "transfers": null,
              "updated": "2025-11-28T02:00:00+00:00"
            }
          ],
          "metadata": {
            "next_page": null,
            "total_results": 1
          }
        }
      },
      "attraction": {
        "summary": "Attraction order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "5099887766554433",
              "accommodations": null,
              "affiliate": 111111,
              "attractions": {
                "name": "Eiffel Tower Guided Tour",
                "location": {
                  "city": "Paris",
                  "country": "fr"
                },
                "reservation": "ATT-99887766"
              },
              "booker": {
                "address": {
                  "country": "nl"
                },
                "email": "johndoe@booking.com",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "platform": "mobile"
              },
              "cars": null,
              "commission": {
                "actual_commission_amount": {
                  "booker_currency": 4.2,
                  "product_currency": 4.95
                },
                "actual_percentage": null,
                "estimated_commission_amount": {
                  "booker_currency": null,
                  "product_currency": null
                }
              },
              "created": "2025-11-28T02:00:00+00:00",
              "currencies": {
                "booker": "EUR",
                "product": "USD"
              },
              "end": "2026-03-21T13:00:00+00:00",
              "flights": null,
              "label": "brand-fr_mobile-spring_campaign",
              "price": {
                "commissionable_price": {
                  "booker_currency": 42,
                  "product_currency": 49.42
                },
                "total_price": {
                  "booker_currency": 42,
                  "product_currency": 49.42
                }
              },
              "start": "2026-03-21T10:00:00+00:00",
              "status": "booked",
              "transfers": null,
              "updated": "2025-11-28T02:00:00+00:00"
            }
          ],
          "metadata": {
            "next_page": null,
            "total_results": 1
          }
        }
      },
      "transfer": {
        "summary": "Transfer order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "5088776655443322",
              "accommodations": null,
              "affiliate": 111111,
              "attractions": null,
              "booker": {
                "address": {
                  "country": "nl"
                },
                "email": "johndoe@booking.com",
                "name": {
                  "first_name": "John",
                  "last_name": "Doe"
                },
                "platform": "mobile"
              },
              "cars": null,
              "commission": {
                "actual_commission_amount": {
                  "booker_currency": 6.5,
                  "product_currency": 6.5
                },
                "actual_percentage": 10,
                "estimated_commission_amount": {
                  "booker_currency": 6.5,
                  "product_currency": 6.5
                }
              },
              "created": "2025-11-28T02:00:00+00:00",
              "currencies": {
                "booker": "EUR",
                "product": "EUR"
              },
              "end": "2026-03-21T10:00:00+00:00",
              "flights": null,
              "label": "brand-nl_mobile-spring_campaign",
              "price": {
                "commissionable_price": {
                  "booker_currency": 65,
                  "product_currency": 65
                },
                "total_price": {
                  "booker_currency": 65,
                  "product_currency": 65
                }
              },
              "start": "2026-03-21T10:00:00+00:00",
              "status": "booked",
              "transfers": [
                {
                  "commission": {
                    "actual_amount": {
                      "booker_currency": 6.5,
                      "product_currency": 6.5
                    },
                    "estimated_amount": {
                      "booker_currency": 6.5,
                      "product_currency": 6.5
                    }
                  },
                  "created": "2025-11-28T02:00:00+00:00",
                  "currencies": {
                    "booker": "EUR",
                    "product": "EUR"
                  },
                  "dropoff_location": {
                    "address": "Stationsplein 9, 3511 CE Utrecht",
                    "city": "Utrecht",
                    "country": "nl"
                  },
                  "end": "2026-03-21T10:00:00+00:00",
                  "leg": "607244787653565",
                  "pickup_location": {
                    "address": "Evert van de Beekstraat 202, 1118 CP Schiphol",
                    "city": "Schiphol",
                    "country": "nl"
                  },
                  "price": {
                    "commissionable": {
                      "booker_currency": 65,
                      "product_currency": 65
                    },
                    "total": {
                      "booker_currency": 65,
                      "product_currency": 65
                    }
                  },
                  "reservation": "916957580",
                  "start": "2026-03-21T10:00:00+00:00",
                  "status": "booked",
                  "updated": "2025-11-28T02:00:00+00:00"
                }
              ],
              "updated": "2025-11-28T02:00:00+00:00"
            }
          ],
          "metadata": {
            "next_page": null,
            "total_results": 1
          }
        }
      },
      "mixed": {
        "summary": "Mixed accommodation and car orders",
        "description": "Example showing that a single response can contain orders from multiple travel services. Each order includes only the object corresponding to its travel service.",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "509430129718799",
              "accommodations": {
                "name": "Test Booking Hotel USA",
                "reservation": "12345677",
                "number_of_guests": 2
              },
              "cars": null,
              "flights": null,
              "attractions": null,
              "transfers": null,
              "status": "booked"
            },
            {
              "id": "5011111111111111",
              "accommodations": null,
              "cars": {
                "reservation": "CAR-99887766",
                "pickup_location": {
                  "city": "San Francisco",
                  "country": "us"
                },
                "dropoff_location": {
                  "city": "Los Angeles",
                  "country": "us"
                }
              },
              "flights": null,
              "attractions": null,
              "transfers": null,
              "status": "booked"
            }
          ],
          "metadata": {
            "total_results": 2,
            "next_page": null
          }
        }
      },
      "outputThirdParty": {
        "summary": "Third-party inventory accommodation order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "509430129718800",
              "accommodation": 123456,
              "accommodation_details": {
                "email": "test_hotel@booking.com",
                "location": {
                  "address": "111 Street Road",
                  "city": 20089219,
                  "coordinates": {
                    "latitude": 11.923274,
                    "longitude": -92.716188
                  },
                  "country": "us",
                  "post_code": "NY 1234"
                },
                "name": "Test Booking Hotel USA",
                "telephone": "+19876543210"
              },
              "accommodation_order_references": [
                "12345",
                "ABED2312"
              ],
              "booker": {
                "external_account": "13610217",
                "platform": "mobile"
              },
              "cancellation_details": {
                "at": "2025-12-09T00:00:00+00:00",
                "fee": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                },
                "original_total_price": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                }
              },
              "checkin": "2025-12-10",
              "checkout": "2025-12-18",
              "commission": {
                "actual_amount": null,
                "actual_percentage": null,
                "estimated_amount": {
                  "accommodation_currency": 17.5,
                  "booker_currency": 19.23
                }
              },
              "credit_slip_number": "hsnl1223445",
              "currency": {
                "accommodation": "EUR",
                "booker": "USD"
              },
              "inventory": {
                "third_party": true,
                "type": "sell"
              },
              "key_collection_information": [
                {
                  "additional_instructions": "The keys are in a keybox located next to the front door.",
                  "alternate_location": {
                    "address": "abc",
                    "city": "bdweb",
                    "postal_code": "1015XX"
                  },
                  "checkin_method": "someone_will_meet",
                  "key_location": "at_the_property"
                }
              ],
              "label": "One123",
              "pin_code": "1234",
              "price": {
                "commissionable": {
                  "accommodation_currency": 164.01,
                  "booker_currency": 180.27
                },
                "total": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                }
              },
              "products": [
                {
                  "allocation": {
                    "adults": 2,
                    "children": [
                      3,
                      4,
                      5
                    ],
                    "guests": 5
                  },
                  "guests": [
                    {
                      "email": "test.name@booking.com",
                      "name": "Test Name"
                    }
                  ],
                  "policies": {
                    "cancellation": [
                      {
                        "from": null,
                        "price": {
                          "accommodation_currency": 170.01,
                          "booker_currency": 186.87
                        }
                      }
                    ],
                    "meal_plan": {
                      "meals": [
                        "breakfast"
                      ],
                      "plan": "breakfast_included"
                    },
                    "smoking_preference": "non-smoking"
                  },
                  "price": {
                    "base": {
                      "accommodation_currency": 170.01,
                      "booker_currency": 186.87
                    },
                    "display": {
                      "accommodation_currency": 200.97,
                      "booker_currency": 220.9
                    },
                    "charges": [
                      {
                        "charge": 142,
                        "mode": "per_person_per_night",
                        "percentage": null,
                        "total_amount": {
                          "accommodation_currency": 6,
                          "booker_currency": 6.6
                        },
                        "unit_amount": {
                          "accommodation_currency": 3,
                          "booker_currency": 3.3
                        },
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      },
                      {
                        "charge": 21,
                        "mode": "percentage",
                        "percentage": 9,
                        "total_amount": {
                          "accommodation_currency": 14.04,
                          "booker_currency": 15.43
                        },
                        "unit_amount": null,
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      },
                      {
                        "charge": 22,
                        "mode": "percentage",
                        "percentage": 7,
                        "total_amount": {
                          "accommodation_currency": 10.92,
                          "booker_currency": 12
                        },
                        "unit_amount": null,
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      }
                    ],
                    "total": {
                      "accommodation_currency": 200.97,
                      "booker_currency": 220.9
                    }
                  },
                  "room": "12345",
                  "room_details": {
                    "name": "Double Deluxe Room"
                  },
                  "room_reservation": "1234567890",
                  "status": "booked"
                }
              ],
              "remarks": "We will need an extra cot. Need room on higher floor",
              "reservation": "12345678",
              "status": "booked",
              "stay_probability": 0.12,
              "third_party_inventory": {
                "checkin_number": "CHK-123456"
              }
            }
          ]
        }
      },
      "outputNonThirdParty": {
        "summary": "Booking.com inventory accommodation order",
        "value": {
          "request_id": "01fr9ez700exycb98w90w5r9sh",
          "data": [
            {
              "id": "509430129718799",
              "accommodation": 123456,
              "accommodation_details": {
                "email": "test_hotel@booking.com",
                "location": {
                  "address": "111 Street Road",
                  "city": 20089219,
                  "coordinates": {
                    "latitude": 11.923274,
                    "longitude": -92.716188
                  },
                  "country": "us",
                  "post_code": "NY 1234"
                },
                "name": "Test Booking Hotel USA",
                "telephone": "+19876543210"
              },
              "accommodation_order_references": [
                "12345",
                "ABED2312"
              ],
              "booker": {
                "external_account": "13610217",
                "platform": "mobile"
              },
              "cancellation_details": {
                "at": "2025-12-09T00:00:00+00:00",
                "fee": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                },
                "original_total_price": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                }
              },
              "checkin": "2025-12-10",
              "checkout": "2025-12-18",
              "commission": {
                "actual_amount": null,
                "actual_percentage": null,
                "estimated_amount": {
                  "accommodation_currency": 17.5,
                  "booker_currency": 19.23
                }
              },
              "credit_slip_number": "hsnl1223445",
              "currency": {
                "accommodation": "EUR",
                "booker": "USD"
              },
              "inventory": {
                "third_party": false,
                "type": "sell"
              },
              "key_collection_information": [
                {
                  "additional_instructions": "The keys are in a keybox located next to the front door.",
                  "alternate_location": {
                    "address": "abc",
                    "city": "bdweb",
                    "postal_code": "1015XX"
                  },
                  "checkin_method": "someone_will_meet",
                  "key_location": "at_the_property"
                }
              ],
              "label": "One123",
              "pin_code": "1234",
              "price": {
                "commissionable": {
                  "accommodation_currency": 164.01,
                  "booker_currency": 180.27
                },
                "total": {
                  "accommodation_currency": 170.01,
                  "booker_currency": 186.87
                }
              },
              "products": [
                {
                  "allocation": {
                    "adults": 2,
                    "children": [
                      3,
                      4,
                      5
                    ],
                    "guests": 5
                  },
                  "guests": [
                    {
                      "email": "test.name@booking.com",
                      "name": "Test Name"
                    }
                  ],
                  "policies": {
                    "cancellation": [
                      {
                        "from": null,
                        "price": {
                          "accommodation_currency": 170.01,
                          "booker_currency": 186.87
                        }
                      }
                    ],
                    "meal_plan": {
                      "meals": [
                        "breakfast"
                      ],
                      "plan": "breakfast_included"
                    },
                    "smoking_preference": "non-smoking"
                  },
                  "price": {
                    "base": {
                      "accommodation_currency": 170.01,
                      "booker_currency": 186.87
                    },
                    "display": {
                      "accommodation_currency": 200.97,
                      "booker_currency": 220.9
                    },
                    "charges": [
                      {
                        "charge": 142,
                        "mode": "per_person_per_night",
                        "percentage": null,
                        "total_amount": {
                          "accommodation_currency": 6,
                          "booker_currency": 6.6
                        },
                        "unit_amount": {
                          "accommodation_currency": 3,
                          "booker_currency": 3.3
                        },
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      },
                      {
                        "charge": 21,
                        "mode": "percentage",
                        "percentage": 9,
                        "total_amount": {
                          "accommodation_currency": 14.04,
                          "booker_currency": 15.43
                        },
                        "unit_amount": null,
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      },
                      {
                        "charge": 22,
                        "mode": "percentage",
                        "percentage": 7,
                        "total_amount": {
                          "accommodation_currency": 10.92,
                          "booker_currency": 12
                        },
                        "unit_amount": null,
                        "condition": null,
                        "included_in": {
                          "display": true
                        }
                      }
                    ],
                    "total": {
                      "accommodation_currency": 200.97,
                      "booker_currency": 220.9
                    }
                  },
                  "room": "12345",
                  "room_details": {
                    "name": "Double Deluxe Room"
                  },
                  "room_reservation": "1234567890",
                  "status": "booked"
                }
              ],
              "remarks": "We will need an extra cot. Need room on higher floor",
              "reservation": "12345678",
              "status": "booked",
              "stay_probability": 0.12
            }
          ]
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Travel services",
      "tags": [
        "Accommodations",
        "Attractions",
        "Cars"
      ]
    },
    {
      "name": "Common",
      "tags": [
        "Common/autocomplete",
        "Common/locations",
        "Common/payments",
        "Common/languages"
      ]
    },
    {
      "name": "Orders",
      "tags": [
        "Orders"
      ]
    }
  ]
}