{
    "openapi": "3.1.0",
    "info": {
        "title": "DownFare Distribution API",
        "version": "v1",
        "description": "DownFare Distribution API for travel search, pricing, orders, and bookings."
    },
    "servers": [
        {
            "url": "https:\/\/downfare.com\/api\/v1\/distribution",
            "description": "Production"
        }
    ],
    "security": [
        {
            "ApiKey": []
        }
    ],
    "paths": {
        "\/bookings": {
            "post": {
                "operationId": "booking.create",
                "summary": "Create a booking (flights legacy flow)",
                "tags": [
                    "Booking"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "offer_id": {
                                        "type": "string",
                                        "maxLength": 2048
                                    },
                                    "passengers": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "title": {
                                                    "type": "string",
                                                    "maxLength": 20
                                                },
                                                "first_name": {
                                                    "type": "string",
                                                    "maxLength": 100
                                                },
                                                "last_name": {
                                                    "type": "string",
                                                    "maxLength": 100
                                                },
                                                "date_of_birth": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "contact": {
                                                    "type": "object",
                                                    "properties": {
                                                        "email": {
                                                            "type": "string",
                                                            "format": "email"
                                                        },
                                                        "phone": {
                                                            "type": "string",
                                                            "maxLength": 40
                                                        }
                                                    },
                                                    "required": [
                                                        "email",
                                                        "phone"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "title",
                                                "first_name",
                                                "last_name",
                                                "date_of_birth",
                                                "contact"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 9
                                    }
                                },
                                "required": [
                                    "offer_id",
                                    "passengers"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/FlightBooking"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            },
            "get": {
                "operationId": "booking.index",
                "summary": "List bookings for the API key owner",
                "tags": [
                    "Booking"
                ],
                "parameters": [
                    {
                        "name": "module_type",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "flights",
                                "hotels",
                                "rentals",
                                "tours",
                                "cars",
                                "transfers",
                                "wellness",
                                null
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 50
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/BookingResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer"
                                                },
                                                "last_page": {
                                                    "type": "integer"
                                                },
                                                "per_page": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/bookings\/{bookingId}": {
            "get": {
                "operationId": "booking.show",
                "summary": "Get booking details",
                "tags": [
                    "Booking"
                ],
                "parameters": [
                    {
                        "name": "bookingId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/BookingResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "auxiliary_items"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/bookings\/{bookingId}\/cancel": {
            "post": {
                "operationId": "booking.cancel",
                "summary": "Cancel a booking",
                "tags": [
                    "Booking"
                ],
                "parameters": [
                    {
                        "name": "bookingId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 500
                                    },
                                    "request_refund": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "boolean"
                                                },
                                                "booking_number": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string",
                                                    "const": "cancelled"
                                                },
                                                "refund": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "booking_number",
                                                "status",
                                                "refund"
                                            ]
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Booking cancelled successfully."
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/cars\/search": {
            "get": {
                "operationId": "car.search",
                "summary": "Search for car rental offers",
                "tags": [
                    "Car"
                ],
                "parameters": [
                    {
                        "name": "pickup_code",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 2
                        }
                    },
                    {
                        "name": "dropoff_code",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2
                        }
                    },
                    {
                        "name": "pickup_datetime",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "return_datetime",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "locale",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "country_code",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "driver_age",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 18,
                            "maximum": 99
                        }
                    },
                    {
                        "name": "vendor_code",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "car_type",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "transmission",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {}
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/cars\/offers\/{offerId}\/price": {
            "get": {
                "operationId": "car.getOfferPrice",
                "summary": "Get confirmed pricing for a car offer",
                "tags": [
                    "Car"
                ],
                "parameters": [
                    {
                        "name": "offerId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "manual",
                                "expedia",
                                null
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {}
                                            }
                                        },
                                        "meta": {}
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/cars\/orders": {
            "post": {
                "operationId": "car.createOrder",
                "summary": "Create a car rental order",
                "tags": [
                    "Car"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "offer_id": {
                                        "type": "string"
                                    },
                                    "provider": {
                                        "type": "string",
                                        "enum": [
                                            "manual",
                                            "expedia"
                                        ]
                                    },
                                    "driver": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "customer": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "payment": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "required": [
                                    "offer_id",
                                    "provider"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/flights\/search": {
            "get": {
                "operationId": "flight.search",
                "summary": "Search for flights",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "origin",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "destination",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "departure_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "return_date",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "children",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "infants",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "travel_class",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "ECONOMY",
                                "PREMIUM_ECONOMY",
                                "BUSINESS",
                                "FIRST",
                                null
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/FlightResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/flights\/offers\/{offerId}": {
            "get": {
                "operationId": "flight.getOffer",
                "summary": "Get flight offer details",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "offerId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/FlightResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Offer not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/flights\/offers\/{offerId}\/price": {
            "post": {
                "operationId": "flight.getPrice",
                "summary": "Get confirmed price for an offer",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "offerId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/flights\/offers\/{offerId}\/seatmap": {
            "get": {
                "operationId": "flight.getSeatMap",
                "summary": "Get seat map for a flight offer",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "offerId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "anyOf": [
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {}
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "segment_id": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ]
                                                                    },
                                                                    "departure": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": "null"
                                                                            },
                                                                            "at": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "arrival": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": "null"
                                                                            },
                                                                            "at": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "aircraft": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "code": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "code"
                                                                        ]
                                                                    },
                                                                    "deck_configurations": {
                                                                        "type": "array",
                                                                        "prefixItems": [
                                                                            {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "deck_type": {
                                                                                        "type": "string",
                                                                                        "const": "LOWER"
                                                                                    },
                                                                                    "width": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "length": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "start_seat_row": {
                                                                                        "type": "integer",
                                                                                        "const": 1
                                                                                    },
                                                                                    "end_seat_row": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "seats": {
                                                                                        "type": "array",
                                                                                        "items": {
                                                                                            "type": "object",
                                                                                            "properties": {
                                                                                                "cabin": {
                                                                                                    "type": "string",
                                                                                                    "enum": [
                                                                                                        "FIRST",
                                                                                                        "BUSINESS",
                                                                                                        "PREMIUM_ECONOMY",
                                                                                                        "ECONOMY"
                                                                                                    ]
                                                                                                },
                                                                                                "number": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string",
                                                                                                            "enum": [
                                                                                                                ""
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                },
                                                                                                "characteristics_codes": {
                                                                                                    "type": "array",
                                                                                                    "items": {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "coordinates": {
                                                                                                    "type": "object",
                                                                                                    "properties": {
                                                                                                        "x": {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        "y": {
                                                                                                            "type": "integer"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "x",
                                                                                                        "y"
                                                                                                    ]
                                                                                                },
                                                                                                "available": {
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "traveler_pricing_id": {
                                                                                                    "type": [
                                                                                                        "string",
                                                                                                        "null"
                                                                                                    ]
                                                                                                },
                                                                                                "price": {
                                                                                                    "type": "object",
                                                                                                    "properties": {
                                                                                                        "amount": {
                                                                                                            "type": "number"
                                                                                                        },
                                                                                                        "currency": {
                                                                                                            "anyOf": [
                                                                                                                {
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "string",
                                                                                                                    "enum": [
                                                                                                                        "USD"
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "amount",
                                                                                                        "currency"
                                                                                                    ]
                                                                                                },
                                                                                                "service_id": {
                                                                                                    "type": [
                                                                                                        "string",
                                                                                                        "null"
                                                                                                    ]
                                                                                                },
                                                                                                "available_services": {
                                                                                                    "type": "array",
                                                                                                    "description": "Keep all passenger-specific seat services for multi-pax booking.",
                                                                                                    "items": {}
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "cabin",
                                                                                                "number",
                                                                                                "characteristics_codes",
                                                                                                "coordinates",
                                                                                                "available",
                                                                                                "traveler_pricing_id",
                                                                                                "price",
                                                                                                "service_id",
                                                                                                "available_services"
                                                                                            ]
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "deck_type",
                                                                                    "width",
                                                                                    "length",
                                                                                    "start_seat_row",
                                                                                    "end_seat_row",
                                                                                    "seats"
                                                                                ]
                                                                            }
                                                                        ],
                                                                        "minItems": 1,
                                                                        "maxItems": 1,
                                                                        "additionalItems": false
                                                                    }
                                                                },
                                                                "required": [
                                                                    "segment_id",
                                                                    "departure",
                                                                    "arrival",
                                                                    "aircraft",
                                                                    "deck_configurations"
                                                                ]
                                                            }
                                                        },
                                                        "available": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments",
                                                        "available"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {
                                                            "type": "null"
                                                        },
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        },
                                                        "available": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments",
                                                        "available"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {
                                                            "type": "null"
                                                        },
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "segment_id": {
                                                                        "type": "null"
                                                                    },
                                                                    "departure": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": [
                                                                                    "string",
                                                                                    "null"
                                                                                ]
                                                                            },
                                                                            "at": {
                                                                                "type": [
                                                                                    "string",
                                                                                    "null"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "arrival": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": [
                                                                                    "string",
                                                                                    "null"
                                                                                ]
                                                                            },
                                                                            "at": {
                                                                                "type": [
                                                                                    "string",
                                                                                    "null"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "aircraft": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "code": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "code"
                                                                        ]
                                                                    },
                                                                    "deck_configurations": {
                                                                        "type": "array",
                                                                        "prefixItems": [
                                                                            {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "deck_type": {
                                                                                        "type": "string",
                                                                                        "const": "LOWER"
                                                                                    },
                                                                                    "width": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "length": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "start_seat_row": {
                                                                                        "type": "integer",
                                                                                        "const": 1
                                                                                    },
                                                                                    "end_seat_row": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "seats": {
                                                                                        "type": "array",
                                                                                        "items": {
                                                                                            "type": "object",
                                                                                            "properties": {
                                                                                                "cabin": {
                                                                                                    "type": "string",
                                                                                                    "enum": [
                                                                                                        "FIRST",
                                                                                                        "BUSINESS",
                                                                                                        "PREMIUM_ECONOMY",
                                                                                                        "ECONOMY"
                                                                                                    ]
                                                                                                },
                                                                                                "number": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string",
                                                                                                            "enum": [
                                                                                                                ""
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                },
                                                                                                "characteristics_codes": {
                                                                                                    "type": "array",
                                                                                                    "items": {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "coordinates": {
                                                                                                    "type": "object",
                                                                                                    "properties": {
                                                                                                        "x": {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        "y": {
                                                                                                            "type": "integer"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "x",
                                                                                                        "y"
                                                                                                    ]
                                                                                                },
                                                                                                "available": {
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "traveler_pricing_id": {
                                                                                                    "type": "null"
                                                                                                },
                                                                                                "price": {
                                                                                                    "type": "object",
                                                                                                    "properties": {
                                                                                                        "amount": {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        "currency": {
                                                                                                            "type": "string",
                                                                                                            "const": "USD"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "amount",
                                                                                                        "currency"
                                                                                                    ]
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "cabin",
                                                                                                "number",
                                                                                                "characteristics_codes",
                                                                                                "coordinates",
                                                                                                "available",
                                                                                                "traveler_pricing_id",
                                                                                                "price"
                                                                                            ]
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "deck_type",
                                                                                    "width",
                                                                                    "length",
                                                                                    "start_seat_row",
                                                                                    "end_seat_row",
                                                                                    "seats"
                                                                                ]
                                                                            }
                                                                        ],
                                                                        "minItems": 1,
                                                                        "maxItems": 1,
                                                                        "additionalItems": false
                                                                    }
                                                                },
                                                                "required": [
                                                                    "segment_id",
                                                                    "departure",
                                                                    "arrival",
                                                                    "aircraft",
                                                                    "deck_configurations"
                                                                ]
                                                            }
                                                        },
                                                        "available": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments",
                                                        "available"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {
                                                            "type": "null"
                                                        },
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "segment_id": {
                                                                        "type": "null"
                                                                    },
                                                                    "departure": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": "null"
                                                                            },
                                                                            "at": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "arrival": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "iataCode": {
                                                                                "type": "null"
                                                                            },
                                                                            "at": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "iataCode",
                                                                            "at"
                                                                        ]
                                                                    },
                                                                    "aircraft": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "code": {
                                                                                "type": "null"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "code"
                                                                        ]
                                                                    },
                                                                    "deck_configurations": {
                                                                        "type": "array",
                                                                        "prefixItems": [
                                                                            {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "deck_type": {
                                                                                        "type": "string",
                                                                                        "const": "LOWER"
                                                                                    },
                                                                                    "width": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "length": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "start_seat_row": {
                                                                                        "type": "integer",
                                                                                        "const": 1
                                                                                    },
                                                                                    "end_seat_row": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "seats": {
                                                                                        "type": "array",
                                                                                        "items": {
                                                                                            "type": "object",
                                                                                            "properties": {
                                                                                                "cabin": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string",
                                                                                                            "enum": [
                                                                                                                "ECONOMY"
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                },
                                                                                                "number": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string",
                                                                                                            "enum": [
                                                                                                                ""
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                },
                                                                                                "characteristics_codes": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "coordinates": {
                                                                                                    "type": "object",
                                                                                                    "properties": {
                                                                                                        "x": {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        "y": {
                                                                                                            "type": "integer"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "x",
                                                                                                        "y"
                                                                                                    ]
                                                                                                },
                                                                                                "available": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    ]
                                                                                                },
                                                                                                "traveler_pricing_id": {
                                                                                                    "type": "null"
                                                                                                },
                                                                                                "price": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "object",
                                                                                                            "properties": {
                                                                                                                "amount": {
                                                                                                                    "type": "integer"
                                                                                                                },
                                                                                                                "currency": {
                                                                                                                    "type": "string",
                                                                                                                    "const": "USD"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "amount",
                                                                                                                "currency"
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "cabin",
                                                                                                "number",
                                                                                                "characteristics_codes",
                                                                                                "coordinates",
                                                                                                "available",
                                                                                                "traveler_pricing_id",
                                                                                                "price"
                                                                                            ]
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "deck_type",
                                                                                    "width",
                                                                                    "length",
                                                                                    "start_seat_row",
                                                                                    "end_seat_row",
                                                                                    "seats"
                                                                                ]
                                                                            }
                                                                        ],
                                                                        "minItems": 1,
                                                                        "maxItems": 1,
                                                                        "additionalItems": false
                                                                    }
                                                                },
                                                                "required": [
                                                                    "segment_id",
                                                                    "departure",
                                                                    "arrival",
                                                                    "aircraft",
                                                                    "deck_configurations"
                                                                ]
                                                            }
                                                        },
                                                        "available": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments",
                                                        "available"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "flight_offer_id": {},
                                                        "segments": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        },
                                                        "available": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "flight_offer_id",
                                                        "segments",
                                                        "available"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/flights\/status": {
            "get": {
                "operationId": "flight.getFlightStatus",
                "summary": "Get flight status",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "carrier_code",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "flight_number",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "departure_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/flights\/inspiration": {
            "get": {
                "operationId": "flight.getInspiration",
                "summary": "Get flight inspiration \/ deals",
                "tags": [
                    "Flight"
                ],
                "parameters": [
                    {
                        "name": "origin",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/hotels\/content": {
            "get": {
                "operationId": "hotel.content",
                "summary": "Static hotel content feed for downstream partners (e.g. roomshatch).\nReturns paginated DownfareContentItem[] from the Hotelbeds content cache",
                "tags": [
                    "Hotel"
                ],
                "parameters": [
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "default": "hotelbeds"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "provider": {
                                                                "type": "string",
                                                                "const": "hotelbeds"
                                                            },
                                                            "accommodationType": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "HOTEL"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "description": {
                                                                "type": "string"
                                                            },
                                                            "starRating": {
                                                                "type": "integer"
                                                            },
                                                            "address": {
                                                                "type": "string"
                                                            },
                                                            "city": {
                                                                "type": "string"
                                                            },
                                                            "country": {
                                                                "type": "string"
                                                            },
                                                            "countryCode": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "latitude": {
                                                                "type": "number"
                                                            },
                                                            "longitude": {
                                                                "type": "number"
                                                            },
                                                            "currency": {
                                                                "type": "string",
                                                                "const": "USD"
                                                            },
                                                            "heroImageUrl": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "images": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "url": {
                                                                            "type": "string"
                                                                        },
                                                                        "order": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "url",
                                                                        "order"
                                                                    ]
                                                                }
                                                            },
                                                            "amenities": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "code": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "category": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "code",
                                                                        "name",
                                                                        "category"
                                                                    ]
                                                                }
                                                            },
                                                            "policies": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "array",
                                                                        "items": {}
                                                                    },
                                                                    {
                                                                        "type": "string"
                                                                    }
                                                                ]
                                                            },
                                                            "roomTypes": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "code": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "anyOf": [
                                                                                {
                                                                                    "type": "string"
                                                                                },
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        ""
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        "description": {
                                                                            "type": [
                                                                                "string",
                                                                                "null"
                                                                            ]
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "code",
                                                                        "name",
                                                                        "description"
                                                                    ]
                                                                }
                                                            },
                                                            "leadPrice": {
                                                                "type": "null"
                                                            },
                                                            "leadCurrency": {
                                                                "type": "null"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "provider",
                                                            "accommodationType",
                                                            "name",
                                                            "description",
                                                            "starRating",
                                                            "address",
                                                            "city",
                                                            "country",
                                                            "countryCode",
                                                            "latitude",
                                                            "longitude",
                                                            "currency",
                                                            "heroImageUrl",
                                                            "images",
                                                            "amenities",
                                                            "policies",
                                                            "roomTypes",
                                                            "leadPrice",
                                                            "leadCurrency"
                                                        ]
                                                    }
                                                },
                                                "page": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ]
                                                },
                                                "pageSize": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ]
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "data",
                                                "page",
                                                "pageSize",
                                                "total"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "minItems": 0,
                                                    "maxItems": 0,
                                                    "additionalItems": false
                                                },
                                                "page": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ]
                                                },
                                                "pageSize": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ]
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "data",
                                                "page",
                                                "pageSize",
                                                "total"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/hotels\/search": {
            "get": {
                "operationId": "hotel.search",
                "summary": "Search for hotels across all providers",
                "tags": [
                    "Hotel"
                ],
                "parameters": [
                    {
                        "name": "city_code",
                        "in": "query",
                        "description": "City code is optional for proximity (lat\/lng) searches \u2014 mirrors web.",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": -90,
                            "maximum": 90
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": -180,
                            "maximum": 180
                        }
                    },
                    {
                        "name": "radius",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 120
                        }
                    },
                    {
                        "name": "hotel_code",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 50
                        }
                    },
                    {
                        "name": "check_in_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "check_out_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 25
                        }
                    },
                    {
                        "name": "children",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 20
                        }
                    },
                    {
                        "name": "child_ages[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "minimum": 2,
                                "maximum": 11
                            }
                        }
                    },
                    {
                        "name": "rooms",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 5
                        }
                    },
                    {
                        "name": "room_quantity",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 5
                        }
                    },
                    {
                        "name": "nationality",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "source_market",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Pagination \u2014 the aggregation runs once (cached by search key); these\nonly slice the normalized result set so the mobile client can load\nresults in smaller portions. Omit both for the full set (web parity).",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 50
                        }
                    },
                    {
                        "name": "occupancies",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "adults": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 5
                                    },
                                    "children": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 4
                                    },
                                    "childAges": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "minimum": 2,
                                            "maximum": 11
                                        }
                                    }
                                }
                            }
                        },
                        "x-deepObject-style": "qs"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/HotelSearchResource"
                                            }
                                        },
                                        "filters": {
                                            "anyOf": [
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "price_range": {
                                                            "anyOf": [
                                                                {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                {
                                                                    "type": "array",
                                                                    "prefixItems": [
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "lt_50"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Less than $50"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "50_100"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$50 to $100"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "100_150"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$100 to $150"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "150_200"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$150 to $200"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "200_300"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$200 to $300"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "key": {
                                                                                    "type": "string",
                                                                                    "const": "gt_300"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Greater than $300"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "key",
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        }
                                                                    ],
                                                                    "minItems": 6,
                                                                    "maxItems": 6,
                                                                    "additionalItems": false
                                                                }
                                                            ]
                                                        },
                                                        "price_stats": {
                                                            "type": [
                                                                "object",
                                                                "null"
                                                            ],
                                                            "properties": {
                                                                "min": {
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "type": "integer"
                                                                },
                                                                "bins": {
                                                                    "type": "integer",
                                                                    "const": 24
                                                                },
                                                                "histogram": {
                                                                    "type": "array",
                                                                    "items": {}
                                                                },
                                                                "currency": {
                                                                    "type": "string"
                                                                },
                                                                "symbol": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "min",
                                                                "max",
                                                                "bins",
                                                                "histogram",
                                                                "currency",
                                                                "symbol"
                                                            ]
                                                        },
                                                        "star_rating": {
                                                            "anyOf": [
                                                                {
                                                                    "type": "array",
                                                                    "items": {}
                                                                },
                                                                {
                                                                    "type": "array",
                                                                    "prefixItems": [
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "5 stars"
                                                                                },
                                                                                "value": {
                                                                                    "type": "integer",
                                                                                    "const": 5
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "value",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "4 stars"
                                                                                },
                                                                                "value": {
                                                                                    "type": "integer",
                                                                                    "const": 4
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "value",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "3 stars"
                                                                                },
                                                                                "value": {
                                                                                    "type": "integer",
                                                                                    "const": 3
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "value",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "2 stars"
                                                                                },
                                                                                "value": {
                                                                                    "type": "integer",
                                                                                    "const": 2
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "value",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "1 star"
                                                                                },
                                                                                "value": {
                                                                                    "type": "integer",
                                                                                    "const": 1
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "value",
                                                                                "count"
                                                                            ]
                                                                        }
                                                                    ],
                                                                    "minItems": 5,
                                                                    "maxItems": 5,
                                                                    "additionalItems": false
                                                                }
                                                            ]
                                                        },
                                                        "guest_rating": {
                                                            "type": "array",
                                                            "description": "Same tiers the cards label scores with; the blade appends the \"9+\"\nthreshold itself, so the label here stays the bare word.",
                                                            "items": {}
                                                        },
                                                        "free_cancellation": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "ocean_view": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "airport_shuttle": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "pool": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "wifi_free": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "gym": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "spa": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "golf_course": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "restaurant": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "bar": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "hot_tub": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "air_conditioning": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "pet_friendly": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "kitchen": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "casino": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "washer_dryer": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "outdoor_space": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "water_park": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "cribs": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "ev_charging": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "parking_free": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "property_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "board_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "distance": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "payment_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "source": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "key": {
                                                                        "type": "string"
                                                                    },
                                                                    "label": {
                                                                        "type": "string"
                                                                    },
                                                                    "count": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "label",
                                                                    "count"
                                                                ]
                                                            }
                                                        },
                                                        "promotions": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "key": {
                                                                        "type": "string"
                                                                    },
                                                                    "label": {
                                                                        "type": "string"
                                                                    },
                                                                    "count": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "label",
                                                                    "count"
                                                                ]
                                                            }
                                                        },
                                                        "brand": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "key": {
                                                                        "type": "string"
                                                                    },
                                                                    "label": {
                                                                        "type": "string"
                                                                    },
                                                                    "count": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "label",
                                                                    "count"
                                                                ]
                                                            }
                                                        },
                                                        "wheelchair_accessible": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {},
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "elevator": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {},
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "service_animals": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {},
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "price_range",
                                                        "price_stats",
                                                        "star_rating",
                                                        "guest_rating",
                                                        "free_cancellation",
                                                        "ocean_view",
                                                        "airport_shuttle",
                                                        "pool",
                                                        "wifi_free",
                                                        "gym",
                                                        "spa",
                                                        "golf_course",
                                                        "restaurant",
                                                        "bar",
                                                        "hot_tub",
                                                        "air_conditioning",
                                                        "pet_friendly",
                                                        "kitchen",
                                                        "casino",
                                                        "washer_dryer",
                                                        "outdoor_space",
                                                        "water_park",
                                                        "cribs",
                                                        "ev_charging",
                                                        "parking_free",
                                                        "property_type",
                                                        "board_type",
                                                        "distance",
                                                        "payment_type",
                                                        "source",
                                                        "promotions",
                                                        "brand",
                                                        "wheelchair_accessible",
                                                        "elevator",
                                                        "service_animals"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "price_range": {
                                                            "type": "array",
                                                            "prefixItems": [
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "lt_50"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "Less than $50"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "50_100"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "$50 to $100"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "100_150"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "$100 to $150"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "150_200"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "$150 to $200"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "200_300"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "$200 to $300"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": "string",
                                                                            "const": "gt_300"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "Greater than $300"
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "label",
                                                                        "count"
                                                                    ]
                                                                }
                                                            ],
                                                            "minItems": 6,
                                                            "maxItems": 6,
                                                            "additionalItems": false
                                                        },
                                                        "star_rating": {
                                                            "type": "array",
                                                            "prefixItems": [
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "5 stars"
                                                                        },
                                                                        "value": {
                                                                            "type": "integer",
                                                                            "const": 5
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "label",
                                                                        "value",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "4 stars"
                                                                        },
                                                                        "value": {
                                                                            "type": "integer",
                                                                            "const": 4
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "label",
                                                                        "value",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "3 stars"
                                                                        },
                                                                        "value": {
                                                                            "type": "integer",
                                                                            "const": 3
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "label",
                                                                        "value",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "2 stars"
                                                                        },
                                                                        "value": {
                                                                            "type": "integer",
                                                                            "const": 2
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "label",
                                                                        "value",
                                                                        "count"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "label": {
                                                                            "type": "string",
                                                                            "const": "1 star"
                                                                        },
                                                                        "value": {
                                                                            "type": "integer",
                                                                            "const": 1
                                                                        },
                                                                        "count": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "label",
                                                                        "value",
                                                                        "count"
                                                                    ]
                                                                }
                                                            ],
                                                            "minItems": 5,
                                                            "maxItems": 5,
                                                            "additionalItems": false
                                                        },
                                                        "guest_rating": {
                                                            "type": "array",
                                                            "description": "Same tiers the cards label scores with; the blade appends the \"9+\"\nthreshold itself, so the label here stays the bare word.",
                                                            "items": {}
                                                        },
                                                        "free_cancellation": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "ocean_view": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "airport_shuttle": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "pool": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "wifi_free": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "gym": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "spa": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "golf_course": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "restaurant": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "bar": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "hot_tub": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "air_conditioning": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "pet_friendly": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "kitchen": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "casino": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "washer_dryer": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "outdoor_space": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "water_park": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "cribs": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "ev_charging": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "parking_free": {
                                                            "type": "object",
                                                            "properties": {
                                                                "count": {
                                                                    "type": "integer"
                                                                },
                                                                "total": {
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "required": [
                                                                "count",
                                                                "total"
                                                            ]
                                                        },
                                                        "property_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "board_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "distance": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        },
                                                        "payment_type": {
                                                            "type": "array",
                                                            "items": {}
                                                        },
                                                        "source": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        },
                                                        "promotions": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        }
                                                    },
                                                    "required": [
                                                        "price_range",
                                                        "star_rating",
                                                        "guest_rating",
                                                        "free_cancellation",
                                                        "ocean_view",
                                                        "airport_shuttle",
                                                        "pool",
                                                        "wifi_free",
                                                        "gym",
                                                        "spa",
                                                        "golf_course",
                                                        "restaurant",
                                                        "bar",
                                                        "hot_tub",
                                                        "air_conditioning",
                                                        "pet_friendly",
                                                        "kitchen",
                                                        "casino",
                                                        "washer_dryer",
                                                        "outdoor_space",
                                                        "water_park",
                                                        "cribs",
                                                        "ev_charging",
                                                        "parking_free",
                                                        "property_type",
                                                        "board_type",
                                                        "distance",
                                                        "payment_type",
                                                        "source",
                                                        "promotions"
                                                    ]
                                                }
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "filters",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/hotels\/check-rate": {
            "post": {
                "operationId": "hotel.checkRate",
                "summary": "Validate rate key(s) via Hotelbeds CheckRate API before booking",
                "tags": [
                    "Hotel"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "rateKeys": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "minItems": 1
                                    },
                                    "originalPrice": {
                                        "type": [
                                            "number",
                                            "null"
                                        ],
                                        "minimum": 0
                                    }
                                },
                                "required": [
                                    "rateKeys"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "502": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "The hotel rate could not be checked."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "RECHECK",
                                                        "OK"
                                                    ]
                                                },
                                                "price_changed": {
                                                    "type": "string"
                                                },
                                                "confirmed_price": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer",
                                                            "enum": [
                                                                0
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "confirmed_rate_key": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "rate_comments": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "promotions": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        }
                                                    ]
                                                },
                                                "cancellation_policies": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        }
                                                    ]
                                                },
                                                "taxes": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        }
                                                    ]
                                                },
                                                "exclusive_deal": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer",
                                                            "enum": [
                                                                0
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "offers": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "minItems": 0,
                                                            "maxItems": 0,
                                                            "additionalItems": false
                                                        }
                                                    ]
                                                },
                                                "currency": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "string",
                                                            "enum": [
                                                                "USD"
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "confirmed_rooms": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "confirmed_rate_key": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "confirmed_price": {
                                                                "type": "number"
                                                            },
                                                            "currency": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "USD"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            "rate_comments": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "promotions": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "minItems": 0,
                                                                        "maxItems": 0,
                                                                        "additionalItems": false
                                                                    }
                                                                ]
                                                            },
                                                            "cancellation_policies": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "minItems": 0,
                                                                        "maxItems": 0,
                                                                        "additionalItems": false
                                                                    }
                                                                ]
                                                            },
                                                            "taxes": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "minItems": 0,
                                                                        "maxItems": 0,
                                                                        "additionalItems": false
                                                                    }
                                                                ]
                                                            },
                                                            "exclusive_deal": {
                                                                "type": "integer"
                                                            },
                                                            "offers": {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "minItems": 0,
                                                                        "maxItems": 0,
                                                                        "additionalItems": false
                                                                    }
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "confirmed_rate_key",
                                                            "confirmed_price",
                                                            "currency",
                                                            "rate_comments",
                                                            "promotions",
                                                            "cancellation_policies",
                                                            "taxes",
                                                            "exclusive_deal",
                                                            "offers"
                                                        ]
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "price_changed",
                                                "confirmed_price",
                                                "confirmed_rate_key",
                                                "rate_comments",
                                                "promotions",
                                                "cancellation_policies",
                                                "taxes",
                                                "exclusive_deal",
                                                "offers",
                                                "currency",
                                                "confirmed_rooms"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Hotel provider is not active."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/hotels\/book": {
            "post": {
                "operationId": "hotel.book",
                "summary": "Book a hotel room via Hotelbeds",
                "tags": [
                    "Hotel"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "rateKey": {
                                        "type": "string"
                                    },
                                    "holder": {
                                        "type": "object",
                                        "properties": {
                                            "name": {
                                                "type": "string"
                                            },
                                            "surname": {
                                                "type": "string"
                                            },
                                            "email": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ],
                                                "format": "email"
                                            },
                                            "phone": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "name",
                                            "surname"
                                        ]
                                    },
                                    "paxes": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "roomId": {
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "AD",
                                                        "CH"
                                                    ]
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "surname": {
                                                    "type": "string"
                                                },
                                                "age": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 2,
                                                    "maximum": 11
                                                }
                                            }
                                        }
                                    },
                                    "clientReference": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 64
                                    },
                                    "remark": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 2000
                                    },
                                    "tolerance": {
                                        "type": [
                                            "number",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 100
                                    }
                                },
                                "required": [
                                    "rateKey",
                                    "holder"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "502": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Hotel booking could not be completed."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "reference": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "bookingNumber": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "paymentStatus": {
                                                    "type": "string",
                                                    "const": "paid"
                                                },
                                                "clientReference": {
                                                    "type": "string"
                                                },
                                                "creationDate": {
                                                    "type": "string"
                                                },
                                                "hotel": {
                                                    "type": "object",
                                                    "properties": {
                                                        "checkIn": {
                                                            "type": "string"
                                                        },
                                                        "checkOut": {
                                                            "type": "string"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "destinationName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "checkIn",
                                                        "checkOut",
                                                        "name",
                                                        "destinationName"
                                                    ]
                                                },
                                                "totalNet": {
                                                    "type": "number"
                                                },
                                                "currency": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "reference",
                                                "bookingNumber",
                                                "status",
                                                "paymentStatus",
                                                "clientReference",
                                                "creationDate",
                                                "hotel",
                                                "totalNet",
                                                "currency"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Hotel booking provider is not active."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/hotels\/book\/{reference}": {
            "delete": {
                "operationId": "hotel.cancelBooking",
                "summary": "Cancel a hotel booking by its Hotelbeds reference (PNR)",
                "tags": [
                    "Hotel"
                ],
                "parameters": [
                    {
                        "name": "reference",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "reason",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 500
                        }
                    },
                    {
                        "name": "request_refund",
                        "in": "query",
                        "schema": {
                            "type": [
                                "boolean",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "boolean"
                                                },
                                                "booking_number": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string",
                                                    "const": "cancelled"
                                                },
                                                "refund": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "booking_number",
                                                "status",
                                                "refund"
                                            ]
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Booking cancelled successfully."
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Booking not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/hotels\/{hotelId}": {
            "get": {
                "operationId": "hotel.show",
                "summary": "Get hotel details with room offers",
                "tags": [
                    "Hotel"
                ],
                "parameters": [
                    {
                        "name": "hotelId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "check_in_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "check_out_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 25
                        }
                    },
                    {
                        "name": "children",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 20
                        }
                    },
                    {
                        "name": "child_ages[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "minimum": 2,
                                "maximum": 11
                            }
                        }
                    },
                    {
                        "name": "rooms",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 5
                        }
                    },
                    {
                        "name": "room_quantity",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 5
                        }
                    },
                    {
                        "name": "nationality",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "source_market",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 2,
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "search_result_id",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "occupancies",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "adults": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 5
                                    },
                                    "children": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 4
                                    },
                                    "childAges": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "x-deepObject-style": "qs"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/HotelDetailResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Hotel not found or no offers available."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/places\/search": {
            "get": {
                "operationId": "place.search",
                "summary": "Search for places by name or city",
                "tags": [
                    "Place"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/Place"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/places\/airports": {
            "get": {
                "operationId": "place.airports",
                "summary": "Search for airports by name or IATA code",
                "tags": [
                    "Place"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 2,
                            "maxLength": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "anyOf": [
                                                {
                                                    "type": "object",
                                                    "additionalProperties": {}
                                                },
                                                {
                                                    "type": "array",
                                                    "items": {}
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/places\/popular": {
            "get": {
                "operationId": "place.popular",
                "summary": "Get popular destinations for a given module type",
                "tags": [
                    "Place"
                ],
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "flights",
                                "hotels",
                                "tours",
                                "rentals",
                                "cars",
                                "transfers",
                                "wellness",
                                null
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "anyOf": [
                                                {
                                                    "type": "array",
                                                    "prefixItems": [
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "NYC"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "New York"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United States"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "PAR"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Paris"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "France"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "LON"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "London"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United Kingdom"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "DXB"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Dubai"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United Arab Emirates"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "BCN"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Barcelona"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "Spain"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "ROM"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Rome"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "Italy"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "country"
                                                            ]
                                                        }
                                                    ],
                                                    "minItems": 6,
                                                    "maxItems": 6,
                                                    "additionalItems": false
                                                },
                                                {
                                                    "type": "array",
                                                    "prefixItems": [
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "LON"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "All London airports"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "London"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United Kingdom"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "CITY"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "London, United Kingdom (LON)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "NYC"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "All New York airports"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "New York"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United States"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "CITY"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "New York, United States (NYC)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "DXB"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Dubai International"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "Dubai"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United Arab Emirates"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "Dubai, United Arab Emirates (DXB)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "LAX"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Los Angeles Intl"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "Los Angeles"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United States"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "Los Angeles, United States (LAX)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "CDG"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Charles de Gaulle"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "Paris"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "France"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "Paris, France (CDG)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "SIN"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Changi Airport"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "Singapore"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "Singapore"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "Singapore (SIN)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "LHR"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Heathrow Airport"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "London"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "United Kingdom"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "London, United Kingdom (LHR)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "const": "SYD"
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "const": "Kingsford Smith"
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "const": "Sydney"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "const": "Australia"
                                                                },
                                                                "type": {
                                                                    "type": "string",
                                                                    "const": "AIRPORT"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "const": "Sydney, Australia (SYD)"
                                                                }
                                                            },
                                                            "required": [
                                                                "code",
                                                                "name",
                                                                "city",
                                                                "country",
                                                                "type",
                                                                "label"
                                                            ]
                                                        }
                                                    ],
                                                    "minItems": 8,
                                                    "maxItems": 8,
                                                    "additionalItems": false
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/rentals\/search": {
            "get": {
                "operationId": "rental.search",
                "summary": "Search available rentals",
                "tags": [
                    "Rental"
                ],
                "parameters": [
                    {
                        "name": "city_code",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "maxLength": 10
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "schema": {
                            "type": "number",
                            "minimum": -90,
                            "maximum": 90
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "schema": {
                            "type": "number",
                            "minimum": -180,
                            "maximum": 180
                        }
                    },
                    {
                        "name": "check_in_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "check_out_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "guests",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 20
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "property_type",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "min_bedrooms",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    },
                    {
                        "name": "min_bathrooms",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    },
                    {
                        "name": "amenities[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "min_price",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": 0
                        }
                    },
                    {
                        "name": "max_price",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/RentalSearchResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/rentals\/{rentalId}": {
            "get": {
                "operationId": "rental.show",
                "summary": "Get rental details with availability and pricing",
                "tags": [
                    "Rental"
                ],
                "parameters": [
                    {
                        "name": "rentalId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "check_in_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "check_out_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "guests",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 20
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/RentalDetailResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Rental not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/tours\/search": {
            "get": {
                "operationId": "tour.search",
                "summary": "Search for tours and activities",
                "tags": [
                    "Tour"
                ],
                "parameters": [
                    {
                        "name": "city_code",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 10
                        }
                    },
                    {
                        "name": "city_query",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 255
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "duration",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "children",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 120
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "recommended",
                                "price_low",
                                "price_high",
                                "rating",
                                "duration",
                                null
                            ]
                        }
                    },
                    {
                        "name": "min_rating",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 10
                        }
                    },
                    {
                        "name": "max_price",
                        "in": "query",
                        "schema": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "minimum": 0
                        }
                    },
                    {
                        "name": "free_cancellation",
                        "in": "query",
                        "schema": {
                            "type": [
                                "boolean",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TourSearchResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                },
                                                "query": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "sort": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "string",
                                                            "enum": [
                                                                "recommended"
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "categories": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "required": [
                                                            "label",
                                                            "count"
                                                        ]
                                                    }
                                                },
                                                "filters": {
                                                    "anyOf": [
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "budget": {
                                                                    "anyOf": [
                                                                        {
                                                                            "type": "array",
                                                                            "items": {}
                                                                        },
                                                                        {
                                                                            "type": "array",
                                                                            "prefixItems": [
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "Less than $25"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "$25 to $50"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "$50 to $75"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "$75 to $100"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "Greater than $100"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                }
                                                                            ],
                                                                            "minItems": 5,
                                                                            "maxItems": 5,
                                                                            "additionalItems": false
                                                                        }
                                                                    ]
                                                                },
                                                                "duration": {
                                                                    "anyOf": [
                                                                        {
                                                                            "type": "array",
                                                                            "items": {}
                                                                        },
                                                                        {
                                                                            "type": "array",
                                                                            "prefixItems": [
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "Up to 1 hour"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "1\u20134 hours"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "4\u20138 hours"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "const": "Full day"
                                                                                        },
                                                                                        "count": {
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "label",
                                                                                        "count"
                                                                                    ]
                                                                                }
                                                                            ],
                                                                            "minItems": 4,
                                                                            "maxItems": 4,
                                                                            "additionalItems": false
                                                                        }
                                                                    ]
                                                                },
                                                                "rating": {
                                                                    "type": "array",
                                                                    "description": "Same wording as every other module \u2014 see guest_rating_tiers().",
                                                                    "items": {}
                                                                },
                                                                "free_cancellation": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "count": {
                                                                            "type": "integer"
                                                                        },
                                                                        "total": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "count",
                                                                        "total"
                                                                    ]
                                                                },
                                                                "source": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "key": {
                                                                                "type": "string"
                                                                            },
                                                                            "label": {
                                                                                "type": "string"
                                                                            },
                                                                            "count": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "key",
                                                                            "label",
                                                                            "count"
                                                                        ]
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "budget",
                                                                "duration",
                                                                "rating",
                                                                "free_cancellation",
                                                                "source"
                                                            ]
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "budget": {
                                                                    "type": "array",
                                                                    "prefixItems": [
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Less than $25"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$25 to $50"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$50 to $75"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "$75 to $100"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Greater than $100"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        }
                                                                    ],
                                                                    "minItems": 5,
                                                                    "maxItems": 5,
                                                                    "additionalItems": false
                                                                },
                                                                "duration": {
                                                                    "type": "array",
                                                                    "prefixItems": [
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Up to 1 hour"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "1\u20134 hours"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "4\u20138 hours"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "const": "Full day"
                                                                                },
                                                                                "count": {
                                                                                    "type": "integer"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "count"
                                                                            ]
                                                                        }
                                                                    ],
                                                                    "minItems": 4,
                                                                    "maxItems": 4,
                                                                    "additionalItems": false
                                                                },
                                                                "rating": {
                                                                    "type": "array",
                                                                    "description": "Same wording as every other module \u2014 see guest_rating_tiers().",
                                                                    "items": {}
                                                                },
                                                                "free_cancellation": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "count": {
                                                                            "type": "integer"
                                                                        },
                                                                        "total": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "count",
                                                                        "total"
                                                                    ]
                                                                },
                                                                "source": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "minItems": 0,
                                                                    "maxItems": 0,
                                                                    "additionalItems": false
                                                                }
                                                            },
                                                            "required": [
                                                                "budget",
                                                                "duration",
                                                                "rating",
                                                                "free_cancellation",
                                                                "source"
                                                            ]
                                                        }
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "total",
                                                "query",
                                                "sort",
                                                "categories",
                                                "filters"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/tours\/{activityId}": {
            "get": {
                "operationId": "tour.show",
                "summary": "Get tour\/activity details",
                "tags": [
                    "Tour"
                ],
                "parameters": [
                    {
                        "name": "activityId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/TourDetailResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Activity not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/transfers\/orders": {
            "post": {
                "operationId": "transfer.createOrder",
                "summary": "Create a transfer order",
                "tags": [
                    "Transfer"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "transfer_offer_id": {
                                        "type": "string"
                                    },
                                    "travelers": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "minItems": 1
                                    },
                                    "customer": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "payment": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "provider": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "enum": [
                                            "amadeus",
                                            null
                                        ]
                                    }
                                },
                                "required": [
                                    "transfer_offer_id",
                                    "travelers"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/transfers\/orders\/{orderId}": {
            "get": {
                "operationId": "transfer.getOrder",
                "summary": "Get a transfer order by ID",
                "tags": [
                    "Transfer"
                ],
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "amadeus",
                                null
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Transfer order not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "transfer.cancelOrder",
                "summary": "Cancel a transfer order",
                "tags": [
                    "Transfer"
                ],
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "amadeus",
                                null
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Transfer order not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/wellness\/search": {
            "get": {
                "operationId": "wellness.search",
                "summary": "Search for wellness offerings",
                "tags": [
                    "Wellness"
                ],
                "parameters": [
                    {
                        "name": "city_code",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 10
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "children",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0,
                            "maximum": 9
                        }
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "minLength": 3,
                            "maxLength": 3
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/WellnessSearchResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/wellness\/{offerId}": {
            "get": {
                "operationId": "wellness.show",
                "summary": "Get wellness offer details",
                "tags": [
                    "Wellness"
                ],
                "parameters": [
                    {
                        "name": "offerId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/WellnessDetailResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "const": "Wellness offer not found."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKey": {
                "type": "apiKey",
                "description": "Partner API key issued through the DownFare developer portal.",
                "in": "header",
                "name": "X-API-Key"
            }
        },
        "schemas": {
            "AuxiliaryBookingItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "booking_id": {
                        "type": "integer"
                    },
                    "item_type": {
                        "type": "string"
                    },
                    "item_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "unit_price": {
                        "type": "string"
                    },
                    "quantity": {
                        "type": "integer"
                    },
                    "total_price": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "item_data": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "provider": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provider_reference": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "booking_id",
                    "item_type",
                    "item_id",
                    "name",
                    "description",
                    "unit_price",
                    "quantity",
                    "total_price",
                    "currency",
                    "status",
                    "item_data",
                    "provider",
                    "provider_reference",
                    "created_at",
                    "updated_at"
                ],
                "title": "AuxiliaryBookingItem"
            },
            "BookingResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "booking_number": {
                        "type": "string"
                    },
                    "module_type": {
                        "type": "string"
                    },
                    "provider_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "payment_status": {
                        "type": "string"
                    },
                    "provider_status": {
                        "type": "string"
                    },
                    "total_amount": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "pnr": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "supports_property_messaging": {
                        "type": "boolean"
                    },
                    "supports_checkin_pin": {
                        "type": "boolean"
                    },
                    "checked_in_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "booking_data": {
                        "type": "array",
                        "items": {}
                    },
                    "module_details": {
                        "anyOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "seats": {},
                                    "offer": {}
                                },
                                "required": [
                                    "seats",
                                    "offer"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "preferences": {}
                                },
                                "required": [
                                    "preferences"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "participants": {}
                                },
                                "required": [
                                    "participants"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "transfer": {},
                                    "transfer_details": {},
                                    "airport_details": {}
                                },
                                "required": [
                                    "transfer",
                                    "transfer_details",
                                    "airport_details"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "driver_details": {}
                                },
                                "required": [
                                    "driver_details"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "offer": {},
                                    "hotel": {},
                                    "room_offer": {},
                                    "package_booking_id": {}
                                },
                                "required": [
                                    "offer",
                                    "hotel",
                                    "room_offer",
                                    "package_booking_id"
                                ]
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "trip_summary": {
                        "type": "string"
                    },
                    "documents": {
                        "type": "object",
                        "properties": {
                            "invoice": {
                                "type": "string"
                            },
                            "voucher": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "invoice",
                            "voucher"
                        ]
                    },
                    "auxiliary_items": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/AuxiliaryBookingItem"
                        }
                    },
                    "contact": {
                        "type": "array",
                        "items": {}
                    },
                    "travelers": {
                        "type": "array",
                        "items": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "booking_number",
                    "module_type",
                    "status",
                    "payment_status",
                    "provider_status",
                    "total_amount",
                    "currency",
                    "pnr",
                    "booking_data",
                    "created_at",
                    "updated_at"
                ],
                "title": "BookingResource"
            },
            "FlightBooking": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "user_id": {
                        "type": "integer"
                    },
                    "order_id": {
                        "type": "string"
                    },
                    "provider_type": {
                        "type": "string"
                    },
                    "provider_order_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provider_status": {
                        "type": "string"
                    },
                    "provider_attempts": {
                        "type": "integer"
                    },
                    "provider_last_attempt_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "provider_error_log": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "flight_data": {
                        "type": "array",
                        "items": {}
                    },
                    "passenger_data": {
                        "type": "array",
                        "items": {}
                    },
                    "status": {
                        "type": "string"
                    },
                    "total_amount": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "payment_status": {
                        "type": "string"
                    },
                    "payment_transaction_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "user_id",
                    "order_id",
                    "provider_type",
                    "provider_order_id",
                    "provider_status",
                    "provider_attempts",
                    "provider_last_attempt_at",
                    "provider_error_log",
                    "flight_data",
                    "passenger_data",
                    "status",
                    "total_amount",
                    "currency",
                    "payment_status",
                    "payment_transaction_id",
                    "created_at",
                    "updated_at"
                ],
                "title": "FlightBooking"
            },
            "FlightResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "type": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "flight-offer"
                                ]
                            }
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "unknown"
                                ]
                            }
                        ]
                    },
                    "price": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "itineraries": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "numberOfBookableSeats": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "integer",
                                "enum": [
                                    0
                                ]
                            }
                        ]
                    },
                    "lastTicketingDate": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "fare_types": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "traveler_pricings": {
                        "description": "Real fare data (cabin + included checked bags) the app shows\ninstead of fabricated placeholders.",
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "raw_offer": {
                        "type": "string",
                        "description": "The untransformed provider offer \u2014 the app carries this back to\nPOST \/offers\/{id}\/price to confirm the fare and to book the exact\npriced offer (stateless: nothing is kept server-side between calls)."
                    }
                },
                "required": [
                    "id",
                    "type",
                    "source",
                    "price",
                    "itineraries",
                    "numberOfBookableSeats",
                    "lastTicketingDate",
                    "fare_types",
                    "traveler_pricings",
                    "raw_offer"
                ],
                "title": "FlightResource"
            },
            "HotelDetailResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "star_rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "property_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "chain": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "location": {
                        "type": "object",
                        "properties": {
                            "city": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "latitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "longitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "city",
                            "address",
                            "latitude",
                            "longitude"
                        ]
                    },
                    "images": {
                        "type": "array",
                        "items": {}
                    },
                    "photo_groups": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "category": {
                                    "type": "string",
                                    "enum": [
                                        "Rooms",
                                        "Pool",
                                        "Restaurant",
                                        "Bar",
                                        "Lobby",
                                        "Terrace",
                                        "Spa & wellness",
                                        "Beach",
                                        "Sports & recreation",
                                        "Conference",
                                        "Common areas",
                                        "General"
                                    ]
                                },
                                "images": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "category",
                                "images"
                            ]
                        }
                    },
                    "amenities": {
                        "type": "array",
                        "items": {}
                    },
                    "policies": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "check_in_from": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "check_in_to": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "check_out_by": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "pets_allowed": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "pets_note": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "payment_types": {
                                "type": "array",
                                "items": {}
                            },
                            "free_cancellation": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "check_in_from",
                            "check_in_to",
                            "check_out_by",
                            "pets_allowed",
                            "pets_note",
                            "payment_types",
                            "free_cancellation"
                        ]
                    },
                    "boards": {
                        "type": "array",
                        "items": {}
                    },
                    "nearby": {
                        "type": "array",
                        "items": {}
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "room_offers": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "rooms": {
                        "type": "array",
                        "items": {}
                    },
                    "reviews_summary": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "unknown"
                                ]
                            }
                        ]
                    },
                    "guest_rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "star_rating",
                    "category_name",
                    "property_type",
                    "chain",
                    "description",
                    "location",
                    "images",
                    "photo_groups",
                    "amenities",
                    "policies",
                    "boards",
                    "nearby",
                    "phone",
                    "room_offers",
                    "rooms",
                    "reviews_summary",
                    "source",
                    "guest_rating"
                ],
                "title": "HotelDetailResource"
            },
            "HotelSearchResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "star_rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "location": {
                        "type": "object",
                        "properties": {
                            "city": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "latitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "longitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "city",
                            "address",
                            "latitude",
                            "longitude"
                        ]
                    },
                    "image": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "price": {
                        "type": "object",
                        "properties": {
                            "amount": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "amount is the ALL-IN total (base + markup + taxes); base\/taxes\nlet the client show a transparent \"incl. taxes & fees\" breakdown."
                            },
                            "base": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "taxes": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "string",
                                        "enum": [
                                            "USD"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "amount",
                            "base",
                            "taxes",
                            "currency"
                        ]
                    },
                    "amenities": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "unknown"
                                ]
                            }
                        ]
                    },
                    "guest_rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "review_count": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "property_type": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Property type + brand\/chain \u2014 so the mobile filters mirror the web\n\"Property type\" and \"Brand\" facets exactly."
                    },
                    "brand": {
                        "anyOf": [
                            {
                                "type": "null"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "label": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "key",
                                    "label"
                                ]
                            }
                        ]
                    },
                    "board_type": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Meal plan \/ board."
                    },
                    "board_keys": {
                        "type": "array",
                        "items": {}
                    },
                    "free_cancellation": {
                        "type": "boolean",
                        "description": "Refundability + payment. `payment_type` is the raw provider label so\nthe mobile Payment filter can mirror the web's substring matching."
                    },
                    "payment_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pay_later": {
                        "type": "boolean"
                    },
                    "exclusive_deal": {
                        "type": "integer",
                        "description": "Deals + promotions."
                    },
                    "promotions": {
                        "type": "array",
                        "items": {}
                    },
                    "rate_options": {
                        "type": "array",
                        "description": "Compact per-(board+refundable) rate spread for the card.",
                        "items": {}
                    },
                    "search_result_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Duffel's search returns only the cheapest rate per hotel \u2014 the full\nboard\/refundable spread is fetched on demand (\"Show rates\") using\nthis token, mirroring the web card. Null for providers that already\nreturn the full spread at search time."
                    }
                },
                "required": [
                    "id",
                    "name",
                    "star_rating",
                    "location",
                    "image",
                    "images",
                    "price",
                    "amenities",
                    "source",
                    "guest_rating",
                    "review_count",
                    "property_type",
                    "brand",
                    "board_type",
                    "board_keys",
                    "free_cancellation",
                    "payment_type",
                    "pay_later",
                    "exclusive_deal",
                    "promotions",
                    "rate_options",
                    "search_result_id"
                ],
                "title": "HotelSearchResource"
            },
            "Place": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "provider_place_id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "lat": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "lng": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "types": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "timezone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "website": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "opening_hours": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "photo_urls": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "metadata": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "provider",
                    "provider_place_id",
                    "name",
                    "lat",
                    "lng",
                    "address",
                    "city",
                    "country",
                    "types",
                    "timezone",
                    "rating",
                    "phone",
                    "website",
                    "opening_hours",
                    "photo_urls",
                    "metadata",
                    "created_at",
                    "updated_at"
                ],
                "title": "Place"
            },
            "RentalDetailResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "property_type": {
                        "type": "string"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "location": {
                        "type": "string"
                    },
                    "city_code": {
                        "type": "string"
                    },
                    "country_code": {
                        "type": "string"
                    },
                    "images": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "spaces": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "bedrooms": {
                        "type": "string"
                    },
                    "bathrooms": {
                        "type": "string"
                    },
                    "max_guests": {
                        "type": "string"
                    },
                    "amenities": {
                        "type": "string"
                    },
                    "house_rules": {
                        "type": "string"
                    },
                    "pricing": {
                        "type": "object",
                        "properties": {
                            "base_price": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "cleaning_fee": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "integer",
                                        "enum": [
                                            0
                                        ]
                                    }
                                ]
                            },
                            "currency": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "base_price",
                            "cleaning_fee",
                            "currency"
                        ]
                    },
                    "pricing_breakdown": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "min_nights": {
                        "type": "string"
                    },
                    "max_nights": {
                        "type": "string"
                    },
                    "instant_booking": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "boolean"
                            }
                        ]
                    },
                    "availability": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "reviews_summary": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "supplier": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "manual"
                                ]
                            }
                        ]
                    },
                    "rate_key": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "property_type",
                    "description",
                    "location",
                    "city_code",
                    "country_code",
                    "images",
                    "spaces",
                    "bedrooms",
                    "bathrooms",
                    "max_guests",
                    "amenities",
                    "house_rules",
                    "pricing",
                    "pricing_breakdown",
                    "min_nights",
                    "max_nights",
                    "instant_booking",
                    "availability",
                    "reviews_summary",
                    "supplier",
                    "source",
                    "rate_key"
                ],
                "title": "RentalDetailResource"
            },
            "RentalSearchResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "property_type": {
                        "type": "string"
                    },
                    "location": {
                        "type": "string"
                    },
                    "city_code": {
                        "type": "string"
                    },
                    "image": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "price_per_night": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "total_price": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "currency": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "USD"
                                ]
                            }
                        ]
                    },
                    "bedrooms": {
                        "type": "string"
                    },
                    "bathrooms": {
                        "type": "string"
                    },
                    "max_guests": {
                        "type": "string"
                    },
                    "amenities": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "instant_booking": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "boolean"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "property_type",
                    "location",
                    "city_code",
                    "image",
                    "price_per_night",
                    "total_price",
                    "currency",
                    "bedrooms",
                    "bathrooms",
                    "max_guests",
                    "amenities",
                    "rating",
                    "instant_booking"
                ],
                "title": "RentalSearchResource"
            },
            "TourDetailResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "unknown"
                                ]
                            }
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "short_description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "what_to_expect": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "images": {
                        "type": "array",
                        "items": {}
                    },
                    "duration": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "review_count": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "integer",
                                "enum": [
                                    0
                                ]
                            }
                        ]
                    },
                    "location": {
                        "type": "object",
                        "properties": {
                            "city": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "country": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "latitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "longitude": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "city",
                            "address",
                            "country",
                            "latitude",
                            "longitude"
                        ]
                    },
                    "highlights": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "inclusions": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "exclusions": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "meeting_point": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "meeting_point_details": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "instructions": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "name",
                            "address",
                            "instructions"
                        ]
                    },
                    "itinerary": {
                        "type": "array",
                        "items": {}
                    },
                    "languages": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "free_cancellation": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "cancellation_deadline_hours": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "cancellation_policy": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "instant_confirmation": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provider_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "max_participants": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "min_participants": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "tour_style": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pickup_included": {
                        "type": "boolean"
                    },
                    "customizable": {
                        "type": "boolean"
                    },
                    "minimum_age": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "comfort_level": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "know_before_you_book": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "not_allowed": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "not_suitable_for": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "pricing": {
                        "type": "object",
                        "description": "Split pricing so the app can show a fee breakdown (matches web).\nAlways emit scalar money \u2014 never nested {amount, currencyCode}.",
                        "properties": {
                            "base": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "markup": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "taxes": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "total": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "type": "string"
                            },
                            "per_person": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "boolean"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "base",
                            "markup",
                            "taxes",
                            "total",
                            "currency",
                            "per_person"
                        ]
                    },
                    "price": {
                        "type": "object",
                        "description": "Kept for backward-compat with the old flat `price` object.",
                        "properties": {
                            "amount": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "amount",
                            "currency"
                        ]
                    },
                    "booking_options": {
                        "type": "array",
                        "items": {}
                    },
                    "reviews": {
                        "type": "array",
                        "items": {}
                    }
                },
                "required": [
                    "id",
                    "source",
                    "name",
                    "description",
                    "short_description",
                    "what_to_expect",
                    "images",
                    "duration",
                    "category",
                    "rating",
                    "review_count",
                    "location",
                    "highlights",
                    "inclusions",
                    "exclusions",
                    "meeting_point",
                    "meeting_point_details",
                    "itinerary",
                    "languages",
                    "free_cancellation",
                    "cancellation_deadline_hours",
                    "cancellation_policy",
                    "instant_confirmation",
                    "provider_name",
                    "max_participants",
                    "min_participants",
                    "tour_style",
                    "pickup_included",
                    "customizable",
                    "minimum_age",
                    "comfort_level",
                    "know_before_you_book",
                    "not_allowed",
                    "not_suitable_for",
                    "pricing",
                    "price",
                    "booking_options",
                    "reviews"
                ],
                "title": "TourDetailResource"
            },
            "TourSearchResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "image": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "price": {
                        "type": "object",
                        "properties": {
                            "amount": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "type": "string"
                            },
                            "per_person": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "boolean"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "amount",
                            "currency",
                            "per_person"
                        ]
                    },
                    "duration": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "categories": {
                        "anyOf": [
                            {
                                "type": "array",
                                "prefixItems": [
                                    {
                                        "type": "string"
                                    }
                                ],
                                "minItems": 1,
                                "maxItems": 1,
                                "additionalItems": false
                            },
                            {
                                "type": "array",
                                "items": {}
                            }
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "review_count": {
                        "type": "integer"
                    },
                    "location": {
                        "type": "object",
                        "properties": {
                            "label": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "country": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "city_code": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "label",
                            "country",
                            "city_code"
                        ]
                    },
                    "free_cancellation": {
                        "type": "boolean"
                    },
                    "cancellation_deadline_hours": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "instant_confirmation": {
                        "type": "boolean"
                    },
                    "max_participants": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provider_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "string",
                                "enum": [
                                    "unknown"
                                ]
                            }
                        ]
                    },
                    "booking_link": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "image",
                    "price",
                    "duration",
                    "category",
                    "categories",
                    "rating",
                    "review_count",
                    "location",
                    "free_cancellation",
                    "cancellation_deadline_hours",
                    "instant_confirmation",
                    "max_participants",
                    "provider_name",
                    "source",
                    "booking_link"
                ],
                "title": "TourSearchResource"
            },
            "WellnessDetailResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "images": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "price": {
                        "type": "object",
                        "properties": {
                            "amount": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "string",
                                        "enum": [
                                            "USD"
                                        ]
                                    }
                                ]
                            },
                            "per_person": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "boolean"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "amount",
                            "currency",
                            "per_person"
                        ]
                    },
                    "duration": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "duration_minutes": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category_code": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "review_count": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "integer",
                                "enum": [
                                    0
                                ]
                            }
                        ]
                    },
                    "location": {
                        "type": "object",
                        "properties": {
                            "city": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "country": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "city",
                            "address",
                            "country"
                        ]
                    },
                    "highlights": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "included": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "excluded": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "amenities": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "languages": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "minItems": 0,
                                "maxItems": 0,
                                "additionalItems": false
                            }
                        ]
                    },
                    "group_size": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "meeting_point": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "free_cancellation": {
                        "type": "boolean"
                    },
                    "instant_confirmation": {
                        "type": "boolean"
                    },
                    "cancellation_policy": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "supplier_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provider": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "images",
                    "price",
                    "duration",
                    "duration_minutes",
                    "category",
                    "category_code",
                    "rating",
                    "review_count",
                    "location",
                    "highlights",
                    "included",
                    "excluded",
                    "amenities",
                    "languages",
                    "group_size",
                    "meeting_point",
                    "free_cancellation",
                    "instant_confirmation",
                    "cancellation_policy",
                    "supplier_id",
                    "provider",
                    "source"
                ],
                "title": "WellnessDetailResource"
            },
            "WellnessSearchResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "image": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "price": {
                        "type": "object",
                        "properties": {
                            "amount": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "currency": {
                                "anyOf": [
                                    {
                                        "type": "string"
                                    },
                                    {
                                        "type": "string",
                                        "enum": [
                                            "USD"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "amount",
                            "currency"
                        ]
                    },
                    "duration": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "duration_minutes": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "category_code": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "rating": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "review_count": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "integer",
                                "enum": [
                                    0
                                ]
                            }
                        ]
                    },
                    "free_cancellation": {
                        "type": "boolean"
                    },
                    "location": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "image",
                    "price",
                    "duration",
                    "duration_minutes",
                    "category",
                    "category_code",
                    "rating",
                    "review_count",
                    "free_cancellation",
                    "location",
                    "source"
                ],
                "title": "WellnessSearchResource"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            }
        }
    }
}