Gondola Partner Search API

The partner-search API from Gondola — 1 operation(s) for partner-search.

GitHub OpenAPI

Operations 1

POST /v3/search V3 search post #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gondola-ai:gondola-ai-partner-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gondola-ai-partner-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gondola Partner Search API
  version: 1.0.0
  description: 'Search hotels and observed rates for approved partners. Read the integration guide for examples, location fields, result statuses, and limits. Select **Authorize** and enter your Gondola bearer token to try a request.


    Search by location: a city or hotel name, coordinates, a viewport, a region, hotel chains, or themes. Check-in must be from today through 365 days from today, and stays can be 1–30 nights. Without dates, the API searches the next 30 one-night stays. Rates represent two adults without children.


    Each hotel/date status is `available`, `missing_content`, `missing_rate`, or `unavailable`. A replica observation can differ from a simultaneous Gondola deals-page rate. Each service machine allows 100 requests per second per partner token. Retry `429` after `Retry-After`; retry `503` later.'
servers:
- url: https://api.gondola.ai
tags:
- name: partner-search
paths:
  /v3/search:
    post:
      tags:
      - partner-search
      operationId: v3_search_post
      security:
      - PartnerBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerSearchRequest'
      responses:
        '200':
          description: Search result, including individual gaps
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerSearchResponse'
        '401':
          description: Partner credential rejected
        '413':
          description: Request body exceeds the 1 MB limit
        '429':
          description: Partner request limit reached
          headers:
            Retry-After:
              description: Seconds until retry
              schema:
                type: integer
        '422':
          description: Correct the request
        '503':
          description: Replica unavailable; retry later
      summary: V3 search post
      x-summary-source: derived
