{
  "openapi": "3.1.0",
  "info": {
    "title": "Booking.com Demand API",
    "version": "3.2",
    "summary": "The Booking.com Demand API enables Affiliate Partners to access Booking.com's travel inventory, including accommodations, car rentals, and flights. The version 3.2 introduces several improvements and breaking changes from version 3.1, including updates to **price structures**, inclusion of **Attractions and taxis in orders/details** for post-booking reporting, and other structural enhancements.\n\n- The API follows REST principles and returns data in **JSON** format.\n- You can access endpoints via **HTTPS POST** requests.\n\nAuthentication: Use your Affiliate ID and token credentials to use these endpoints.\n\n[Check the Try out guide!](/demand/docs/getting-started/try-out-the-api)"
  },
  "servers": [
    {
      "url": "https://demandapi.booking.com/3.2",
      "description": "Production environment – use for live integrations."
    },
    {
      "url": "https://demandapi-sandbox.booking.com/3.2",
      "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": "Cars",
      "x-displayName": "Car rentals",
      "description": "This collection includes endpoints related to **car rental** services within the connected trip experience.<br/>Use these endpoints to:<br/>- Search and retrieve car details.<br/>- Retrieve car specifications, depot locations, and supplier information."
    },
    {
      "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": "This API collection enables **management of booking orders** within the Demand API.</br>Use these endpoints to:</br>- Preview and create new orders.</br>- Check order details.</br>- Cancel or modify existing orders.</br>This collection is required to integrate booking and order management functionality."
    }
  ],
  "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/constants_output"
                },
                "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_type": 204,
                      "brands": [],
                      "bundles": [
                        {
                          "id": 12345,
                          "value_adds": [
                            {
                              "type": "high_speed_internet",
                              "description": {
                                "en-gb": [
                                  "High speed internet throughout your stay."
                                ]
                              }
                            }
                          ]
                        }
                      ],
                      "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
                      },
                      "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": 1
                          },
                          "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/reviewsScores_input"
              },
              "example": {
                "accommodations": [
                  10004
                ],
                "languages": [
                  "en-gb"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reviewsScores_output"
                },
                "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"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/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": {
                  "summary": "Search example by airport.",
                  "value": {
                    "booker": {
                      "country": "nl"
                    },
                    "currency": "EUR",
                    "driver": {
                      "age": 36
                    },
                    "filters": {
                      "transmission_type": "automatic",
                      "mileage_type": "limited",
                      "depot_location_type": "in_terminal"
                    },
                    "route": {
                      "pickup": {
                        "datetime": "2026-11-05T11:05:00",
                        "location": {
                          "airport": "AMS"
                        }
                      },
                      "dropoff": {
                        "datetime": "2026-11-10T11:05:00",
                        "location": {
                          "airport": "AMS"
                        }
                      }
                    }
                  }
                },
                "searchByCoordinatesWithResponseLimit": {
                  "summary": "Search example by coordinates and max response limit up to 10 products.",
                  "value": {
                    "booker": {
                      "country": "nl"
                    },
                    "currency": "EUR",
                    "driver": {
                      "age": 36
                    },
                    "maximum_results": 10,
                    "filters": {
                      "transmission_type": "automatic",
                      "mileage_type": "limited",
                      "depot_location_type": "in_terminal"
                    },
                    "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
                          }
                        }
                      }
                    }
                  }
                },
                "searchByPaymentInput": {
                  "summary": "Search example by payment timing.",
                  "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 example by city id and sorting by price.",
                  "value": {
                    "booker": {
                      "country": "nl"
                    },
                    "currency": "EUR",
                    "driver": {
                      "age": 36
                    },
                    "filters": {
                      "transmission_type": "automatic",
                      "mileage_type": "limited",
                      "depot_location_type": "in_terminal"
                    },
                    "route": {
                      "pickup": {
                        "datetime": "2026-11-05T11:05:00",
                        "location": {
                          "city": -2140479
                        }
                      },
                      "dropoff": {
                        "datetime": "2026-11-10T11:05:00",
                        "location": {
                          "city": -2140479
                        }
                      }
                    },
                    "sort": {
                      "by": "price",
                      "direction": "descending"
                    }
                  }
                }
              }
            }
          }
        },
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/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": {
                  "summary": "Example request for all constants",
                  "value": {
                    "languages": [
                      "de",
                      "en-gb"
                    ]
                  }
                },
                "specificConstants": {
                  "summary": "Example request for specific constants",
                  "value": {
                    "constants": [
                      "customer_services",
                      "fuel_policies"
                    ],
                    "languages": [
                      "en-gb",
                      "fr",
                      "de"
                    ]
                  }
                }
              }
            }
          }
        },
        "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": "estate",
                        "name": {
                          "de": "Kombi",
                          "en-gb": "Estate"
                        }
                      },
                      {
                        "id": "large",
                        "name": {
                          "de": "Groß",
                          "en-gb": "Large"
                        }
                      },
                      {
                        "id": "medium",
                        "name": {
                          "de": "Mittelklasse",
                          "en-gb": "Medium"
                        }
                      },
                      {
                        "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"
                        }
                      }
                    ],
                    "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": "unlimited",
                        "name": {
                          "de": "Unbegrenzte Kilometer",
                          "en-gb": "Unlimited mileage"
                        }
                      }
                    ],
                    "fuel_types": [
                      {
                        "id": "electric",
                        "name": {
                          "de": "Rein elektrisch",
                          "en-gb": "Fully electric"
                        }
                      },
                      {
                        "id": "hybrid",
                        "name": {
                          "de": "Hybrid",
                          "en-gb": "Hybrid"
                        }
                      },
                      {
                        "id": "petrol",
                        "name": {
                          "de": "Benzin",
                          "en-gb": "Petrol"
                        }
                      },
                      {
                        "id": "plug_in_hybrid",
                        "name": {
                          "de": "Plug-in-Hybrid",
                          "en-gb": "Plug-in hybrid"
                        }
                      }
                    ],
                    "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_partial_online_now",
                        "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": "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"
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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,
                      "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"
                            }
                          ]
                        }
                      },
                      "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"
                      },
                      "pickup": {
                        "instructions": {
                          "en-gb": null,
                          "nl": null
                        },
                        "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": "internal_server_error",
                          "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/schemas-input"
              },
              "example": {
                "maximum_results": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/schemas-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
                        },
                        "likeliness_rent_again": {
                          "score": 8.7
                        },
                        "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
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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/components-schemas-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/components-schemas-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
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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/languages_output"
                },
                "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 codes and their names in the selected languages. The cities returned may be filtered by a location id. For example, you can get the list of cities in The Netherlands by passing: `{\"country\":\"nl\"}`. To get the full list call the endpoint passing an empty body. The city codes returned are what is used as input and output for other endpoints. This endpoint implements pagination of the results.",
        "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/cards_output"
                },
                "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/currencies_input"
              },
              "example": {
                "languages": [
                  "en-gb",
                  "zh-cn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/currencies_output"
                },
                "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 calculate the final price, including a detailed price breakdown, payment schedule, and cancellation policies for accommodation and car rentals.\nProvide the booker's details and preferred currency to receive personalised pricing.\nFor accommodations:\nInclude check-in and check-out dates.\nInclude room allocations and selected products.\nFor cars:\nInclude the offer ID and search token.\nOptionally include an insurance quote_reference (from /cars/availability) to attach third-party insurance.",
        "operationId": "orders/preview",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/previewInput"
              },
              "examples": {
                "accommodation_example": {
                  "summary": "Preview input for accommodation",
                  "value": {
                    "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": []
                          }
                        }
                      ]
                    }
                  }
                },
                "car_example": {
                  "summary": "Preview input for car",
                  "value": {
                    "currency": "EUR",
                    "car": {
                      "offer": 123456789,
                      "search_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789",
                      "products": [
                        {
                          "id": "001234567890",
                          "amount": 1
                        }
                      ],
                      "insurance": {
                        "quote_reference": "38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/previewOutput"
                },
                "examples": {
                  "accommodation_example": {
                    "summary": "Preview output for accommodation",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "data": {
                        "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": "..."
                      }
                    }
                  },
                  "car_example": {
                    "summary": "Preview output for car",
                    "value": {
                      "request_id": "01fr9ez700exycb98w90w5r9sh",
                      "data": {
                        "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"
                            },
                            "policy_document_url": "https://staging.rentalcover.com/en/pds",
                            "ipid_document_url": "https://files.rentalcover.com/ipids.pdf"
                          }
                        },
                        "order_token": "sample-order-token-1234"
                      }
                    }
                  }
                }
              }
            }
          },
          "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": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/create": {
      "post": {
        "summary": "Create an order",
        "description": "Use this endpoint to confirm the order and proceed the payment.",
        "operationId": "/orders/create",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ordersCreateInput"
              },
              "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"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ordersCreateOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "order": "509430129718799",
                  "data": {
                    "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"
                    }
                  }
                }
              }
            }
          },
          "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."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orders/details": {
      "post": {
        "summary": "Orders details",
        "description": "Use this endpoint to fetch detailed information about existing orders across accommodations, cars, flights, attractions, and taxis. Useful for **syncing your system with Booking.com order data, monitoring updates, and performing reporting or analytics across services**.\n\nYou can query orders by:\n- **Creation** or **update date** — retrieve orders created or updated within a 7-day range.\n- **Travel dates** — filter by start or end date (up to 7 days).\n- **Order** or **reservation ID** — fetch details for specific orders.\n\n**Notes:**\n- Only one filter type (created, updated, start, end, orders, reservations) or pagination (page) should be provided per request.\n- 'currency' must be a **three-letter ISO 4217 code**. Defaults to product base currency if omitted.\n- 'extras' can request additional data (currently supports 'payment').\n- 'services' filters results by travel service type: accommodations, cars, flights, attractions, or taxis.\n\n**This endpoint is ideal for:**\n- Displaying booking details in partner dashboards or traveller confirmation pages.\n- Generating invoices, receipts, or post-booking communications.\n- Performing reporting, reconciliation, or analytics across all travel services.\n See the [Order reporting guide](/demand/docs/orders-api/order-details) for more details.",
        "operationId": "/orders/details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Filter by last update date",
                    "description": "Retrieve orders that were last updated within a specific time range. Use this to sync incremental changes, such as status updates, cancellations, or modifications.",
                    "$ref": "#/components/schemas/inputUpdated"
                  },
                  {
                    "title": "Filter by creation date",
                    "description": "Retrieve orders that were created within a specific time range. Useful for initial data ingestion, reporting, or tracking newly created bookings.",
                    "$ref": "#/components/schemas/inputCreated"
                  },
                  {
                    "title": "Filter by start date",
                    "description": "Retrieve orders based on the start date of the travel service (for example, check-in, pickup, or departure). Ideal for operational workflows and upcoming trips.",
                    "$ref": "#/components/schemas/inputStart"
                  },
                  {
                    "title": "Filter by end date",
                    "description": "Retrieve orders based on the end date of the travel service (for example, check-out or return). Useful for post-stay processing, reporting, or completed trips.",
                    "$ref": "#/components/schemas/inputEnd"
                  },
                  {
                    "title": "Filter by order IDs",
                    "description": "Retrieve details for a specific list of order IDs. Use this when you already know the order identifiers and need to fetch precise records.",
                    "$ref": "#/components/schemas/inputOrder"
                  },
                  {
                    "title": "Filter by reservation IDs",
                    "description": "Retrieve orders linked to a specific list of reservation IDs across services. Useful when your system stores reservation-level identifiers instead of order IDs.",
                    "$ref": "#/components/schemas/inputReservations"
                  },
                  {
                    "title": "Paginate through all orders",
                    "description": "Retrieve orders using a pagination token. Use this to iterate through large datasets when processing all available orders.",
                    "$ref": "#/components/schemas/inputPage"
                  }
                ]
              },
              "examples": {
                "byCreated": {
                  "summary": "Filter by creation date",
                  "value": {
                    "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"
                    ]
                  }
                },
                "byUpdated": {
                  "summary": "Filter by last updated date",
                  "value": {
                    "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"
                    ]
                  }
                },
                "byStart": {
                  "summary": "Filter by start date",
                  "value": {
                    "start": {
                      "from": "2026-04-01",
                      "to": "2026-04-07"
                    },
                    "currency": "EUR",
                    "services": [
                      "accommodations",
                      "cars"
                    ]
                  }
                },
                "byEnd": {
                  "summary": "Filter by end date",
                  "value": {
                    "end": {
                      "from": "2026-04-01",
                      "to": "2026-04-07"
                    },
                    "currency": "EUR",
                    "maximum_results": 20
                  }
                },
                "byOrders": {
                  "summary": "Filter by order IDs",
                  "value": {
                    "orders": [
                      "509430129718799",
                      "509430129718800"
                    ],
                    "currency": "EUR",
                    "extras": [
                      "payment"
                    ]
                  }
                },
                "byReservations": {
                  "summary": "Filter by reservation IDs",
                  "value": {
                    "reservations": [
                      "12345677",
                      "76543210"
                    ],
                    "currency": "EUR"
                  }
                },
                "byPage": {
                  "summary": "Paginate through results",
                  "value": {
                    "page": "eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9",
                    "extras": [
                      "payment"
                    ]
                  }
                },
                "output": {
                  "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",
                        "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": "One123",
                      "loyalty_reward": [
                        {
                          "amount": 15,
                          "currency": "USD",
                          "eligible": true,
                          "fulfillment_at": "2023-02-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",
                      "taxis": null,
                      "updated": "2025-11-28T02:00:00+00:00"
                    }
                  ],
                  "metadata": {
                    "next_page": null,
                    "total_results": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response. Returns a list of orders matching the requested filter criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ordersDetailsOutput"
                },
                "examples": {
                  "output": {
                    "$ref": "#/components/examples/output"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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": "AccommodationsDetailsInputByOrders",
                    "$ref": "#/components/schemas/accommodations_inputOrder"
                  },
                  {
                    "title": "AccommodationsDetailsInputByReservations",
                    "$ref": "#/components/schemas/inputReservation"
                  }
                ]
              },
              "examples": {
                "byOrders": {
                  "summary": "Retrieve by order IDs",
                  "value": {
                    "currency": "USD",
                    "extras": [
                      "policies",
                      "extra_charges"
                    ],
                    "orders": [
                      "509430129718799",
                      "509430129718800"
                    ]
                  }
                },
                "byReservations": {
                  "summary": "Retrieve by reservation IDs",
                  "value": {
                    "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": {
                  "default": {
                    "$ref": "#/components/examples/examples-output"
                  }
                }
              }
            }
          },
          "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": "Orders with car details",
        "description": "Use this endpoint to retrieve detailed information for one or more car rental orders.\n\n- You can request car order details using your **reservation** ID.\n- The response includes booking and cancellation details, commission, pricing, and optional extras (for example, policies).\n- Results are sorted by the date of order creation in descending order, with the most recently booked orders listed first.",
        "operationId": "/orders/details/cars",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "CarsDetailsInputByOrders",
                    "$ref": "#/components/schemas/carsDetailsInputOrder",
                    "deprecated": true,
                    "description": "DEPRECATED: Do not use the order ID in your request, use the reservation ID instead."
                  },
                  {
                    "title": "CarsDetailsInputByReservations",
                    "$ref": "#/components/schemas/carsDetailsInputReservation"
                  }
                ]
              },
              "example": {
                "currency": "USD",
                "extras": [
                  "policies"
                ],
                "reservations": [
                  "11223344"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/carsDetailsOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": [
                    {
                      "id": "123456789",
                      "affiliate": 1234567,
                      "commission": {
                        "actual_amount": {
                          "depot_currency": 45.5,
                          "booker_currency": 66.34
                        },
                        "actual_percentage": 0.25,
                        "estimated_amount": {
                          "depot_currency": 45.5,
                          "booker_currency": 66.34
                        }
                      },
                      "currency": {
                        "depot": "EUR",
                        "booker": "USD"
                      },
                      "dropoff": {
                        "date": "2025-10-18T00:00:00"
                      },
                      "label": "One123",
                      "pickup": {
                        "date": "2025-10-15T00:00:00"
                      },
                      "price": {
                        "commissionable": {
                          "depot_currency": 170.01,
                          "booker_currency": 186.87
                        },
                        "total": {
                          "depot_currency": 170.01,
                          "booker_currency": 186.87
                        }
                      },
                      "products": [
                        {
                          "policies": {
                            "payment": {
                              "timing": "pay_online_now"
                            }
                          },
                          "price": {
                            "base": {
                              "depot_currency": 170.01,
                              "booker_currency": 186.87
                            },
                            "total": {
                              "depot_currency": 170.01,
                              "booker_currency": 186.87
                            }
                          },
                          "status": "booked"
                        }
                      ],
                      "status": "booked"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/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/flights_input"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/flights_output"
                },
                "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 certain aspects of an accommodation order, such as credit card details, checkin/checkout dates, and room configurations (guest allocation, guest names, and smoking preferences). See the [Orders modification guide](/demand/docs/orders-api/order-modify) for examples and best practices.",
        "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": "Successful modification",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "title": "AccommodationModificationResponse",
                      "$ref": "#/components/schemas/accommodationModificationOutput"
                    },
                    {
                      "title": "PaymentModificationResponse",
                      "$ref": "#/components/schemas/paymentModificationOutput"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orders/cancel": {
      "post": {
        "summary": "Cancel an order",
        "description": "Use this endpoint to cancel a reservation within an existing order. Provide the reservation details for the travel service you want to cancel. You can optionally include the order ID to help identify the order. Only one reservation can be cancelled per request.\n\nFor step-by-step instructions, examples, and best practices, see the [Cancellations guide](/demand/docs/orders-api/cancel-order).",
        "operationId": "/orders/cancel",
        "parameters": [
          {
            "$ref": "#/components/parameters/AffiliateIdHeader"
          }
        ],
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cancelInput"
              },
              "examples": {
                "accommodation_example": {
                  "summary": "Cancel input for accommodation",
                  "value": {
                    "order": "509430129718799",
                    "accommodation": {
                      "reservation": "1234567890",
                      "reason": "My travel dates have changed and I need to book a different property."
                    }
                  }
                },
                "car_example": {
                  "summary": "Cancel input for car",
                  "value": {
                    "car": {
                      "reservation": "1234567890",
                      "reason": "My travel plans have changed and I no longer need this car rental.",
                      "booker": {
                        "country": "nl"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Indicates whether the cancellation request was successfully processed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cancelOutput"
                },
                "example": {
                  "request_id": "01fr9ez700exycb98w90w5r9sh",
                  "data": {
                    "status": "successful"
                  }
                }
              }
            }
          },
          "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."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "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 <a href=\"/demand/docs/open-api/demand-api/commonlocations/common/locations/countries\" target=\"_blank\">common/locations/countries</a>.",
        "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/demand-api/commonpayments/common/payments/currencies\" target=\"_blank\">common/payments/currencies</a>.",
        "type": "string",
        "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. **⚠ DEPRECATED:** The 'non_refundable' cancellation type filter is deprecated and will be removed in further versions. ",
        "type": "string",
        "enum": [
          "free_cancellation",
          "non_refundable"
        ]
      },
      "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": "integer"
                  },
                  "minimum": {
                    "description": "Set the minimum price per night, in the specified currency, or omit to indicate no lower limit.",
                    "type": "integer"
                  }
                }
              },
              "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": 0,
                    "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",
                "limited_time_deal",
                "logged_in_deal",
                "mobile_rate",
                "seasonal_deal"
              ]
            }
          }
        }
      },
      "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": "Boolean value is \"true\" if the product is facilitated by a Booking.com partner company and \"false\" otherwise."
          },
          "type": {
            "$ref": "#/components/schemas/inventoryOutputType"
          }
        }
      },
      "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, \"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/productCancellationType"
          }
        }
      },
      "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
              }
            }
          }
        }
      },
      "availability_extras": {
        "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/availability_extras"
          },
          "filters": {
            "$ref": "#/components/schemas/filters"
          },
          "guests": {
            "$ref": "#/components/schemas/guests"
          }
        },
        "required": [
          "accommodations",
          "booker",
          "checkin",
          "checkout",
          "guests"
        ]
      },
      "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"
            }
          }
        }
      },
      "dataTypes_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/dataTypes_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/inventoryOutput"
          },
          "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"
          }
        }
      },
      "recommendation_priceV32": {
        "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"
          }
        }
      },
      "recommendation_children": {
        "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/recommendation_children"
          },
          "number_of_adults": {
            "$ref": "#/components/schemas/numberOfAdults"
          },
          "price": {
            "$ref": "#/components/schemas/recommendation_priceV32"
          }
        }
      },
      "recommendation": {
        "title": "AccommodationsAvailabilityRecommendationOutput",
        "description": "The products recommended for the provided search criteria.",
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/recommendation_priceV32"
          },
          "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 in the same Demand API version you are using.",
        "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
      },
      "constants_output": {
        "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"
            }
          }
        }
      },
      "valueAdds_bundlesTranslated": {
        "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"
          }
        }
      },
      "locations_cityId": {
        "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
      },
      "locations_coordinates": {
        "titles": "Coordinates",
        "type": "object",
        "properties": {
          "latitude": {
            "description": "The latitude.",
            "$ref": "#/components/schemas/coordinate"
          },
          "longitude": {
            "description": "The longitude.",
            "$ref": "#/components/schemas/coordinate"
          }
        }
      },
      "locations_countryId": {
        "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/locations_cityId"
          },
          "coordinates": {
            "$ref": "#/components/schemas/locations_coordinates"
          },
          "country": {
            "$ref": "#/components/schemas/locations_countryId"
          },
          "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"
      },
      "programmes": {
        "title": "AccommodationsProgrammes",
        "description": "Details of programmes undergone by the property.",
        "type": "object",
        "properties": {
          "travel_proud": {
            "$ref": "#/components/schemas/travelProud"
          }
        }
      },
      "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 and options.",
            "type": "object",
            "properties": {
              "adults": {
                "description": "Maximum number of adults.",
                "type": "integer",
                "minimum": 0
              },
              "children": {
                "description": "Maximum number of children.",
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "name": {
            "description": "Translated name of the room.",
            "$ref": "#/components/schemas/translatedString"
          },
          "number_of_rooms": {
            "title": "AccommodationsNumberOfRoomsOutput",
            "description": "Total rooms available.",
            "type": "object",
            "properties": {
              "bathrooms": {
                "description": "Total number of bathrooms.",
                "type": "integer",
                "minimum": 0
              },
              "bedrooms": {
                "description": "Total number of rooms equipped or that can be fitted 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_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/valueAdds_bundlesTranslated"
          },
          "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 is genius.",
            "type": "boolean"
          },
          "key_collection_information": {
            "$ref": "#/components/schemas/keyCollectionInformation"
          },
          "location": {
            "$ref": "#/components/schemas/accommodationLocation"
          },
          "long_stay_friendly": {
            "description": "Whether the accommodation is long stay friendly.",
            "type": "boolean"
          },
          "meal_prices": {
            "$ref": "#/components/schemas/mealPrices"
          },
          "name": {
            "description": "Translated name of the accommodation property.",
            "$ref": "#/components/schemas/translatedString"
          },
          "number_of_rooms": {
            "description": "Total number of rooms in the property. Please note that this is not an availability call and that this number is mostly used to determine the size and type of a property.",
            "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,
                      "nullable": true
                    },
                    "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": "The public ranking 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"
          },
          "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 work friendly.",
            "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"
                ]
              }
            }
          }
        }
      },
      "reviewsScores_input": {
        "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"
          }
        }
      },
      "reviewsScores_output": {
        "title": "AccommodationsReviewsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/scores"
            }
          }
        }
      },
      "schemas-booker": {
        "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"
        ]
      },
      "schemas-supplierId": {
        "description": "Supplier id.",
        "type": "integer"
      },
      "schemas-filters": {
        "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",
                "estate",
                "large",
                "medium",
                "premium",
                "small",
                "suvs"
              ],
              "x-enumDescriptions": {
                "carriers": "Vans or minivans designed for carrying larger groups or luggage.",
                "estate": "Station wagons or estate cars offering extra luggage space.",
                "large": "Large vehicles offering ample interior space and comfort.",
                "medium": "Mid-sized vehicles offering a balance of comfort and fuel efficiency.",
                "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."
            }
          },
          "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"
          },
          "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/schemas-supplierId"
            }
          },
          "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_partial_online_now",
                "pay_at_pickup"
              ]
            }
          }
        }
      },
      "locationAsAirport": {
        "description": "Defines location of the related route point by airport.",
        "type": "object",
        "properties": {
          "airport": {
            "$ref": "#/components/schemas/airportId"
          }
        }
      },
      "dataTypes_coordinates": {
        "title": "Coordinates",
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "locationAsCoordinates": {
        "description": "Defines location of the related route point by coordinates.",
        "type": "object",
        "properties": {
          "coordinates": {
            "description": "Defines the geographic coordinates of the searched location.",
            "$ref": "#/components/schemas/dataTypes_coordinates"
          }
        }
      },
      "locationAsCity": {
        "description": "Defines location of the related route point by city.",
        "type": "object",
        "properties": {
          "city": {
            "$ref": "#/components/schemas/cityId"
          }
        }
      },
      "routePointInput": {
        "description": "Defines the pickup or dropoff route point.",
        "type": "object",
        "properties": {
          "datetime": {
            "description": "Pickup / dropoff datetime.",
            "example": "2026-11-01T11:05:00",
            "format": "date-time",
            "type": "string"
          },
          "location": {
            "description": "Pickup / dropoff location.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/locationAsAirport"
              },
              {
                "$ref": "#/components/schemas/locationAsCoordinates"
              },
              {
                "$ref": "#/components/schemas/locationAsCity"
              }
            ]
          }
        },
        "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": {
        "description": "The sorting parameters for the response.",
        "type": "object",
        "properties": {
          "by": {
            "description": "The way to sort your results.",
            "type": "string",
            "enum": [
              "distance",
              "price",
              "review_score"
            ]
          },
          "direction": {
            "description": "The direction you wish for your sort.by parameter to be sorted in.",
            "type": "string",
            "enum": [
              "ascending",
              "descending"
            ]
          }
        }
      },
      "cars_search_input": {
        "type": "object",
        "properties": {
          "booker": {
            "$ref": "#/components/schemas/schemas-booker"
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "driver": {
            "$ref": "#/components/schemas/driver"
          },
          "filters": {
            "$ref": "#/components/schemas/schemas-filters"
          },
          "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"
          }
        },
        "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",
            "estate",
            "large",
            "medium",
            "premium",
            "small",
            "suvs"
          ],
          "x-enumDescriptions": {
            "carriers": "Vans or minivans designed for carrying larger groups or luggage.",
            "estate": "Station wagons or estate cars offering extra luggage space.",
            "large": "Large vehicles offering ample interior space and comfort.",
            "medium": "Mid-sized vehicles offering a balance of comfort and fuel efficiency.",
            "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": [
              "integer",
              "null"
            ],
            "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_partial_online_now",
              "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.",
            "type": "string",
            "enum": [
              "return_same",
              "return_same_or_prepay_no_refunds",
              "return_same_preauth",
              "free_tank",
              "prepay_no_refunds",
              "prepay_part_refunds",
              "prepay_refunds"
            ]
          },
          "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"
              }
            }
          }
        }
      },
      "schemas-chargeTypeId": {
        "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/schemas-chargeTypeId"
          },
          "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"
          }
        }
      },
      "depots_depotId": {
        "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/depots_depotId"
          },
          "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"
          }
        }
      },
      "schemas-product": {
        "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"
              }
            }
          }
        }
      },
      "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
          }
        }
      },
      "cars_search_output": {
        "type": "object",
        "required": [
          "request_id",
          "data"
        ],
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/schemas-product"
            }
          },
          "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_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"
          }
        }
      },
      "depots_contact": {
        "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.  Retrieve the full list of city IDs by calling /common/locations/cities.",
        "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"
          }
        }
      },
      "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/dataTypes_coordinates"
          },
          "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"
            ]
          }
        }
      },
      "numberOfReviews": {
        "description": "Number of validated reviews for the depot.",
        "type": "integer",
        "example": 125,
        "minimum": 0
      },
      "depots_reviewScore": {
        "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/depots_reviewScore"
          }
        }
      },
      "depot": {
        "description": "Static information about the car rental depot.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique depot's ID.",
            "$ref": "#/components/schemas/depots_depotId"
          },
          "contact": {
            "$ref": "#/components/schemas/depots_contact"
          },
          "city": {
            "description": "Unique identifier of the city. You can see the full list of city IDs calling /common/locations/cities.",
            "$ref": "#/components/schemas/city"
          },
          "dropoff": {
            "description": "Drop-off information for the depot.",
            "$ref": "#/components/schemas/instructions"
          },
          "location": {
            "$ref": "#/components/schemas/location"
          },
          "pickup": {
            "description": "Pickup information for the depot.",
            "$ref": "#/components/schemas/instructions"
          },
          "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"
                ]
              }
            }
          }
        }
      },
      "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"
        ]
      },
      "schemas-input": {
        "type": "object",
        "properties": {
          "maximum_results": {
            "$ref": "#/components/schemas/maximumResults"
          },
          "page": {
            "$ref": "#/components/schemas/page"
          }
        }
      },
      "schemas-breakdown_schema": {
        "description": "Review score information for a specific evaluation category.",
        "type": "object",
        "properties": {
          "score": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/score"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "schemas-breakdown": {
        "description": "Breakdown of review scores by evaluation category.",
        "type": "object",
        "properties": {
          "cleanliness": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "condition": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "drop_off_speed": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "friendliness": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "likeliness_rent_again": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemas-breakdown_schema"
              }
            ],
            "deprecated": true,
            "description": "Deprecated. This field will be removed in a future version."
          },
          "location": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "pick_up_speed": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          },
          "value_for_money": {
            "$ref": "#/components/schemas/schemas-breakdown_schema"
          }
        },
        "additionalProperties": false
      },
      "schemas-scores": {
        "description": "Review scores, rating breakdown, and review volume information for a depot.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/depots_depotId"
          },
          "breakdown": {
            "$ref": "#/components/schemas/schemas-breakdown"
          },
          "number_of_reviews": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/numberOfReviews"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/depots_reviewScore"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "schemas-output": {
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/schemas-scores"
            }
          },
          "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"
                ]
              }
            }
          }
        }
      },
      "components-schemas-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.",
            "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"
      },
      "components-schemas-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"
          }
        }
      },
      "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"
          }
        }
      },
      "languages_output": {
        "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
          }
        }
      },
      "cities_city": {
        "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/dataTypes_coordinates"
          }
        }
      },
      "citiesOutput": {
        "title": "CitiesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cities_city"
            }
          },
          "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/dataTypes_coordinates"
          }
        }
      },
      "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/dataTypes_coordinates"
          }
        }
      },
      "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
              }
            }
          }
        }
      },
      "paymentCard": {
        "title": "PaymentCardOutput",
        "description": "The payment card identifier code and its designation in English.",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/paymentCardId"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "cards_output": {
        "title": "CardsDataOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/paymentCard"
            }
          }
        }
      },
      "currencies_input": {
        "title": "CurrenciesInput",
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/languageId"
            },
            "default": [
              "en-gb"
            ]
          }
        }
      },
      "currencies_currency": {
        "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"
          }
        }
      },
      "currencies_output": {
        "title": "CurrenciesOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/currencies_currency"
            }
          }
        }
      },
      "carProductInput": {
        "title": "CarProductInput",
        "description": "Input for selecting an additional car product (e.g., child seat, GPS, additional insurance).",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the product to add.",
            "type": "string"
          },
          "amount": {
            "description": "The quantity of this product to add.",
            "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"
        ]
      },
      "preview_booker": {
        "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"
        ]
      },
      "preview_allocation": {
        "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/preview_allocation"
          }
        }
      },
      "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/preview_booker"
          },
          "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 car order",
            "description": "Use this option to preview pricing and policies for car rentals.",
            "required": [
              "car"
            ]
          },
          {
            "title": "Preview accommodation order",
            "description": "Use this option to preview pricing and policies for accommodation reservations.",
            "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"
          }
        }
      },
      "dataTypes_paymentMethods": {
        "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"
            }
          },
          "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/dataTypes_paymentMethods"
              }
            }
          },
          "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/dataTypes_paymentMethods"
              }
            },
            "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/dataTypes_paymentMethods"
              }
            },
            "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": "The ages of the children. Null or absent if no children fit.",
            "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": {
        "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": {
        "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"
          },
          "amount": {
            "description": "Amount for this specific charge.",
            "$ref": "#/components/schemas/carsPriceOutput"
          }
        }
      },
      "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 extra, feature, 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.",
            "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"
            ]
          },
          "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"
              },
              "total_amount": {
                "$ref": "#/components/schemas/carsPriceOutput"
              }
            }
          }
        }
      },
      "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"
          },
          "extra_charges": {
            "description": "List of additional charges, such as taxes or fees, included in the total drive-away price.",
            "type": "array",
            "items": {
              "$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 that applies to the selected product.",
        "type": "object",
        "properties": {
          "distance_limit": {
            "description": "Maximum distance allowed before additional fees apply.",
            "type": "number",
            "format": "double",
            "example": 300,
            "minimum": 0,
            "nullable": true
          },
          "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"
          }
        }
      },
      "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 only when a valid quote_reference is provided in the request and the insurance quote is available.\nIf the quote is invalid, expired, or insurance is not selected, 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"
          },
          "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"
              }
            }
          },
          "policy_document_url": {
            "description": "URL to the full policy document (PDS). Contains the complete terms and conditions of the insurance policy. Always present when the insurance object is returned.",
            "type": "string",
            "format": "uri",
            "examples": [
              "https://staging.rentalcover.com/en/pds"
            ]
          },
          "ipid_document_url": {
            "description": "URL to the Insurance Product Information Document (IPID). Provides a standardised summary of the insurance coverage, exclusions, and obligations. Only available for EEA and UK countries. Null if not applicable.",
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "examples": [
              "https://files.rentalcover.com/ipids.pdf"
            ]
          }
        },
        "required": [
          "quote_reference",
          "name",
          "id",
          "price",
          "policy_document_url"
        ]
      },
      "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"
                      }
                    }
                  },
                  "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"
                      }
                    }
                  },
                  "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"
                      }
                    }
                  }
                }
              },
              "insurance": {
                "$ref": "#/components/schemas/carInsuranceOutput"
              }
            }
          },
          "order_token": {
            "description": "A token containing the necessary data to be used on subsequent requests to [orders/create].",
            "type": "string"
          }
        }
      },
      "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"
        ]
      },
      "create_product": {
        "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": "OrderCreateAccommodationInput",
        "description": "Additional information related to the accommodation order. This field is mutually exclusive with car; only one of them can be included in a request.",
        "type": "object",
        "properties": {
          "label": {
            "description": "A label for this order. This can be read back later while fetching this order details.",
            "type": "string"
          },
          "products": {
            "description": "",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/create_product"
            }
          },
          "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"
        ]
      },
      "create_booker": {
        "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"
          }
        }
      },
      "create_payment": {
        "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",
                "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_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."
            }
          }
        },
        "required": [
          "timing"
        ]
      },
      "ordersCreateInput": {
        "title": "OrderCreateInput",
        "type": "object",
        "properties": {
          "accommodation": {
            "$ref": "#/components/schemas/accommodation"
          },
          "booker": {
            "$ref": "#/components/schemas/create_booker"
          },
          "order_token": {
            "description": "A token containing the necessary data to be used for creating this order.",
            "type": "string"
          },
          "payment": {
            "$ref": "#/components/schemas/create_payment"
          }
        },
        "required": [
          "booker",
          "order_token",
          "payment"
        ]
      },
      "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"
          }
        }
      },
      "create_paymentOutput": {
        "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"
          }
        }
      },
      "ordersCreateOutput": {
        "title": "OrderCreateOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "OrderCreateDataOutput",
            "type": "object",
            "properties": {
              "order": {
                "description": "ID for this order.",
                "type": "string"
              },
              "accommodation": {
                "$ref": "#/components/schemas/accommodationOutput"
              },
              "payment": {
                "$ref": "#/components/schemas/create_paymentOutput"
              }
            }
          }
        }
      },
      "orderDatetimeFilter": {
        "title": "OrderDetailsDatetimeFilterInput",
        "description": "Filtering orders by time range on basis of order \"created\" or \"updated\" time. Maximum time range is 7 days (1 week).",
        "type": "object",
        "properties": {
          "from": {
            "description": "ISO 8601 timestamp in UTC, which indicates the timestamp from which you want to filter orders from (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"
        ]
      },
      "schemas-extras": {
        "description": "Input parameter to request for additional information about this order.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "payment"
          ]
        }
      },
      "services": {
        "description": "Filter orders by included travel services.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "accommodations",
            "cars",
            "flights",
            "attractions",
            "taxis"
          ]
        }
      },
      "inputUpdated": {
        "title": "Order details by last update input",
        "description": "Request parameters to retrieve orders based on their last updated timestamp. Supports sorting, pagination, and optional data enrichment.",
        "type": "object",
        "properties": {
          "updated": {
            "$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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "updated",
          "currency"
        ]
      },
      "inputCreated": {
        "title": "Order details by creation date input",
        "description": "Request parameters to retrieve orders based on their creation timestamp. Commonly used for reporting and initial data ingestion.",
        "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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "created",
          "currency"
        ]
      },
      "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. It indicates from which date you want to filter the orders. You can filter orders up to 1 year in the past and 500 days in the future.",
            "type": "string",
            "format": "date",
            "example": "2024-06-01"
          },
          "to": {
            "description": "ISO 8601 date in \"YYYY-MM-DD\" format. It indicates until which date you want to filter the orders to (inclusive). It has to be greater than or equal to \"from\". It uses \"from\" value as default.",
            "type": "string",
            "format": "date",
            "example": "2024-06-03"
          }
        },
        "required": [
          "from"
        ]
      },
      "inputStart": {
        "title": "Order details by start date input",
        "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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "start",
          "currency"
        ]
      },
      "inputEnd": {
        "title": "Order details by end date input",
        "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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "end",
          "currency"
        ]
      },
      "order": {
        "description": "Order ID for which details should be returned.",
        "type": "string"
      },
      "inputOrder": {
        "title": "Order details by order IDs input",
        "description": "Request parameters to retrieve order details using a list of known order IDs. Use this when you already know the order identifiers and need to fetch 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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "orders",
          "currency"
        ]
      },
      "inputReservations": {
        "title": "Order details by reservation IDs input",
        "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/schemas-extras"
          },
          "services": {
            "$ref": "#/components/schemas/services"
          }
        },
        "required": [
          "reservations",
          "currency"
        ]
      },
      "inputPage": {
        "title": "Order details by pagination input",
        "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/schemas-extras"
          }
        },
        "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 booker platform for showing the platform based deals and prices.",
            "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"
            ]
          }
        }
      },
      "car_reservation": {
        "description": "This is the reservation id for the car in this order.",
        "type": "string"
      },
      "createdOutput": {
        "description": "Order creation time. For taxi orders with multiple legs, this is the earliest booking date among all legs.",
        "type": "string",
        "format": "date-time"
      },
      "schemas-priceCurrencyOutput": {
        "title": "PriceCurrencyOutput",
        "description": "The amount in both product and booker currencies (booker might be null, if not requested)",
        "type": "object",
        "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, in the units of the specified reward type (such as cash, mile, point, etc.).",
              "type": "number",
              "format": "double"
            },
            "currency": {
              "description": "Currency used for reward calculation.",
              "$ref": "#/components/schemas/currencyId",
              "nullable": true
            },
            "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": "Mode of fulfillment of the reward.",
              "type": "string",
              "enum": [
                "partner",
                "booking.com"
              ]
            },
            "loyalty_data": {
              "description": "Loyalty data associated with this loyalty reward used to fulfill 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",
          "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"
            }
          }
        }
      },
      "status": {
        "type": "string",
        "enum": [
          "booked",
          "cancelled",
          "cancelled_by_accommodation",
          "cancelled_by_guest",
          "no_show",
          "stayed"
        ]
      },
      "taxiOutput": {
        "description": "Details of a single taxi leg in this order.",
        "title": "OrderDetailsTaxiOutput",
        "type": "object",
        "properties": {
          "commission": {
            "title": "TaxiCommissionOutput",
            "description": "Commission details for this taxi leg.",
            "type": "object",
            "properties": {
              "actual_amount": {
                "description": "The actual commission amount for this taxi leg.",
                "$ref": "#/components/schemas/schemas-priceCurrencyOutput",
                "nullable": true
              },
              "estimated_amount": {
                "description": "The estimated commission amount for this taxi leg.",
                "$ref": "#/components/schemas/schemas-priceCurrencyOutput",
                "nullable": true
              }
            }
          },
          "created": {
            "description": "The creation time of this taxi leg.",
            "type": "string",
            "format": "date-time"
          },
          "currencies": {
            "title": "TaxiCurrencyOutput",
            "description": "Product and booker currencies for this taxi 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 taxi leg.",
            "title": "OrderDetailsTaxiDropoffLocationOutput",
            "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 taxi leg.",
            "type": "string",
            "format": "date-time"
          },
          "leg": {
            "description": "Unique identifier for this taxi leg within the order.",
            "type": "string",
            "example": "607244787653565"
          },
          "pickup_location": {
            "description": "Details of the pickup location for this taxi leg.",
            "title": "OrderDetailsTaxiPickupLocationOutput",
            "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": "TaxiPriceOutput",
            "description": "The price components for this taxi leg.",
            "type": "object",
            "properties": {
              "commissionable": {
                "description": "Price on which the commission is calculated for this taxi leg.",
                "$ref": "#/components/schemas/schemas-priceCurrencyOutput",
                "nullable": true
              },
              "total": {
                "description": "Total price for this taxi leg.",
                "$ref": "#/components/schemas/schemas-priceCurrencyOutput"
              }
            }
          },
          "reservation": {
            "description": "The reservation identifier shared by all taxi legs belonging to the same taxi order.",
            "type": "string",
            "example": "916957580"
          },
          "start": {
            "description": "The start date and time of this taxi leg.",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Current status of this taxi leg.\n\nImportant for taxi legs:\n- A status of booked indicates that the ride has been successfully reserved, and is to be fulfilled.\n- Taxi 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 taxi orders where different legs may have different statuses.",
            "$ref": "#/components/schemas/status"
          },
          "updated": {
            "description": "The last update time of this taxi leg.",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "updatedOutput": {
        "description": "Time the order was last updated. For taxi 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": "The id for this order.",
            "type": "string"
          },
          "accommodations": {
            "title": "OrderDetailsAccommodationsOutput",
            "type": "object",
            "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": "The number of guests reserved for this product.",
                "type": "number",
                "minimum": 1
              },
              "reservation": {
                "$ref": "#/components/schemas/accommodation_reservation"
              },
              "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",
                "format": "double",
                "multipleOf": 0.01,
                "minimum": 0,
                "maximum": 1,
                "nullable": true
              }
            }
          },
          "affiliate": {
            "description": "The affiliate id used for this order.",
            "type": "integer"
          },
          "attractions": {
            "$ref": "#/components/schemas/attractionOutput"
          },
          "booker": {
            "$ref": "#/components/schemas/bookerOutput"
          },
          "cars": {
            "title": "OrderDetailsCarsOutput",
            "type": "object",
            "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_partial_online_now",
                      "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_partial_online_now": "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 taxi 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/schemas-priceCurrencyOutput",
                "nullable": true
              },
              "actual_percentage": {
                "description": "Actual commission percentage for this order (`null` if not yet available). For taxi orders with multiple legs, this is the percentage of legs.",
                "type": "number",
                "format": "double",
                "nullable": true
              },
              "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/schemas-priceCurrencyOutput",
                "nullable": true
              }
            }
          },
          "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).",
                "nullable": true,
                "$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 taxi 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 taxi orders with multiple legs, this is the latest pickup time among all legs.",
            "type": "string",
            "format": "date-time"
          },
          "flights": {
            "title": "OrderDetailsFlightsOutput",
            "type": "object",
            "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",
            "nullable": true
          },
          "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 of this order.",
                "type": "string",
                "enum": [
                  "airplus",
                  "card",
                  "wallet"
                ]
              },
              "paid": {
                "description": "The paid transactions for this order.",
                "nullable": true,
                "$ref": "#/components/schemas/paymentTransactions"
              },
              "pending": {
                "description": "The pending transactions for this order.",
                "nullable": true,
                "$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 taxi 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/schemas-priceCurrencyOutput",
                "nullable": true
              },
              "total_price": {
                "description": "Final order price including all charges, in both currencies.",
                "$ref": "#/components/schemas/schemas-priceCurrencyOutput"
              }
            },
            "nullable": true
          },
          "start": {
            "description": "The date when this order starts. For taxi orders with multiple legs, this is the earliest pickup time among all legs.",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Status of this order.\n\n For taxi orders with multiple legs:\n- If all legs share the same status, that value is returned.\n- If legs have different statuses, unknown is returned (indicating a mixed status across legs).\n\nImportant for taxi orders:\n- A status of booked indicates that the taxi ride has been successfully reserved, and is to be fulfilled.\n- Taxi reservations may still transition to cancelled or cancelled_by_guest after being booked.\n- Partners should not treat booked as a guaranteed completed ride.\n\n For accurate reporting, always check both the order-level status and individual leg statuses in taxis[].status via /orders/details, especially for upcoming or recently completed trips.",
            "$ref": "#/components/schemas/status"
          },
          "taxis": {
            "description": "List of taxi legs included in this order. Each item represents a separate taxi leg (e.g., outbound and return trips).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/taxiOutput"
            },
            "nullable": true
          },
          "updated": {
            "$ref": "#/components/schemas/updatedOutput"
          }
        }
      },
      "ordersDetailsOutput": {
        "title": "OrderDetailsOutput",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/orderDetailsData"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/metadata"
          },
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          }
        }
      },
      "accommodations_extras": {
        "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"
          ]
        }
      },
      "accommodations_inputOrder": {
        "title": "OrderInput",
        "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/accommodations_extras"
          },
          "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": "ReservationInput",
        "type": "object",
        "properties": {
          "reservations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reservation"
            },
            "maxItems": 100
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "extras": {
            "$ref": "#/components/schemas/accommodations_extras"
          },
          "language": {
            "description": "Language in which translation should be provided. The default language is from settings",
            "$ref": "#/components/schemas/languageId"
          }
        },
        "required": [
          "reservations"
        ]
      },
      "accommodations_bookerOutput": {
        "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"
          }
        }
      },
      "accommodations_checkinMethod": {
        "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"
        ]
      },
      "accommodations_keyLocation": {
        "description": "Location of the key to access this accommodation property.",
        "type": "string",
        "enum": [
          "at_the_property",
          "different_place",
          "unknown"
        ]
      },
      "accommodations_keyCollectionInformation": {
        "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": "This is the alternate location where the key for this accommodation property can be collected. It is provided if the key is not available at the accommodation property itself but instead at another designated location.",
            "type": "object",
            "properties": {
              "address": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "postal_code": {
                "type": "string"
              }
            }
          },
          "checkin_method": {
            "$ref": "#/components/schemas/accommodations_checkinMethod"
          },
          "key_location": {
            "$ref": "#/components/schemas/accommodations_keyLocation"
          }
        }
      },
      "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"
            }
          }
        }
      },
      "accommodations_guest": {
        "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"
              }
            }
          }
        }
      },
      "accommodations_productPrice": {
        "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/accommodations_guest"
            }
          },
          "policies": {
            "$ref": "#/components/schemas/detailsAccommodationsProductPolicies"
          },
          "price": {
            "$ref": "#/components/schemas/accommodations_productPrice"
          },
          "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": "Hotel ID for this accommodation 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/accommodations_bookerOutput"
          },
          "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",
            "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"
              }
            },
            "nullable": true
          },
          "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/accommodations_keyCollectionInformation"
            }
          },
          "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
          }
        }
      },
      "outputAccommodationsOrder": {
        "title": "OrdersDetailsAccommodationsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ordersDetailsAccommodations"
            }
          }
        }
      },
      "cars_extras": {
        "description": "Optional extra details to include in the response, passed as a JSON array.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "policies"
          ]
        }
      },
      "carsDetailsInputOrder": {
        "title": "OrderInput",
        "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": {
            "description": "Optional extra details to include in the response, passed as a JSON array.",
            "$ref": "#/components/schemas/cars_extras"
          }
        },
        "required": [
          "orders"
        ]
      },
      "carsDetailsInputReservation": {
        "title": "ReservationInput",
        "type": "object",
        "properties": {
          "reservations": {
            "description": "List of reservation IDs for which details should be returned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/order"
            },
            "maxItems": 100
          },
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          },
          "extras": {
            "description": "Optional extra details to include in the response, passed as a JSON array.",
            "$ref": "#/components/schemas/cars_extras"
          }
        },
        "required": [
          "reservations"
        ]
      },
      "cars_priceCurrencyOutput": {
        "title": "CarsPriceCurrency",
        "description": "The price in both depot and booker currencies (booker might be null, if not requested)",
        "type": "object",
        "properties": {
          "depot_currency": {
            "description": "The price in depot currency. **DEPRECATED: Always expect null/omitted.**",
            "$ref": "#/components/schemas/monetaryAmount",
            "deprecated": true,
            "nullable": true
          },
          "booker_currency": {
            "$ref": "#/components/schemas/monetaryAmount"
          }
        }
      },
      "cars_routePointOutput": {
        "description": "Pickup or drop-off location details.",
        "type": "object",
        "properties": {
          "datetime": {
            "description": "Pickup/drop-off date and time in ISO-8601 format.",
            "example": "2023-11-01T11:05:00+00:00",
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "pricePerCarReservation": {
        "title": "CarReservationPriceOutput",
        "description": "The price breakdown for this car order.",
        "type": "object",
        "properties": {
          "commissionable": {
            "description": "The commissionable price, representing the car rental cost used to calculate the commission amount. DEPRECATED: Always expect null/omitted in this endpoint. Check the orders/details endpoint for commission details instead.",
            "$ref": "#/components/schemas/cars_priceCurrencyOutput",
            "nullable": true,
            "deprecated": true
          },
          "total": {
            "description": "The total price, including all extra charges.",
            "$ref": "#/components/schemas/cars_priceCurrencyOutput"
          }
        },
        "nullable": true
      },
      "cars_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_at_pickup",
              "pay_partial_online_now",
              "unknown"
            ]
          }
        },
        "required": [
          "timing"
        ]
      },
      "cars_policiesOutput": {
        "description": "The policies that apply to this product.",
        "type": "object",
        "properties": {
          "payment": {
            "$ref": "#/components/schemas/cars_paymentOutput"
          }
        }
      },
      "cars_productPrice": {
        "title": "CarDetailsProductPriceOutput",
        "description": "Detailed breakdown of the product's price components.",
        "type": "object",
        "properties": {
          "base": {
            "description": "The base price. This does not include any extra charges.",
            "$ref": "#/components/schemas/cars_priceCurrencyOutput",
            "nullable": true
          },
          "total": {
            "description": "The total price including any extra charges.",
            "$ref": "#/components/schemas/cars_priceCurrencyOutput",
            "nullable": true
          }
        }
      },
      "detailsCarsProductOutput": {
        "title": "OrdersDetailsCarsProductsOutput",
        "description": "Information about the reserved product within the order.",
        "type": "object",
        "properties": {
          "car": {
            "description": "Related car id",
            "$ref": "#/components/schemas/carId"
          },
          "policies": {
            "$ref": "#/components/schemas/cars_policiesOutput"
          },
          "price": {
            "$ref": "#/components/schemas/cars_productPrice"
          },
          "status": {
            "description": "Status of the product.",
            "$ref": "#/components/schemas/status"
          }
        }
      },
      "ordersDetailsCars": {
        "title": "OrdersDetailsCarsOutput",
        "description": "Object containing all the information related to car order.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Order ID for this car order.",
            "type": "string"
          },
          "affiliate": {
            "description": "The affiliate ID used for this order.",
            "type": "number"
          },
          "commission": {
            "description": "Commission details for the partner for this car order. DEPRECATED: Always expect null/omitted in this endpoint. Check the orders/details endpoint for commission details instead.",
            "nullable": true,
            "deprecated": true,
            "type": "object",
            "properties": {
              "actual_amount": {
                "description": "Actual commission amount for this car order (`null` if value is not yet available).",
                "$ref": "#/components/schemas/cars_priceCurrencyOutput",
                "nullable": true,
                "deprecated": true
              },
              "actual_percentage": {
                "description": "Actual commission percentage for this car order (`null` if value is not yet available).",
                "type": "number",
                "format": "double",
                "nullable": true,
                "deprecated": true
              },
              "estimated_amount": {
                "description": "Estimated commission amount for this car order (`null` if the actual amount is given).",
                "$ref": "#/components/schemas/cars_priceCurrencyOutput",
                "nullable": true
              }
            }
          },
          "currency": {
            "title": "OrderCurrencyOutput",
            "description": "Depot and booker currencies (depot will be `null` going forward).",
            "type": "object",
            "properties": {
              "depot": {
                "$ref": "#/components/schemas/currencyId",
                "nullable": true,
                "deprecated": true,
                "description": "Depot currency ID. **DEPRECATED: Will be set to null.**"
              },
              "booker": {
                "nullable": true,
                "$ref": "#/components/schemas/currencyId"
              }
            }
          },
          "dropoff": {
            "description": "Drop-off depot location and time.",
            "$ref": "#/components/schemas/cars_routePointOutput"
          },
          "label": {
            "description": "Identifier associated with the car booking. DEPRECATED: Always expect null/omitted in this endpoint. If you need to use 'label' for attributions, refer to orders/details",
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "pickup": {
            "description": "Pick up depot location and time.",
            "$ref": "#/components/schemas/cars_routePointOutput"
          },
          "price": {
            "$ref": "#/components/schemas/pricePerCarReservation"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/detailsCarsProductOutput"
            }
          },
          "reservation": {
            "description": "This is the reservation id for the car in this order.",
            "type": "string"
          },
          "status": {
            "description": "Status of this car order.",
            "$ref": "#/components/schemas/status"
          }
        }
      },
      "carsDetailsOutput": {
        "title": "OrdersDetailsCarsOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "type": "array",
            "description": "List of car order objects containing full details for each requested reservation.",
            "items": {
              "$ref": "#/components/schemas/ordersDetailsCars"
            }
          }
        }
      },
      "flights_input": {
        "title": "FlightsDetailsInput",
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/currencyId"
          }
        },
        "oneOf": [
          {
            "title": "FlightsDetailsInputByOrders",
            "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": "FlightsDetailsInputByReservations",
            "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"
          }
        }
      },
      "flights_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"
          },
          "date_time": {
            "description": "Date time of the itinerary.",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "flights_itineraryOutput": {
        "title": "ItineraryOutput",
        "type": "object",
        "properties": {
          "arrival": {
            "description": "Arrival itinerary.",
            "$ref": "#/components/schemas/flights_itinerary"
          },
          "departure": {
            "description": "Departure itinerary.",
            "$ref": "#/components/schemas/flights_itinerary"
          }
        }
      },
      "priceOutput": {
        "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/flights_itineraryOutput"
            }
          },
          "label": {
            "description": "Identifier associated with the order.",
            "type": "string"
          },
          "price": {
            "$ref": "#/components/schemas/priceOutput"
          },
          "status": {
            "type": "string",
            "enum": [
              "booked",
              "cancelled",
              "unknown"
            ]
          }
        }
      },
      "flights_output": {
        "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"
          },
          "allocation": {
            "type": "object",
            "properties": {
              "number_of_adults": {
                "type": "integer"
              }
            }
          },
          "guests": {
            "description": "Guest information for the room.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                }
              }
            }
          },
          "smoking_preference": {
            "type": "string",
            "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"
        ]
      },
      "statusOutput": {
        "description": "Status for this modification request.",
        "type": "string",
        "enum": [
          "successful",
          "failed"
        ]
      },
      "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": {
                    "$ref": "#/components/schemas/statusOutput"
                  }
                }
              }
            }
          }
        }
      },
      "paymentModificationOutput": {
        "type": "object",
        "properties": {
          "modifications": {
            "type": "object",
            "properties": {
              "payment": {
                "type": "object",
                "properties": {
                  "status": {
                    "$ref": "#/components/schemas/statusOutput"
                  }
                }
              }
            }
          }
        }
      },
      "cancelInput": {
        "title": "OrdersCancelInput",
        "description": "Cancels a reservation within an existing order. Provide the reservation details for the travel service you want to cancel. The order ID can be optionally provided to help identify the order. Only one travel service can be cancelled per request.",
        "type": "object",
        "properties": {
          "order": {
            "description": "Unique identifier of the order containing the reservation 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"
            ]
          }
        },
        "oneOf": [
          {
            "title": "Cancel a car order",
            "description": "Use this option to cancel a car rental reservation.",
            "required": [
              "car"
            ]
          },
          {
            "title": "Cancel an accommodation order",
            "description": "Use this option to cancel an accommodation reservation.",
            "required": [
              "accommodation"
            ]
          }
        ]
      },
      "cancelOutput": {
        "title": "OrdersCancelOutput",
        "type": "object",
        "properties": {
          "request_id": {
            "$ref": "#/components/schemas/requestId"
          },
          "data": {
            "title": "OrdersCancelDataOutput",
            "type": "object",
            "properties": {
              "status": {
                "description": "Result of the cancellation request. Can be `successful` or `failed`.",
                "type": "string",
                "enum": [
                  "successful",
                  "failed"
                ]
              }
            }
          }
        }
      }
    },
    "examples": {
      "output": {
        "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",
              "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": "One123",
            "loyalty_reward": [
              {
                "amount": 15,
                "currency": "USD",
                "eligible": true,
                "fulfillment_at": "2023-02-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",
            "taxis": null,
            "updated": "2025-11-28T02:00:00+00:00"
          }
        ],
        "metadata": {
          "next_page": null,
          "total_results": 1
        }
      },
      "examples-output": {
        "summary": "Accommodation order details response",
        "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",
        "Cars"
      ]
    },
    {
      "name": "Common",
      "tags": [
        "Common/locations",
        "Common/payments",
        "Common/languages"
      ]
    },
    {
      "name": "Orders",
      "tags": [
        "Orders"
      ]
    }
  ]
}