components:
  schemas:
    StayTag:
      type: string
      enum:
      - Great Points Deal
      - Great Cash Deal
      - Recommended for You
      - Highly Rated
      - Maximum Earnings
      - Frequent Stays
      - Closest to Location
      - Recently Renovated
    PointsAmount:
      type: object
      description: An amount of points
      properties:
        value:
          type: number
        cash_equivalent:
          $ref: '#/components/schemas/CurrencyAmount'
        conversion_rate:
          description: The conversion rate from points to cash, expressed as cents/pt
          type: number
    Tag:
      type: object
      description: Tag information
      properties:
        stay_tag:
          $ref: '#/components/schemas/StayTag'
        tag_reason:
          type: string
      required:
      - stay_tag
      - tag_reason
    RoomView:
      type: string
      enum:
      - Bay
      - Beach
      - Canal
      - City
      - Courtyard
      - Desert
      - Garden
      - Golf
      - Harbor
      - Hill
      - Lagoon
      - Lake
      - Park
      - Partial lake
      - Marina
      - Mountain
      - Ocean
      - Partial ocean
      - Pool
      - Resort
      - River
      - Sea
      - Partial sea
      - Water
      - Valley
      - Vineyard
    RatingForCategory:
      title: Rating for Category
      description: A category rating
      type: object
      properties:
        category:
          type: string
          description: Name of the category
        rating:
          type: number
          format: float
    Coordinates:
      title: Coordinates
      description: Latitude and longitude
      type: object
      properties:
        latitude:
          type: number
        longitude:
          type: number
      required:
      - latitude
      - longitude
      additionalProperties: false
    StaySummary:
      title: Stay Summary
      description: A stay summary - used in conjunction with a hotel summary
      type: object
      properties:
        checkin:
          type: string
          format: date
        checkout:
          type: string
          format: date
        checkin_str:
          type: string
        checkout_str:
          type: string
        nights:
          type: integer
        lowest_rate:
          description: Lowest total room rate
          type: number
          format: float
        lowest_rate_currency:
          description: Currency of lowest rate and nightly rate
          type: string
        nightly_rate:
          description: Average nightly rate for the lowest rate
          type: number
          format: float
        best_rate:
          description: Lowest total room rate - whether refundable or non-refundable
          $ref: '#/components/schemas/CurrencyAmount'
        best_nightly_rate:
          description: Average nightly rate for the lowest rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_refundable_rate:
          description: Lowest total room rate - the best of refundable rates
          $ref: '#/components/schemas/CurrencyAmount'
        refundable_nightly_rate:
          description: Average nightly rate for the lowest refundable rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_non_refundable_rate:
          description: Lowest total room rate - the best of non-refundable rates
          $ref: '#/components/schemas/CurrencyAmount'
        non_refundable_nightly_rate:
          description: Average nightly rate for the lowest non-refundable rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_suite_rate:
          description: Lowest total suite room rate
          $ref: '#/components/schemas/CurrencyAmount'
        suite_nightly_rate:
          description: Average nightly rate for the lowest suite rate
          $ref: '#/components/schemas/CurrencyAmount'
        better_rooms_available:
          description: 'True when the search check-in is within 14 days and Travelport inventory shows rooms at higher tiers than the base room category. Factual signal based on current availability, not a prediction.

            '
          type:
          - boolean
          - 'null'
        lowest_rates_by_filter:
          description: 'Lowest rates keyed by filter type. Only populated for filters with matching rooms. Room type keys: suite, studio, standard. Bed type keys: 1_king, 1_queen, 2_queens, 2_double_beds.

            '
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FilterRate'
        lowest_points:
          description: Lowest points for any room at hotel for the search range
          type: integer
        lowest_nightly_points:
          description: Average nightly points for the lowest points rate
          type: integer
        lowest_points_amount:
          $ref: '#/components/schemas/PointsAmount'
        proximity:
          description: Distance from search location in m
          type: number
          format: float
        points_percentile:
          description: The percentile of the points deal
          type: number
        point_redemption_value:
          description: The number of cents per pt
          type: number
        cash_percentile:
          description: The percentile of the cash deal
          type: number
        cash_deal_score:
          description: The score of the deal. A value between 0 and 10, where 10 is a great deal.
          type: number
        points_deal_score:
          description: The score of the deal. A value between 0 and 10, where 10 is a great deal.
          type: number
        nights_free:
          description: The number of free nights for the points deal
          type: integer
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    FilterRate:
      type: object
      description: Lowest rate for a room/bed type filter, with optional room metadata
      properties:
        total:
          $ref: '#/components/schemas/CurrencyAmount'
        nightly:
          description: Average nightly rate for this filter, when displayable
          $ref: '#/components/schemas/CurrencyAmount'
        room_name:
          type: string
          description: Name/description of the room with the lowest rate for this filter
        image_url:
          type: string
          description: URL of an image of the room with the lowest rate for this filter
        area_sq_ft:
          type: integer
          description: Room area in square feet, if available
      required:
      - total
      - nightly
    HotelChain:
      title: Hotel Chain
      description: A hotel chain
      type: string
      enum:
      - Marriott
      - Hilton
      - Hyatt
      - IHG
      - Wyndham
      - Choice
      - Accor
      - Best Western
    CurrencyAmount:
      type: object
      description: An amount of money
      properties:
        value:
          type: number
        currency:
          type: string
        localized_amount:
          $ref: '#/components/schemas/LocalizedCurrencyAmount'
      required:
      - value
      - currency
    PartnerHotelSummary:
      type: object
      description: The non-personalized fields of search v3 HotelSummary in the same flat shape as deals results.
      properties:
        vervotech_property_id:
          type: integer
        provider_property_id:
          type: integer
        property_name:
          type: string
        property_address:
          type: string
        city_name:
          type: string
        country_code:
          type: string
        chain_name:
          type: string
          example: Marriott
        brand_name:
          type: string
          example: The Ritz-Carlton
        supplier_id:
          type: string
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        description:
          type: string
        year_built:
          type: integer
        year_last_renovated:
          type: integer
        stars:
          description: Number of stars
          type: number
          format: float
        average_guest_rating:
          description: Average guest rating
          type: number
          format: float
        review_count:
          description: The number of reviews for the property
          type: number
          format: integer
        category_ratings:
          description: Average ratings across various review categories, e.g. cleanliness, service, etc
          type: array
          items:
            $ref: '#/components/schemas/RatingForCategory'
        hero_image:
          description: URL of hero image
          type: string
        loyalty_program:
          description: Name of loyalty program
          type: string
        checkin_time:
          type: string
        checkout_time:
          type: string
        amenities:
          type: array
          items:
            $ref: '#/components/schemas/HotelAmenity'
        full_amenities:
          type: array
          items:
            $ref: '#/components/schemas/HotelAmenity'
        notable_amenities:
          description: Small, ordered set of decision-useful amenities for hotel detail pages.
          type: array
          items:
            type: string
        images:
          type: array
          items:
            $ref: '#/components/schemas/HotelImage'
        external_reviews:
          type: array
          items:
            $ref: '#/components/schemas/ExternalReview'
        hotel_themes:
          type: array
          items:
            $ref: '#/components/schemas/HotelTheme'
        rooms:
          type: array
          items:
            $ref: '#/components/schemas/RoomInfo'
        desirability_index:
          type: number
          description: A score representing the desirability of the hotel, based on various factors.
        is_all_inclusive:
          type: boolean
          description: Whether a stay here includes meals, drinks, and activities.
        is_adults_only:
          type: boolean
          description: Whether the property is adults-only.
        checkin:
          type: string
          format: date
        checkout:
          type: string
          format: date
        checkin_str:
          type: string
        checkout_str:
          type: string
        nights:
          type: integer
        lowest_rate:
          description: Lowest total room rate
          type: number
          format: float
        lowest_rate_currency:
          description: Currency of lowest rate and nightly rate
          type: string
        nightly_rate:
          description: Average nightly rate for the lowest rate
          type: number
          format: float
        best_rate:
          description: Lowest total room rate - whether refundable or non-refundable
          $ref: '#/components/schemas/CurrencyAmount'
        best_nightly_rate:
          description: Average nightly rate for the lowest rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_refundable_rate:
          description: Lowest total room rate - the best of refundable rates
          $ref: '#/components/schemas/CurrencyAmount'
        refundable_nightly_rate:
          description: Average nightly rate for the lowest refundable rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_non_refundable_rate:
          description: Lowest total room rate - the best of non-refundable rates
          $ref: '#/components/schemas/CurrencyAmount'
        non_refundable_nightly_rate:
          description: Average nightly rate for the lowest non-refundable rate
          $ref: '#/components/schemas/CurrencyAmount'
        lowest_suite_rate:
          description: Lowest total suite room rate
          $ref: '#/components/schemas/CurrencyAmount'
        suite_nightly_rate:
          description: Average nightly rate for the lowest suite rate
          $ref: '#/components/schemas/CurrencyAmount'
        better_rooms_available:
          description: 'True when the search check-in is within 14 days and Travelport inventory shows rooms at higher tiers than the base room category. Factual signal based on current availability, not a prediction.

            '
          type:
          - boolean
          - 'null'
        lowest_rates_by_filter:
          description: 'Lowest rates keyed by filter type. Only populated for filters with matching rooms. Room type keys: suite, studio, standard. Bed type keys: 1_king, 1_queen, 2_queens, 2_double_beds.

            '
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FilterRate'
        lowest_points:
          description: Lowest points for any room at hotel for the search range
          type: integer
        lowest_nightly_points:
          description: Average nightly points for the lowest points rate
          type: integer
        lowest_points_amount:
          $ref: '#/components/schemas/PointsAmount'
        proximity:
          description: Distance from search location in m
          type: number
          format: float
        points_percentile:
          description: The percentile of the points deal
          type: number
        point_redemption_value:
          description: The number of cents per pt
          type: number
        cash_percentile:
          description: The percentile of the cash deal
          type: number
        cash_deal_score:
          description: The score of the deal. A value between 0 and 10, where 10 is a great deal.
          type: number
        points_deal_score:
          description: The score of the deal. A value between 0 and 10, where 10 is a great deal.
          type: number
        nights_free:
          description: The number of free nights for the points deal
          type: integer
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    RoomLayoutType:
      type: string
      enum:
      - Standard
      - Suite
      - Studio
    RoomQualifier:
      type: string
      enum:
      - Standard
      - Deluxe
      - Presidential
      - Executive
      - Penthouse
      - Bridal
      - Honeymoon
      - Junior
      - Mini
      - Premium
      - Premier
      - Superior
      - Terrace
      - Sky Terrace
      - Residential
      - Carnegie
      - Edwardian
    SearchLocationType:
      description: The type of search location
      type: string
      enum:
      - region
      - specific location
    SearchFilters:
      type: object
      description: Filters for a search request
      properties:
        ratings:
          type: array
          items:
            type: integer
          description: A list of ratings to filter by
        min_points_percentile:
          type: number
          description: The minimum percentile of the points deal
        max_points_percentile:
          type: number
          description: The maximum percentile of the points deal
        min_cash_percentile:
          type: number
          description: The minimum percentile of the cash deal
        max_cash_percentile:
          type: number
          description: The maximum percentile of the cash deal
        only_recommended_brands:
          type: boolean
          description: If true, only show hotels from brands that are recommended
        only_all_inclusive:
          type: boolean
          description: If true, only show all-inclusive resorts
        adults_only:
          type: boolean
          description: If true, only show adults-only properties. If false, only show family-friendly properties.
        brands:
          type: array
          items:
            type: string
          description: A list of brand names to filter results by (e.g. all-inclusive collections)
        include_airport_hotels:
          type: boolean
          description: If true, include airport hotels in the search results
        min_total_points:
          type: integer
          description: The minimum total points that the user is willing to spend
        max_total_points:
          type: integer
          description: The maximum total points that the user is willing to spend
        min_total_cash:
          type: integer
          description: The minimum total cash that the user is willing to spend
        max_total_cash:
          type: integer
          description: The maximum total cash that the user is willing to spend
        min_nightly_points:
          type: integer
          description: The minimum nightly points that the user is willing to spend
        max_nightly_points:
          type: integer
          description: The maximum nightly points that the user is willing to spend
        min_nightly_cash:
          type: integer
          description: The minimum nightly cash that the user is willing to spend
        max_nightly_cash:
          type: integer
          description: The maximum nightly cash that the user is willing to spend
        amenity_categories:
          type: array
          items:
            $ref: '#/components/schemas/AmenityCategory'
        num_rates:
          type: integer
          description: The number of rates to return
          default: 40
        sort_by:
          type: string
          description: The field to sort by
          enum:
          - redemption_rate_percentile
          - cash_percentile
          default: redemption_rate_percentile
        desirability_index:
          type: integer
          description: The desirability index to filter by
          maximum: 100
          minimum: 0
      additionalProperties: false
    RoomInfo:
      type: object
      description: Room information
      properties:
        room_name:
          type: string
        room_layout_type:
          $ref: '#/components/schemas/RoomLayoutType'
        room_qualifiers:
          type: array
          items:
            $ref: '#/components/schemas/RoomQualifier'
        bedroom_count:
          type: integer
        views:
          type: array
          items:
            $ref: '#/components/schemas/RoomView'
        service_tier:
          $ref: '#/components/schemas/RoomServiceTier'
        number_of_single_beds:
          type: integer
        number_of_twin_beds:
          type: integer
        number_of_full_beds:
          type: integer
        number_of_queen_beds:
          type: integer
        number_of_king_beds:
          type: integer
        area_sq_meter:
          type: number
        area_sq_ft:
          type: number
        accessible:
          type: boolean
        smoking:
          type: boolean
        number_of_sofa_beds:
          type: integer
        corner:
          type: boolean
        floor:
          type: string
    DateRange:
      title: Date Range
      description: A date range. To be used when searching for a stay with specific start and end dates
      type: object
      properties:
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
        start_date_str:
          description: Start date in string format, e.g. 2023-10-01
          type: string
        end_date_str:
          description: End date in string format, e.g. 2023-10-02
          type: string
      required:
      - start_date
      - end_date
      additionalProperties: false
    HotelAmenity:
      title: Hotel Amenity
      description: An amenity specific to a hotel, in contrast to room amenities or rate amenities.
      type: object
      properties:
        name:
          type: string
          description: Name of the amenity
      required:
      - name
    PartnerHotelSearchResults:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartnerHotelSummary'
        total_result_count:
          type: integer
        available_amenities:
          type: array
          items:
            type: string
        available_image_categories:
          type: array
          items:
            type: string
        available_hotel_themes:
          type: array
          items:
            $ref: '#/components/schemas/HotelTheme'
        available_transfer_partners:
          type: array
          items:
            $ref: '#/components/schemas/TransferPartner'
        recommended_viewport:
          $ref: '#/components/schemas/Viewport'
        search_region:
          $ref: '#/components/schemas/Viewport'
      required:
      - results
      - total_result_count
      - available_amenities
      - available_image_categories
      - available_hotel_themes
    SearchDatesV2:
      title: Search Dates
      description: A set of search dates
      type: object
      properties:
        search_dates:
          type: array
          items:
            $ref: '#/components/schemas/DateRange'
        flexible_search_dates:
          type: array
          items:
            $ref: '#/components/schemas/FlexibleDateRange'
      additionalProperties: false
    Viewport:
      type: object
      properties:
        north:
          type: number
          format: float
          description: The north latitude (max)
        east:
          type: number
          format: float
          description: The east longitude (max)
        south:
          type: number
          format: float
          description: The south latitude (min)
        west:
          type: number
          format: float
          description: The west longitude (min)
      required:
      - north
      - east
      - south
      - west
      additionalProperties: false
    HotelTheme:
      title: Hotel Theme
      description: A theme for a hotel
      type: string
      enum:
      - all
      - adventure sport
      - beach
      - boutique
      - business
      - casino
      - city
      - eco-certified
      - family
      - golf
      - gondola recommended
      - historic
      - hot springs
      - luxury
      - natural
      - pet-friendly
      - romantic
      - shopping
      - ski
      - spa
      - winery
    TransferDuration:
      title: Transfer Duration
      description: The duration of a transfer
      type: string
      enum:
      - instant
      - one_day
      - two_days
      - three_days
    SearchLocationV2:
      title: Search Location
      description: Where to search. Provide at least one of name (a city or hotel name, matched as a case-insensitive substring of the hotel name and city), coordinates, search_viewport, region, chains, or themes. place_id, main_query, secondary_query, and types are Google Places fields used by Gondola's own apps and can be omitted.
      type: object
      properties:
        place_id:
          type: string
          description: The google place ID of the search location
        main_query:
          type: string
          description: The main query string, corresponds to structured_formatting.main_text
        secondary_query:
          type: string
          description: The secondary query string, corresponds to structured_formatting.secondary_text
        types:
          type: array
          items:
            type: string
          description: The google place types of the place ID - used to determine if location is a hotel or something else
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        name:
          type: string
          description: A name used to search for a location.
        themes:
          type: array
          items:
            $ref: '#/components/schemas/HotelTheme'
        chains:
          type: array
          items:
            $ref: '#/components/schemas/HotelChain'
        region:
          $ref: '#/components/schemas/Region'
        search_location_type:
          $ref: '#/components/schemas/SearchLocationType'
        search_viewport:
          $ref: '#/components/schemas/Viewport'
      additionalProperties: false
    AmenityCategory:
      type: string
      enum:
      - Airport Shuttle
      - All Inclusive Packages
      - Fitness Center
      - Free Breakfast
      - Parking
      - Pet Friendly
      - Pool
      - Restaurant
      - Room Service
      - Snacks
      - Spa
    PartnerSearchRequest:
      type: object
      additionalProperties: false
      anyOf:
      - required:
        - hotel_ids
      - required:
        - search_location
      properties:
        search_location:
          $ref: '#/components/schemas/SearchLocationV2'
        search_occupants:
          $ref: '#/components/schemas/SearchOccupants'
        search_filters:
          $ref: '#/components/schemas/SearchFilters'
        search_dates:
          $ref: '#/components/schemas/SearchDatesV2'
        hotel_ids:
          type: array
          minItems: 1
          maxItems: 50
          uniqueItems: true
          items:
            type: integer
            minimum: 1
        currency:
          type: string
          default: USD
      description: 'Search by location: a city or hotel name, coordinates, a viewport, a region, hotel chains, or themes. No user context is accepted.'
    FlexibleDateRange:
      title: Flexible Date Range
      description: A flexible date range. To be used when searching for a stay of a particular number of nights within a set of dates
      type: object
      properties:
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
        start_date_str:
          description: Start date in string format, e.g. 2023-10-01
          type: string
        end_date_str:
          description: End date in string format, e.g. 2023-10-02
          type: string
        nights:
          type: integer
      required:
      - start_date
      - end_date
      - nights
      additionalProperties: false
    LocalizedCurrencyAmount:
      type: object
      description: A localized amount of money (no recursive localization)
      properties:
        value:
          type: number
        currency:
          type: string
      required:
      - value
      - currency
    RoomServiceTier:
      type: string
      enum:
      - Club
      - Concierge
      - Exec
      - Executive
      - Gold
      - Luxe
      - ME
      - Penthouse
      - Platinum
      - Premier
      - Premium
      - Red
      - Royal
      - Royalty
      - Signature
      - Standard
      - Superior
      - VIP
    HotelDateStatus:
      type: object
      properties:
        hotel_id:
          type: integer
        checkin:
          type: string
          format: date
        checkout:
          type: string
          format: date
        status:
          type: string
          enum:
          - available
          - missing_content
          - missing_rate
          - unavailable
        stay_summary:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/StaySummary'
      required:
      - hotel_id
      - checkin
      - checkout
      - status
    Region:
      title: Geographic region
      description: A geographic region
      type: string
      enum:
      - Africa
      - Asia
      - Europe
      - North America
      - Oceania
      - South America
    TransferPartner:
      type: object
      properties:
        from_loyalty_program:
          type: string
        to_loyalty_program:
          type: string
        transfer_ratio:
          type: number
          format: float
        transfer_time:
          $ref: '#/components/schemas/TransferDuration'
      required:
      - from_loyalty_program
      - to_loyalty_program
      - transfer_ratio
    HotelImage:
      title: Hotel Image
      description: An image of a hotel and its rooms
      type: object
      properties:
        category:
          type: string
          description: Category of the image
        url:
          type: string
          description: URL of the image
      required:
      - category
      - url
    PartnerSearchResponse:
      type: object
      properties:
        search_results:
          $ref: '#/components/schemas/PartnerHotelSearchResults'
        hotel_date_statuses:
          type: array
          items:
            $ref: '#/components/schemas/HotelDateStatus'
        result_status:
          type: string
          enum:
          - complete
          - partial
          - unavailable
      required:
      - search_results
      - hotel_date_statuses
      - result_status
    SearchOccupants:
      title: Search Occupants
      description: A search occupant
      type: object
      properties:
        number_of_adults:
          type: integer
        children_ages:
          type: array
          items:
            type: integer
      required:
      - number_of_adults
      additionalProperties: false
    ExternalReview:
      type: object
      description: Curated content for a hotel
      properties:
        id:
          type: integer
        vervotech_property_id:
          type: integer
        mapped_property_name:
          type: string
        source_name:
          type: string
          description: The source of the curated content, e.g. Conde Nast
        article_name:
          type: string
          description: The name of the article
        source_link:
          type: string
          description: The link to the source of the curated content
        content:
          type: string
          description: The content of the curated article
        excerpt:
          type: string
          description: An excerpt of the content
        date_reviewed:
          type: string
          format: date
          description: The date the article was reviewed
      required:
      - id
      - vervotech_property_id
      - mapped_property_name
      - source_name
      - article_name
      - source_link
      - content
  securitySchemes:
    PartnerBearer:
      type: http
      scheme: bearer