swagger: "2.0"

info:
  title: Rapid
  description: EPS Rapid V2.3
  version: "2.3"

host: api.ean.com
basePath: /2.3
schemes:
  - https

produces:
  - application/json

tags:
  - name: Content
    description: "This section outlines the API calls available to you to access EPS's property content."
  - name: Geography
    description: "The EPS Geography API provides geography content for over 550,000 regions around the world."
  - name: Shopping
    description: "The EPS shopping APIs provide you with access to live rates & availability for over 350,000 properties globally."
  - name: Booking
    description: "The primary itinerary method of the Booking API creates a reservation for the selected hotel, room, rate and occupancy."
  - name: Manage Bookings
    description: "Retrieve existing itineraries or cancel existing rooms."

paths:
  /properties/content:
    get:
      summary: "Property Content"
      tags:
        - Content
      description: |
        Search property content for active properties in the requested language.<br><br>

        When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.<br><br>

        When searching with query parameters other than `property_id`, the response will be paginated. The response will contain a header, `Link`. The `Link` header contains a single URL to get the immediate next page of results, and follows the [IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow the `next` URL in the `Link` header without modifying it. When no `Link` header is returned with an empty body and a 200 response code, the pagination has completed. If the link expires, there will be an `expires` link-extension that is the UTC date the link will expire, in ISO 8601 format.<br>

          * Example: `<https://api.ean.com/2.3/properties/content?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m>; rel="next"; expires="2019-03-05T07:23:14.000Z"`<br><br>

        The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/brandId"
        - $ref: "#/parameters/businessModel"
        - $ref: "#/parameters/categoryIdExclude"
        - $ref: "#/parameters/chainId"
        - $ref: "#/parameters/countryCode"
        - $ref: "#/parameters/dateAddedEnd"
        - $ref: "#/parameters/dateAddedStart"
        - $ref: "#/parameters/dateUpdatedEnd"
        - $ref: "#/parameters/dateUpdatedStart"
        - $ref: "#/parameters/includePropertyContent"
        - $ref: "#/parameters/multiUnit"
        - $ref: "#/parameters/propertyIdQuery"
        - $ref: "#/parameters/propertyRatingMax"
        - $ref: "#/parameters/propertyRatingMin"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/PropertyContent"
        400:
          $ref: "#/responses/PropertyContent400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/PropertyContent404Error"
        410:
          $ref: "#/responses/PropertyContent410Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/tripadvisor:
    get:
      summary: "Property TripAdvisor Information"
      tags:
        - Content
      description: |
        Effective November 6th, Expedia Group no longer maintains a relationship with TripAdvisor, and will no longer be providing TripAdvisor content.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/propertyIdQueryRequired"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/TripAdvisor"
        400:
          $ref: "#/responses/TripAdvisor400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/TripAdvisor404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/{property_id}/guest-reviews:
    get:
      summary: "Property Guest Reviews"
      tags:
        - Content
      description: |
        <i>Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details.</i>

        The response is an individual Guest Reviews object containing multiple guest reviews, including 1 featured guest review if available, for the requested active property.

        To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/propertyId"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/GuestReviews"
        400:
          $ref: "#/responses/GuestReviews400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/GuestReviews404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /files/properties/catalog:
    get:
      summary: "Property Catalog File"
      tags:
        - Content
      description: |
        Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property.

        <br>This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are:

          * property_id
          * name
          * address
          * ratings
          * location
          * phone
          * fax
          * category
          * rank
          * business_model
          * dates
          * statistics
          * chain
          * brand

        <br>Example of a JSONL file with 2 properties:
        ```
        {"property_id":"12345","name":"Test Property Name","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscated":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=12345"},"fr-FR":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=fr-FR&include=address&property_id=12345"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":48382,"average":"3.1"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":1,"name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":false},"dates":{"added":"1998-07-19T05:00:00.000Z","updated":"2018-03-22T07:23:14.000Z"},"statistics":{"52":{"id":52,"name":"Total number of rooms - 820","value":"820"},"54":{"id":54,"name":"Number of floors - 38","value":"38"}},"chain":{"id":-6,"name":"Hyatt Hotels"},"brand":{"id":2209,"name":"Hyatt Place"}}
        {"property_id":"67890","name":"Test Property Name 2","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscated":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=67890"},"de-DE":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=de-DE&include=address&property_id=67890"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":7651,"average":"4.3"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":1,"name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":true},"dates":{"added":"1998-07-20T05:00:00.000Z","updated":"2018-03-22T13:33:17.000Z"},"statistics":{"52":{"id":52,"name":"Total number of rooms - 820","value":"820"},"54":{"id":54,"name":"Number of floors - 38","value":"38"}},"chain":{"id":-5,"name":"Hilton Worldwide"},"brand":{"id":358,"name":"Hampton Inn"}}
        ```
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/PropertyCatalogFile"
        400:
          $ref: "#/responses/PropertyCatalogFile400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/File404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /files/properties/content:
    get:
      summary: "Property Content File"
      tags:
        - Content
      description: |
        Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information.

        <br>This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call.

        <br>Example of a JSONL file with 2 properties:
          ```
          {"property_id":"12345","name":"Test Property Name","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscated":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=12345"},"fr-FR":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=fr-FR&include=address&property_id=12345"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":48382,"average":"3.1"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":1,"name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":false},"checkin":{"24_hour":"24-hour check-in","begin_time":"3:00 PM","end_time":"11:00 PM","instructions":"Extra-person charges may apply and vary depending on hotel policy. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;br />","special_instructions":"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.","min_age":"18"},"checkout":{"time":"11:00 AM"},"fees":{"mandatory":"<p>You'll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>","optional":"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li>           <li>Rollaway bed fee: USD 175 per night</li>"},"policies":{"know_before_you_go":"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>"},"attributes":{"general":{"2549":{"id":2549,"name":"No elevators"},"3357":{"id":3357,"name":"Caters to adults only"}},"pets":{"51":{"id":51,"name":"Pets allowed"},"2809":{"id":2809,"name":"Dogs only"},"3321":{"id":3321,"name":"Pet maximum weight in kg is - 24","value":24}}},"amenities":{"9":{"id":9,"name":"Fitness facilities"},"2820":{"id":2820,"name":"Number of indoor pools - 10","value":10}},"images":[{"caption":"Featured Image","hero_image":true,"category":3,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}}}],"onsite_payments":{"currency":"USD","types":{"171":{"id":171,"name":"American Express"}}},"rooms":{"224829":{"id":"224829","name":"Single Room","descriptions":{"overview":"<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker,  room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />"},"amenities":{"130":{"id":130,"name":"Refrigerator"},"1234":{"id":1234,"name":"Test Amenity - 200","value":"200"}},"images":[{"hero_image":true,"category":21001,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}},"caption":"Guestroom"}],"bed_groups":{"37321":{"id":37321,"description":"1 King Bed","configuration":[{"type":"KingBed","size":"King","quantity":1}]}},"area":{"square_meters":20,"square_feet":215},"views":{"4146":{"id":4146,"name":"Courtyard view"}},"occupancy":{"max_allowed":{"total":5,"children":2,"adults":4},"age_categories":{"Adult":{"name":"Adult","minimum_age":9}}}}},"rates":{"333abc":{"id":"333abc","amenities":{"1234":{"id":1234,"name":"Test Amenity - 200","value":"200"},"2104":{"id":2104,"name":"Full Breakfast"}}}},"dates":{"added":"1998-07-19T05:00:00.000Z","updated":"2018-03-22T07:23:14.000Z"},"descriptions":{"amenities":"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.","dining":"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.","renovations":"During renovations, the hotel will make every effort to minimize noise and disturbance.  The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:  <ul><li>Fitness facilities</li></ul>","national_ratings":"For the benefit of our customers, we have provided a rating based on our rating system.","business_amenities":"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.","rooms":"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.","attractions":"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance. <br /><br /> Distances are displayed to the nearest 0.1 mile and kilometer. <p>Sogo Department Store - 0.7 km / 0.4 mi <br />National Museum of Natural Science - 1.1 km / 0.7 mi <br />Shr-Hwa International Tower - 1.4 km / 0.8 mi <br />Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi <br />Taichung Metropolitan Opera House - 1.7 km / 1 mi <br />Tiger City Mall - 1.8 km / 1.1 mi <br />Maple Garden Park - 1.9 km / 1.2 mi <br />National Museum of Fine Arts - 2.1 km / 1.3 mi <br />Feng Chia University - 2.4 km / 1.5 mi <br />Bao An Temple - 2.5 km / 1.6 mi <br />Fengjia Night Market - 2.5 km / 1.6 mi <br />Zhonghua Night Market - 2.7 km / 1.7 mi <br />Chonglun Park - 2.9 km / 1.8 mi <br />Wan He Temple - 2.9 km / 1.8 mi <br />Chungyo Department Store - 3.1 km / 1.9 mi <br /></p><p>The nearest airports are:<br />Taichung (RMQ) - 12 km / 7.5 mi<br />Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi<br />Taipei (TSA-Songshan) - 135.5 km / 84.2 mi<br /></p><p></p>","location":"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store.  A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.","headline":"Near National Museum of Natural Science"},"statistics":{"52":{"id":52,"name":"Total number of rooms - 820","value":"820"},"54":{"id":54,"name":"Number of floors - 38","value":"38"}},"airports":{"preferred":{"iata_airport_code":"SGF"}},"registry_number":"1350K014A0088300","themes":{"2337":{"id":2337,"name":"Luxury Hotel"},"2341":{"id":2341,"name":"Spa Hotel"}},"all_inclusive":{"all_rate_plans":true,"some_rate_plans":false,"details":"<p>This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply). </p><p><strong>Activities and facilities/equipment</strong><br />Land activities<ul><li>Fitness facilities</li></ul><br />Lessons/classes/games <ul><li>Pilates</li><li>Yoga</li></ul></p><p><strong>Entertainment</strong><ul><li>Onsite entertainment and activities</li><li>Onsite live performances</li></ul></p>"},"tax_id":"AB-012-987-1234-01","chain":{"id":-6,"name":"Hyatt Hotels"},"brand":{"id":2209,"name":"Hyatt Place"},"spoken_languages":{"vi":{"id":"vi","name":"Vietnamese"}},"multi_unit":true}
          {"property_id":"67890","name":"Test Property Name 2","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscated":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=67890"},"de-DE":{"method":"GET","href":"https://api.ean.com/2.3/properties/content?language=de-DE&include=address&property_id=67890"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":7651,"average":"4.3"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":1,"name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":true},"checkin":{"24_hour":"24-hour check-in","begin_time":"3:00 PM","end_time":"11:00 PM","instructions":"Extra-person charges may apply and vary depending on hotel policy. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;br />","special_instructions":"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.","min_age":"18"},"checkout":{"time":"11:00 AM"},"fees":{"mandatory":"<p>You'll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>","optional":"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li>           <li>Rollaway bed fee: USD 175 per night</li>"},"policies":{"know_before_you_go":"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>"},"attributes":{"general":{"2549":{"id":2549,"name":"No elevators"},"3357":{"id":3357,"name":"Caters to adults only"}},"pets":{"51":{"id":51,"name":"Pets allowed"},"2809":{"id":2809,"name":"Dogs only"},"3321":{"id":3321,"name":"Pet maximum weight in kg is - 24","value":24}}},"amenities":{"9":{"id":9,"name":"Fitness facilities"},"2820":{"id":2820,"name":"Number of indoor pools - 10","value":10}},"images":[{"caption":"Featured Image","hero_image":true,"category":3,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}}}],"onsite_payments":{"currency":"USD","types":{"171":{"id":171,"name":"American Express"}}},"rooms":{"224829":{"id":"224829","name":"Single Room","descriptions":{"overview":"<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker,  room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />"},"amenities":{"130":{"id":130,"name":"Refrigerator"},"1234":{"id":1234,"name":"Test Amenity - 200","value":"200"}},"images":[{"hero_image":true,"category":21001,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}},"caption":"Guestroom"}],"bed_groups":{"37321":{"id":37321,"description":"1 King Bed","configuration":[{"type":"KingBed","size":"King","quantity":1}]}},"area":{"square_meters":17},"views":{"4134":{"id":4134,"name":"City view"}},"occupancy":{"max_allowed":{"total":3,"children":2,"adults":3},"age_categories":{"ChildAgeA":{"name":"ChildAgeA","minimum_age":3}}}}},"rates":{"333abc":{"id":"333abc","amenities":{"1234":{"id":1234,"name":"Test Amenity - 200","value":"200"},"2104":{"id":2104,"name":"Full Breakfast"}}}},"dates":{"added":"1998-07-20T05:00:00.000Z","updated":"2018-03-22T13:33:17.000Z"},"descriptions":{"amenities":"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.","dining":"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.","renovations":"During renovations, the hotel will make every effort to minimize noise and disturbance.  The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:  <ul><li>Fitness facilities</li></ul>","national_ratings":"For the benefit of our customers, we have provided a rating based on our rating system.","business_amenities":"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.","rooms":"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.","attractions":"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance. <br /><br /> Distances are displayed to the nearest 0.1 mile and kilometer. <p>Sogo Department Store - 0.7 km / 0.4 mi <br />National Museum of Natural Science - 1.1 km / 0.7 mi <br />Shr-Hwa International Tower - 1.4 km / 0.8 mi <br />Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi <br />Taichung Metropolitan Opera House - 1.7 km / 1 mi <br />Tiger City Mall - 1.8 km / 1.1 mi <br />Maple Garden Park - 1.9 km / 1.2 mi <br />National Museum of Fine Arts - 2.1 km / 1.3 mi <br />Feng Chia University - 2.4 km / 1.5 mi <br />Bao An Temple - 2.5 km / 1.6 mi <br />Fengjia Night Market - 2.5 km / 1.6 mi <br />Zhonghua Night Market - 2.7 km / 1.7 mi <br />Chonglun Park - 2.9 km / 1.8 mi <br />Wan He Temple - 2.9 km / 1.8 mi <br />Chungyo Department Store - 3.1 km / 1.9 mi <br /></p><p>The nearest airports are:<br />Taichung (RMQ) - 12 km / 7.5 mi<br />Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi<br />Taipei (TSA-Songshan) - 135.5 km / 84.2 mi<br /></p><p></p>","location":"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store.  A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.","headline":"Near National Museum of Natural Science"},"statistics":{"52":{"id":52,"name":"Total number of rooms - 820","value":"820"},"54":{"id":54,"name":"Number of floors - 38","value":"38"}},"airports":{"preferred":{"iata_airport_code":"SGF"}},"registry_number":"2350K014A089723","themes":{"2337":{"id":2337,"name":"Luxury Hotel"},"2341":{"id":2341,"name":"Spa Hotel"}},"all_inclusive":{"all_rate_plans":true,"some_rate_plans":false,"details":"<p>This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply). </p><p><strong>Activities and facilities/equipment</strong><br />Land activities<ul><li>Fitness facilities</li></ul><br />Lessons/classes/games <ul><li>Pilates</li><li>Yoga</li></ul></p><p><strong>Entertainment</strong><ul><li>Onsite entertainment and activities</li><li>Onsite live performances</li></ul></p>"},"tax_id":"CD-012-987-1234-02","chain":{"id":-5,"name":"Hilton Worldwide"},"brand":{"id":358,"name":"Hampton Inn"},"spoken_languages":{"en":{"id":"en","name":"English"}},"multi_unit":true}
          ```
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/PropertyContentFile"
        400:
          $ref: "#/responses/PropertyContentFile400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/File404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /regions:
    get:
      summary: "Regions"
      tags:
        - Geography
      description: |
        Returns the geographic definition and property mappings of regions matching the specified parameters.<br><br>

        To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developer.expediapartnersolutions.com/reference/geography-reference-lists-2-2/).<br><br>

        The response is a paginated list of regions. The response will contain a header, `Link`. The `Link` header contains a single URL to get the immediate next page of results, and follows the [IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow the `next` URL in the `Link` header without modifying it. When no `Link` header is returned with an empty body and a 200 response code, the pagination has completed. If the link expires, there will be an `expires` link-extension that is the UTC date the link will expire, in ISO 8601 format.<br>

        * Example: `<https://api.ean.com/2.3/regions?token=DXF1ZXJ5QW5kRmV0Y2gBAAAAAAdcoBgWbUpHYTdsdFVRc2U4c0xfLUhGMzM1QQ>; rel="next"; expires="2019-03-05T07:23:14.000Z"`
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/ancestorId"
        - $ref: "#/parameters/regionsInclude"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/Regions"
        400:
          $ref: "#/responses/Regions400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/Regions404Error"
        410:
          $ref: "#/responses/Regions410Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Paginated500Error"
        503:
          $ref: "#/responses/Error503"

  /regions/{region_id}:
    get:
      summary: "Region"
      tags:
        - Geography
      description: |
        Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/regionInclude"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/Region"
        400:
          $ref: "#/responses/Region400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/Region404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /airports:
    get:
      tags:
        - "Geography"
      summary: "Airports"
      description: |
        Returns the geographic definition and property mappings of all airports in our geography system. The response is a map in JSON format, where the key is the IATA airport code and the airport object is the value. The map has no order.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/airportsInclude"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/Airports"
        400:
          $ref: "#/responses/Airport400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /airports/{iata_airport_code}:
    get:
      tags:
        - "Geography"
      summary: "Airport"
      description: |
        Returns the geographic definition and property mappings for the requested IATA airport code. The response is a single JSON formatted airport object.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/airportsInclude"
        - $ref: "#/parameters/iataAirportCode"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/Airport"
        400:
          $ref: "#/responses/Airport400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/Airport404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/geography:
    post:
      summary: "Properties within Polygon"
      tags:
        - Geography
      description: |
        Returns the properties within an custom polygon that represents a multi-city area or smaller.
        The coordinates of the polygon should be in [GeoJSON format](https://tools.ietf.org/html/rfc7946) and the polygon must conform to the following restrictions:
          * Polygon size - diagonal distance of the polygon must be less than 500km
          * Polygon type - only single polygons are supported
          * Number of coordinates - must be <= 2000
      consumes:
        - application/json
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/content_type"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/propertiesGeographyInclude"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
        - $ref: "#/parameters/propertiesGeographyGeoJson"
      responses:
        200:
          $ref: "#/responses/PropertiesGeography"
        400:
          $ref: "#/responses/Polygon400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/availability:
    get:
      summary: "Get property room rates and availability"
      tags:
        - Shopping
      description: |
        Returns rates on available room types for specified properties (maximum of 250 properties per request).  The response includes rate details such as promos, whether the rate is refundable, cancellation penalties and a full price breakdown to meet the price display requirements for your market.
        * Multiple rooms of the same type may be requested by including multiple instances of the `occupancy` parameter.
        * The `nightly` array includes each individual night's charges. When the total price includes fees, charges, or adjustments that are not divided by night, these amounts will be included in the `stay` rate array, which details charges applied to the entire stay (each check-in).
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpOptional"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/availabilityTestHeader"
        - $ref: "#/parameters/checkin"
        - $ref: "#/parameters/checkout"
        - $ref: "#/parameters/currency"
        - $ref: "#/parameters/language"
        - $ref: "#/parameters/country_code"
        - $ref: "#/parameters/occupancy"
        - $ref: "#/parameters/propertyIdQueryRequired"
        - $ref: "#/parameters/sales_channel"
        - $ref: "#/parameters/sales_environment"
        - $ref: "#/parameters/sort_type"
        - $ref: "#/parameters/filter"
        - $ref: "#/parameters/ratePlanCount"
        - $ref: "#/parameters/rate_option"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/PropertyAvailability"
        400:
          $ref: "#/responses/PropertyAvailability400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/PropertyAvailability404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/{property_id}/rooms/{room_id}/rates/{rate_id}/price-check:
    get:
      summary: Get Current Price for Pre-Booking
      tags:
        - Shopping
      description: |
        Confirms the price returned by the Property Availability response. Use this API to verify a previously-selected rate is still valid before booking. If the price is matched, the response returns a link to request a booking. If the price has changed, the response returns new price details and a booking link for the new price. If the rate is no longer available, the response will return a new Property Availability request link to search again for different rates. In the event of a price change, go back to Property Availability and book the property at the new price or return to additional rates for the property.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpOptional"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/priceCheckTestHeader"
        - $ref: "#/parameters/propertyId"
        - $ref: "#/parameters/roomId"
        - $ref: "#/parameters/rateId"
        - $ref: "#/parameters/priceCheckToken"
      responses:
        200:
          $ref: "#/responses/RoomPriceCheck"
        400:
          $ref: "#/responses/BadRequestInvalidInput400Error"
        409:
          $ref: "#/responses/PriceChanged409"
        410:
          $ref: "#/responses/PriceCheckSoldOut410Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"

  /properties/{property_id}/payment-options:
    get:
      description: |
        Returns the accepted payment options.  Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
      summary: Get Accepted Payment Types - EPS MOR Only
      tags:
        - Shopping
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpOptional"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/propertyId"
        - $ref: "#/parameters/token"
        - $ref: "#/parameters/user_agent"
      responses:
        200:
          $ref: "#/responses/PaymentOptions"
        400:
          $ref: "#/responses/BadRequestInvalidInput400Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /properties/{property_id}/deposit-policies:
    get:
      description: |
        This link will be available in the shop response when rates require a deposit. It returns the amounts and dates for when any deposits are due. Deposit information is obtained by making a deposit-policies API call using this link.
      summary: Get Deposit Policy
      tags:
        - Shopping
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpOptional"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/depositPoliciesTestHeader"
        - $ref: "#/parameters/propertyId"
        - $ref: "#/parameters/token"
      responses:
        200:
          $ref: "#/responses/DepositPolicies"
        400:
          $ref: '#/responses/BadRequestInvalidInput400Error'
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /payment-sessions:
    post:
      description: |
        <b>This link only applies to transactions where EPS takes the customer's payment information. This includes both Expedia Collect and Property Collect transactions.</b><br>
        This link will be available in the Price Check response if payment registration is required. It returns a payment session ID and a link to create a booking. This will be the first step in the booking flow only if you've opted into Two-Factor Authentication to comply with the September 2019 EU Regulations for PSD2. Learn more with our [PSD2 Overview](https://developer.expediapartnersolutions.com/reference/psd2-regulation/)
      summary: "Register Payments"
      tags:
        - Booking
      consumes:
        - application/json
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/content_type"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/paymentSessionsTestHeader"
        - $ref: "#/parameters/token"
        - $ref: "#/parameters/paymentSessionsRequestBody"
      responses:
        201:
          $ref: "#/responses/PaymentSessions"
        400:
          $ref: "#/responses/PaymentSessions400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /itineraries:
    post:
      description: |
        This link will be available in the Price Check response or in the register payments response when Two-Factor Authentication is used. It returns an itinerary id and links to retrieve reservation details, cancel a held booking, resume a held booking or complete payment session. Please note that depending on the state of the booking, the response will contain only the applicable link(s).
      summary: "Create Booking"
      tags:
        - Booking
      consumes:
        - application/json
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/content_type"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/bookTestHeader"
        - $ref: "#/parameters/token"
        - $ref: "#/parameters/bookRequestBody"
      responses:
        201:
          $ref: "#/responses/ItineraryCreationResponse"
        400:
          $ref: "#/responses/Itineraries400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        409:
          $ref: "#/responses/PriceMismatch409Error"
        410:
          $ref: "#/responses/SoldOut410Error"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"
    get:
      description: |
        This can be called directly without a token when an affiliate reference id is provided. It returns details about a booking associated with the affiliate reference id along with cancel links to cancel the booking.

        <i>Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, please wait a few minutes before trying to retrieve the itinerary again.</i>
      summary: "Retrieve Booking with Affiliate Reference Id"
      tags:
        - Manage Bookings
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/retrieveTestHeader"
        - $ref: "#/parameters/affiliateReferenceId"
        - $ref: "#/parameters/emailRequired"
      responses:
        200:
          $ref: "#/responses/ItineraryRetrievalResponse"
        400:
          $ref: "#/responses/Retrieve400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /itineraries/{itinerary_id}:
    put:
      description: |
        This link will be available in the booking response after creating a held booking.
      summary: "Resume Booking"
      tags:
        - Booking
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/resumeTestHeader"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/token"
      responses:
        204:
          $ref: "#/responses/ResumeBooking"
        202:
          $ref: "#/responses/ResumeBookingUnknown"
        400:
          $ref: "#/responses/RapidInvalidRequest400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"
    get:
      description: |
        This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking:
        * Using the link included in the original Book response, example: https://api.ean.com/2.3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W
        * Using the email of the booking, example: https://api.ean.com/2.3/itineraries/8955599932111?email=customer@email.com

        <i>Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, please wait a few minutes before trying to retrieve the itinerary again.</i>
      summary: "Retrieve Booking"
      tags:
        - Manage Bookings
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/retrieveTestHeader2"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/retrieveToken"
        - $ref: "#/parameters/emailOptional"
      responses:
        200:
          $ref: "#/responses/ItineraryRetrievalResponse"
        400:
          $ref: "#/responses/RapidInvalidRequest400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"
    delete:
      description: |
        This link will be available in a held booking response.
      summary: "Cancel Held Booking"
      tags:
        - Manage Bookings
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/cancelTestHeader"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/token"
      responses:
        204:
          $ref: "#/responses/CancelBooking"
        202:
          $ref: "#/responses/CancelBookingUnknown"
        400:
          $ref: "#/responses/RapidInvalidRequest400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /itineraries/{itinerary_id}/payment-sessions:
    put:
      description: |
        <b>This link only applies to transactions where EPS takes the customer's payment information. This includes both Expedia Collect and Property Collect transactions.</b><br>
        This link will be available in the booking response only if you've opted into Two-Factor Authentication to comply with the September 2019 EU Regulations for PSD2. It should be called after Two-Factor Authentication has been completed by the customer in order to finalize the payment and complete the booking or hold attempt. Learn more with our [PSD2 Overview](https://developer.expediapartnersolutions.com/reference/psd2-regulation/)
      summary: "Complete Payment Session"
      tags:
        - Booking
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/completePaymentSessionsTestHeader"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/token"
      responses:
        200:
          $ref: "#/responses/CompletePaymentSession"
        400:
          $ref: "#/responses/RapidInvalidRequest400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /itineraries/{itinerary_id}/rooms/{room_id}:
    delete:
      description: |
        This link will be available in the retrieve response.
      summary: "Cancel a room."
      tags:
        - Manage Bookings
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/cancelRoomTestHeader"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/roomId"
        - $ref: "#/parameters/token"
      responses:
        204:
          $ref: "#/responses/CancelRoom"
        202:
          $ref: "#/responses/CancelRoomUnknown"
        400:
          $ref: "#/responses/Cancel400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"
    put:
      description: |
        This link will be available in the retrieve response. Changes in smoking preference and special request will be passed along to the property and are not guaranteed.
      summary: "Change details of a room."
      tags:
        - Manage Bookings
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/content_type"
        - $ref: "#/parameters/customerIpRequired"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/changeRoomDetailsTestHeader"
        - $ref: "#/parameters/itinerary_id"
        - $ref: "#/parameters/roomId"
        - $ref: "#/parameters/token"
        - $ref: "#/parameters/changeRoomDetailsRequestBody"
      responses:
        204:
          $ref: "#/responses/ChangeRoomDetails"
        202:
          $ref: "#/responses/ChangeRoomDetailsUnknown"
        400:
          $ref: "#/responses/RapidInvalidRequest400Error"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        404:
          $ref: "#/responses/ItineraryNotFound404Error"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

  /chains:
    get:
      summary: "Chain Reference"
      tags:
        - Content
      description: |
        Returns a complete collection of chains recognized by the Rapid API.

        <br>Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including Doubletree, Hampton Inn and Embassy Suites.

        <br>The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands.

        <br>Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning.

        <br>Chain and brand names are provided in English only.
      parameters:
        - $ref: "#/parameters/accept"
        - $ref: "#/parameters/acceptEncoding"
        - $ref: "#/parameters/authorization"
        - $ref: "#/parameters/customerSessionId"
        - $ref: "#/parameters/user_agent"
        - $ref: "#/parameters/billing_terms"
        - $ref: "#/parameters/partner_point_of_sale"
        - $ref: "#/parameters/payment_terms"
        - $ref: "#/parameters/platform_name"
      responses:
        200:
          $ref: "#/responses/Chains"
        401:
          $ref: "#/responses/Error401"
        403:
          $ref: "#/responses/Error403"
        426:
          $ref: "#/responses/Error426"
        429:
          $ref: "#/responses/Error429"
        500:
          $ref: "#/responses/Error500"
        503:
          $ref: "#/responses/Error503"

parameters:
  accept:
    in: header
    name: Accept
    description: |
      Specifies the response format that the client would like to receive back. This must be `application/json`.

      Example: `application/json`
    required: true
    type: string
  acceptEncoding:
    in: header
    name: Accept-Encoding
    description: |
      Specifies the response encoding that the client would like to receive back. This must be `gzip`.

      Example: `gzip`
    required: true
    type: string
  authorization:
    in: header
    name: Authorization
    description: "The custom generated authentication header. Refer to our [signature authentication](https://developer.expediapartnersolutions.com/reference/signature-authentication) page for full details."
    required: true
    type: string
  customerIpRequired:
    in: header
    name: Customer-Ip
    description: |
      IP address of the customer, as captured by your integration. Send IPV4 addresses only.<br>
      Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.<br>
      Also used for fraud recovery and other important analytics.
    required: true
    type: string
  customerIpOptional:
    in: header
    name: Customer-Ip
    description: |
      IP address of the customer, as captured by your integration. Send IPV4 addresses only.<br>
      Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.<br>
      Also used for fraud recovery and other important analytics.
    required: false
    type: string
  customerSessionId:
    in: header
    name: Customer-Session-Id
    description: |
      Insert your own unique value for each user session, beginning with the first API call.
      Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.<br>
      Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
    required: false
    type: string
  brandId:
    name: brand_id
    in: query
    description: |
      The ID of the brand you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested brand IDs.

      Example: `brand_id=123&brand_id=456`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
  businessModel:
    name: business_model
    in: query
    description: |
      Search for properties with the requested business model enabled. This parameter can be supplied multiple times with different values, which will return all properties that match any of the requested business models. The value must be lower case.

      Possible values:
        * expedia_collect - Return only properties where the payment is collected by Expedia.
        * property_collect - Return only properties where the payment is collected at the property.

      Example: `business_model=expedia_collect&business_model=property_collect`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - expedia_collect
        - property_collect
  categoryIdExclude:
    name: category_id_exclude
    in: query
    description: |
      Search to exclude properties that do not have the requested [category ID](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will exclude properties that match any of the requested category IDs.

      Example: `category_id_exclude=3&category_id_exclude=1`.
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
  chainId:
    name: chain_id
    in: query
    description: |
      The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested chain IDs.

      Example: `chain_id=-6&chain_id=1`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
  countryCode:
    name: country_code
    in: query
    description: |
      Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested country codes.

      Example: `country_code=US&country_code=JP`.
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
  dateAddedEnd:
    name: date_added_end
    in: query
    description: |
      Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)

      Example: `date_added_end=2018-12-31`
    required: false
    type: string
  dateAddedStart:
    name: date_added_start
    in: query
    description: |
      Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)

      Example: `date_added_start=2018-09-15`
    required: false
    type: string
  dateUpdatedEnd:
    name: date_updated_end
    in: query
    description: |
      Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)

      Example: `date_updated_end=2018-12-31`
    required: false
    type: string
  dateUpdatedStart:
    name: date_updated_start
    in: query
    description: |
      Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)

      Example: `date_updated_start=2018-09-15`
    required: false
    type: string
  language:
    in: query
    name: language
    description: |
      Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO639-1 alpha 2 language codes and ISO3166-1 alpha 2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)

      Example: `language=en-US`

      Language Options: [https://developer.expediapartnersolutions.com/reference/language-options/](https://developer.expediapartnersolutions.com/reference/language-options/)
    required: true
    type: string
  multiUnit:
    name: multi_unit
    in: query
    description: |
      Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit properties will be included.

      Possible values:
        * true - Include only properties that are multi-unit.
        * false - Do not include properties that are multi-unit.
    required: false
    type: boolean
  regionId:
    in: path
    name: region_id
    description: |
      ID of the region to retrieve.

      Example: `602962`.
    required: true
    type: string
  ancestorId:
    in: query
    name: ancestor_id
    description: |
      ID of the ancestor of regions to retrieve. Refer to the list of [top level regions](https://developer.expediapartnersolutions.com/reference/geography-reference-lists-2-2/).

      Example: `602962`.
    required: false
    type: string
  iataAirportCode:
    in: "path"
    name: "iata_airport_code"
    description: |
      3-character IATA airport code of the airport to retrieve. The code must be upper case.

      Example: `ORD`.
    required: true
    type: "string"
  includePropertyContent:
    in: query
    name: include
    description: |
      Option for limiting what fields to return in the response. The value must be lower case. This parameter can be supplied multiple times with different values, which will return a combination of all fields asked for.

      Possible values:
       * property_ids - Return only the property id of the property object.
       * catalog - Return only the property catalog property-level fields.
       * address - Returns only the address fields.

      Example: `include=property_ids&include=address`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - property_ids
        - catalog
        - address
  regionsInclude:
    in: "query"
    name: "include"
    description: |
      Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case.
        * standard - Include the metadata and basic hierarchy of each region.
        * details - Include the metadata, coordinates and full hierarchy of each region.
        * property_ids - Include the list of property IDs within the bounding polygon of each region.
        * property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.

      Example: `include=details&include=property_ids`
    required: true
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - standard
        - details
        - property_ids
        - property_ids_expanded
  regionInclude:
    in: "query"
    name: "include"
    description: |
      Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case.
        * details - Include the metadata, coordinates and full hierarchy of the region.
        * property_ids - Include the list of property IDs within the bounding polygon of the region.
        * property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.

      Example: `include=details&include=property_ids`
    required: true
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - details
        - property_ids
        - property_ids_expanded
  airportsInclude:
    in: query
    name: include
    description: |
      Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case.
        * details - Include the metadata, coordinates and associated region of the airport.
        * property_ids - Include the list of the property IDs within a 20km radius of the airport.
        * associated_region_property_ids - Include the list of property IDs within the polygon of the associated region. The associated region is the city or multi-city most commonly associated with the airport.

      Example: `include=details&include=property_ids`
    required: true
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - details
        - property_ids
        - associated_region_property_ids
  propertiesGeographyInclude:
    in: query
    name: include
    description: |
      Options for which content to return in the response. The value must be lower case.
        * property_ids - Include the property IDs.

      Example: `property_ids`
      Possible values: `property_ids`.
    required: true
    type: string
  propertiesGeographyGeoJson:
    in: body
    name: PropertiesGeographyRequestBody
    schema:
      $ref: "#/definitions/PropertiesGeoJsonRequest"
    required: true
  propertyId:
    in: path
    name: property_id
    description: |
      Expedia Property ID.<br>
      Example: `19248`
    required: true
    type: string
  roomId:
    name: room_id
    in: path
    required: true
    type: string
    description: |
      Room ID of a property.<br>
      Example: `123abc`.
  rateId:
    name: rate_id
    in: path
    required: true
    type: string
    description: |
      Rate ID of a room.<br>
      Example: `123abc`
  propertyIdQueryRequired:
    in: query
    name: property_id
    description: |
      The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.

      Example: `property_id=19248&property_id=20321`
    required: true
    type: array
    collectionFormat: multi
    items:
      type: string
  propertyIdQuery:
    in: query
    name: property_id
    description: |
      The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.

      Example: `property_id=19248&property_id=20321`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
  propertyRatingMax:
    name: property_rating_max
    in: query
    description: |
      Search for properties with a property rating less than or equal to the requested rating. The highest property rating value is 5.0.

      Example: `property_rating_max=5.0`
    required: false
    type: string
  propertyRatingMin:
    name: property_rating_min
    in: query
    description: |
      Search for properties with a property rating greater than or equal to the requested rating. The lowest property rating value is 0.0.

      Example: `property_rating_min=2.5`
    required: false
    type: string
  token:
    in: query
    name: token
    description: |
      Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
      Example: `MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m`
    required: true
    type: string
  retrieveToken:
    in: query
    name: token
    description: |
      Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
      Example: `MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m`
    required: false
    type: string
  priceCheckToken:
    name: token
    in: query
    required: true
    type: string
    description: A hashed collection of query parameters. Used to maintain state across calls. This token is provided as part of the price check link from the shop response.
  itinerary_id:
    in: path
    name: itinerary_id
    description: |
      This parameter is used only to prefix the token value - no ID value is used.<br>
      Example: `8955599932111`
    required: true
    type: string
  affiliateReferenceId:
    name: affiliate_reference_id
    in: query
    required: true
    type: string
    description: |
      The affilliate reference id value. This field supports a maximum of 28 characters.
      Example: `111A222BB33344CC5555`
  emailRequired:
    name: email
    in: query
    required: true
    type: string
    description: |
      Email associated with the booking.<br>
      Example: `test@example.com`.
  emailOptional:
    in: query
    name: email
    description: |
      Email associated with the booking. (Email is required if the token is not provided the request) <br>
      Example: `test@example.com`.
    required: false
    type: string
  billing_terms:
    in: query
    name: billing_terms
    description: |
      This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
    required: false
    type: string
  payment_terms:
    in: query
    name: payment_terms
    description: |
      This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
    required: false
    type: string
  partner_point_of_sale:
    in: query
    name: partner_point_of_sale
    description: |
      This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
    type: string
  platform_name:
    in: query
    name: platform_name
    description: |
      This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
    type: string
  content_type:
    in: header
    name: Content-Type
    description: |
      This parameter is to specify what format the request body is in. The only supported value is application/json.

      Example: `application/json`
    required: true
    type: string
  user_agent:
    in: header
    name: User-Agent
    description: |
      The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.

      Example: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36`

      Example: `TravelNow/3.30.112`
    required: true
    type: string
  availabilityTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - unknown_internal_error
    description: |
      Shop calls have a test header that can be used to return set responses with the following keywords:<br>
      * `standard`
      * `service_unavailable`
      * `unknown_internal_error`
  priceCheckTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - matched
      - price_changed
      - sold_out
      - service_unavailable
      - unknown_internal_error
    description: |
      Price check calls have a test header that can be used to return set responses with the following keywords:
        * `matched`
        * `price_changed`
        * `sold_out`
        * `service_unavailable`
        * `unknown_internal_error`
  depositPoliciesTestHeader:
    name: Test
    in: header
    required: false
    type: string
    description: |
      Deposit policies calls have a test header that can be used to return set responses with the following keywords:
      * `all`
      * `nights`
      * `amount`
      * `percent`
      * `remainder`
      * `service_unavailable`
      * `unknown_internal_error`
    enum:
      - all
      - nights
      - amount
      - percent
      - remainder
      - service_unavailable
      - unknown_internal_error
  paymentSessionsTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
    description: |
      The book call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard`
      * `service_unavailable`
      * `internal_server_error`
  bookTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
      - price_mismatch
      - cc_declined
      - rooms_unavailable
    description: |
      The book call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard`
      * `complete_payment_session`
      * `service_unavailable`
      * `internal_server_error`
      * `price_mismatch`
      * `cc_declined`
      * `rooms_unavailable`
  retrieveTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
    description: |
      The retrieve call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard` - Requires valid test booking.
      * `service_unavailable`
      * `internal_server_error`
  retrieveTestHeader2:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
    description: |
      The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used.
      * `standard` - Requires valid test booking.
      * `service_unavailable`
      * `internal_server_error`
  resumeTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
    description: |
      The resume call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard` - Requires valid test held booking.
      * `service_unavailable` - Returns the HTTP 202 response caused by partial service unavailablity.
      * `internal_server_error`
  cancelTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
      - post_stay_cancel
    description: |
      The cancel call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard` - Requires valid test held booking.
      * `service_unavailable`
      * `internal_server_error`
      * `post_stay_cancel`
  cancelRoomTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - unknown_internal_error
      - post_stay_cancel
    description: |
      The cancel call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard` - Requires valid test booking.
      * `service_unavailable`
      * `unknown_internal_error`
      * `post_stay_cancel`
  completePaymentSessionsTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - internal_server_error
    description: |
      The payment-sessions call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard`
      * `service_unavailable`
      * `internal_server_error`
  changeRoomDetailsTestHeader:
    name: Test
    in: header
    required: false
    type: string
    enum:
      - standard
      - service_unavailable
      - unknown_internal_error
    description: |
      The change call has a test header that can be used to return set responses with the following keywords:<br>
      * `standard` - Requires valid test booking.
      * `service_unavailable`
      * `unknown_internal_error`
  paymentSessionsRequestBody:
    in: body
    name: PaymentSessionsRequestBody
    schema:
      $ref: "#/definitions/PaymentSessionsRequest"
    required: true
  bookRequestBody:
    in: body
    name: ItineraryRequestBody
    description: ""
    schema:
      $ref: "#/definitions/CreateItineraryRequest"
    required: true
  changeRoomDetailsRequestBody:
    in: body
    name: RoomDetailsRequestBody
    description: "The request body is required, but only the fields that are being changed need to be passed in. Fields that are not being changed should not be included in the request body."
    schema:
      $ref: "#/definitions/ChangeRoomDetailsRequest"
    required: true
  checkin:
    in: query
    name: checkin
    description: |
      Check-in date, in ISO 8601 format (YYYY-MM-DD)
      Example: `2018-09-15`.
    required: true
    type: string
  checkout:
    in: query
    name: checkout
    description: |
      Check-out date, in ISO 8601 format (YYYY-MM-DD). Availability can be searched up to 500 days in advance of this date. Total length of stay cannot exceed 28 nights.

      Example: `2018-09-17`.
    required: true
    type: string
  currency:
    in: query
    name: currency
    description: |
      Requested currency for the rates, in ISO 4217 format<br>
      Example: `USD`.<br>
      Currency Options: [https://developer.expediapartnersolutions.com/reference/currency-options/](https://developer.expediapartnersolutions.com/reference/currency-options/)
    required: true
    type: string
  country_code:
    in: query
    name: country_code
    description: |
      The country code of the traveler's point of sale, in ISO 3166-1 alpha-2 format. This should represent the country where the shopping transaction is taking place.

      Example: country_code=US

      For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/)
    required: true
    type: string
  occupancy:
    in: query
    name: occupancy
    description: |
      Defines the requested occupancy for a single room. Each room must have at least 1 adult occupant.<br>
      Format: `numberOfAdults[-firstChildAge[,nextChildAge]]`<br>
      To request multiple rooms (of the same type), include one instance of occupancy for each room requested. Up to 8 rooms may be requested or booked at once.<br>
      Examples:
      * 2 adults, one 9-year-old and one 4-year-old would be represented by `occupancy=2-9,4`.<br>
      * A multi-room request to lodge an additional 2 adults would be represented by `occupancy=2-9,4&occupancy=2`
    required: true
    type: array
    collectionFormat: multi
    items:
      type: string
  sales_channel:
    in: query
    name: sales_channel
    description: |
      You must provide the sales channel for the display of rates. EPS dynamically provides the best content for optimal conversion on each sales channel. If you have a sales channel that is not currently supported in this list, please contact our support team.<br>
      * `website` - Standard website accessed from the customer's computer
      * `agent_tool` - Your own agent tool used by your call center or retail store agent
      * `mobile_app` - An application installed on a phone or tablet device
      * `mobile_web` - A web browser application on a phone or tablet device
      * `meta` - Rates will be passed to and displayed on a 3rd party comparison website
      * `cache` - Rates will be used to populate a local cache
    required: true
    type: string
  sales_environment:
    in: query
    name: sales_environment
    description: |
      You must provide the sales environment in which rates will be sold. EPS dynamically provides the best content for optimal conversion. If you have a sales environment that is not currently supported in this list, please contact our support team.<br>
      * `hotel_package` - Use when selling the hotel with a transport product, e.g. flight & hotel.
      * `hotel_only` - Use when selling the hotel as an individual product.
      * `loyalty` - Use when you are selling the hotel as part of a loyalty program and the price is converted to points.
    required: true
    type: string
  sort_type:
    in: query
    name: sort_type
    description: |
      Order properties should be returned in. If the requested sort type cannot be applied, the response will include a Warning header indicating the results are unsorted.<br>
      * `preferred` - What we are paid impacts our sort order.
    required: true
    default: preferred
    type: string
  filter:
    in: query
    name: filter
    description: |
      Single filter type. Send multiple instances of this parameter to request multiple filters.<br>
      * `refundable` - Filters results to only show fully refundable rates.
      * `expedia_collect` - Filters results to only show rates where payment is collected by Expedia at the time of booking. These properties can be eligible for payments via Expedia Affiliate Collect(EAC).
      * `property_collect` - Filters results to only show rates where payment is collected by the property after booking. This can include rates that require a deposit by the property, dependent upon the deposit policies.

      Example: `filter=refundable&filter=expedia_collect`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - refundable
        - expedia_collect
        - property_collect
  ratePlanCount:
    in: query
    name: rate_plan_count
    type: number
    description: |
      The number of rates to return per property. The rate’s price determines which rates are returned e.g. a rateplancount=4 will return the lowest 4 rates, but the rates are not ordered from lowest to highest or vice versa in the response.  The lowest rate has been proven to provide the best conversion rate and so a value of 1 is recommended.

      The value must be greater than 0.
    required: true
  rate_option:
    in: query
    name: rate_option
    description: |
      Request specific rate options for each property. Send multiple instances of this parameter to request multiple rate options.
      Accepted values:<br>
      * `closed_user_group` - Return closed user group rates for each property. This feature must be enabled and requires a user to be logged in to request these rates.
      * `net_rates` - Return net rates for each property. This feature must be enabled to request these rates.
      * `cross_sell` - Identify if the traffic is coming from a cross sell booking. Where the traveler has booked another service (flight, car, activities...) before hotel.

      Example: `rate_option=closed_user_group&rate_option=net_rates`
    required: false
    type: array
    collectionFormat: multi
    items:
      type: string
      enum:
        - closed_user_group
        - net_rates
        - cross_sell

definitions:
  ChangeRoomDetailsRequest:
    type: object
    properties:
      given_name:
        description: First name of room guest.
        type: string
      family_name:
        description: Last name of room guest.
        type: string
      phone:
        $ref: "#/definitions/Phone"
      smoking:
        description: Specify if the guest would prefer a smoking room. This field is only a request and the property is not guaranteed to honor it, it will not override any non-smoking policies by the hotel. Defaults to false.
        type: boolean
      special_request:
        description: Special requests to send to hotel (not guaranteed). Do not use this field to communicate B2B customer service requests or pass any sensitive personal or financial information (PII).
        type: string
    example:
      given_name: John
      family_name: Smith
      phone:
        country_code: "1"
        area_code: "487"
        number: "5550077"
      smoking: false
      special_request: Top floor or away from street please

  PropertiesGeoJsonRequest:
    type: object
    description: GeoJSON geometry
    required:
      - type
      - coordinates
    externalDocs:
      url: https://tools.ietf.org/html/rfc7946
    properties:
      type:
        description: The geometry type. The only supported type is `Polygon`
        type: string
      coordinates:
        description: An array of coordinates forming a polygon.
        type: array
        minItems: 4
        items:
          description: A longitude, latitude coordinate.
          type: array
          maxItems: 2
          minItems: 2
          items:
            type: number
    example:
      type: Polygon
      coordinates: [[[-93.446782, 37.169329], [-93.4244, 37.169432], [-93.371097, 37.168636], [-93.376295, 37.139236], [-93.361419, 37.138634], [-93.347109, 37.100601], [-93.215792, 37.095905], [-93.215259, 37.138013], [-93.189332, 37.141503], [-93.191278, 37.333322], [-93.438268, 37.339372], [-93.446782, 37.169329]]]

  PaymentSessionsRequest:
    type: object
    required:
      - version
      - browser_accept_header
      - encoded_browser_metadata
      - preferred_challenge_window_size
      - merchant_url
      - customer_account_details
      - payments
    properties:
      version:
        description: The version of the EgPayments.js library.
        type: string
      browser_accept_header:
        description: The customer's browser accept header that was used in the booking request.
        type: string
      encoded_browser_metadata:
        description: Encoded browser metadata, provided by the EgPayments.js library.
        type: string
      preferred_challenge_window_size:
        description: |
          The preferred window size that needs to be displayed to the customer. Following are the possible values of this field:
            * `extra_small`: 250 x 400
            * `small`: 390 x 400
            * `medium`: 600 x 400
            * `large`: 500 x 600
            * `full_screen`: Full screen
        type: string
        enum:
          - extra_small
          - small
          - medium
          - large
          - full_screen
      merchant_url:
        description: Fully qualified URL of merchant website or customer care site.
        type: string
      customer_account_details:
        type: object
        properties:
          authentication_method:
            description: Mechanism used by the cardholder to authenticate to the merchant.
            type: string
            enum:
              - guest
              - own_credentials
              - federated_id
              - issuer_credentials
              - third_party_authentication
              - fido_authenticaton
          authentication_timestamp:
            description: "Date and time in UTC of the cardholder authentication, in extended ISO 8601 format."
            type: string
          create_date:
            description: "Date the cardholder opened the account with the merchant, in ISO 8601 format (YYYY-MM-DD)."
            type: string
          change_date:
            description: "Date the cardholder’s account with the merchant was last changed, including Billing or Shipping address, new payment account, or new user(s) added, in ISO 8601 format (YYYY-MM-DD)."
            type: string
          password_change_date:
            description: "Date the cardholder’s account with the merchant had a password change or account reset, in ISO 8601 format (YYYY-MM-DD)."
            type: string
          add_card_attempts:
            description: "Number of add card attempts in the last 24 hours."
            type: number
          account_purchases:
            description: "Number of purchases with this cardholder's account during the previous six months."
            type: number
      payments:
        type: array
        items:
          $ref: "#/definitions/EnrolledPayment"

    example:
      version: "1"
      browser_accept_header: "*/*"
      encoded_browser_metadata: ZW5jb2RlZF9icm93c2VyX21ldGFkYXRh
      preferred_challenge_window_size: medium
      merchant_url: https://server.adomainname.net
      customer_account_details:
        authentication_method: guest
        authentication_timestamp: "2018-02-12T11:59:00.000Z"
        create_date: "2018-09-15"
        change_date: "2018-09-17"
        password_change_date: "2018-09-17"
        add_card_attempts: 1
        account_purchases: 1
      payments:
        - type: customer_card
          card_type: VI
          number: "4111111111111111"
          security_code: "123"
          expiration_month: "08"
          expiration_year: "2025"
          billing_contact:
            given_name: John
            family_name: Smith
            email: smith@example.com
            phone:
              country_code: "1"
              area_code: "487"
              number: "5550077"
            address:
              line_1: 555 1st St
              line_2: 10th Floor
              line_3: Unit 12
              city: Seattle
              state_province_code: WA
              postal_code: "98121"
              country_code: US
          enrollment_date: "2018-09-15"

  CreateItineraryRequest:
    type: object
    required:
      - rooms
    properties:
      affiliate_reference_id:
        description: "Your unique reference value. This field supports a maximum of 28 characters and is required to be unique (if provided)."
        type: string
      hold:
        description: "Flag for placing a booking on hold. The booking will be released if the resume link is not followed within the hold period. Please refer to our Hold and Resume documentation."
        type: boolean
      rooms:
        type: array
        items:
          type: object
          required:
            - given_name
            - family_name
            - email
            - phone
            - smoking
          properties:
            title:
              description: "Honorific title of room guest."
              type: string
              enum:
                - Mr
                - Ms
                - Mrs
                - Miss
                - Master
                - Herr
                - Frau
                - Fraulein
                - Dr
                - Prof
                - Herr Dr
                - Frau Dr
                - Herr Prof
                - Frau Prof
                - M
                - Mme
                - Mlle
                - Mstr
                - Sig
                - Sig.ra
                - Sig.na
                - Dott
            given_name:
              description: "First name of room guest."
              type: string
            family_name:
              description: "Last name of room guest."
              type: string
            email:
              description: "Email address of room guest. Must adhere to standard email format."
              type: string
            phone:
              $ref: "#/definitions/Phone"
            smoking:
              description: "If the room guest would prefer a smoking room."
              type: boolean
            special_request:
              description: "Special requests to send to hotel (not guaranteed). Do not use this field to communicate B2B customer service requests or pass any sensitive personal or financial information (PII)."
              type: string
      payments:
        type: array
        description: Required if payment information prior to booking was not submitted. If register payments was called prior to this call, do not submit payment information again.
        items:
          $ref: "#/definitions/Payment"
      affiliate_metadata:
        description: "Field that stores up to 256 characters of additional metadata with the itinerary. Will be returned on all retrieve responses for this itinerary. The data must be in the format 'key1:value|key2:value|key3:value'."
        type: string
      tax_registration_number:
        description: "The customer's taxpayer identification number that is provided by the government to nationals or resident aliens. This number should be collected from individuals that pay taxes or participate in activities that provide revenue for one or more tax types.  Note: This value is only needed from Brazilian and Indian customers."
        type: string
      traveler_handling_instructions:
        description: Custom traveler handling instructions for the hotel. Do not include PCI sensitive data, such as credit card numbers, in this field.
        type: string
    example:
      affiliate_reference_id: 4480ABC
      hold: false
      rooms:
        - title: Mr
          given_name: John
          family_name: Smith
          email: john@example.com
          phone:
            country_code: "1"
            area_code: "487"
            number: "5550077"
          smoking: false
          special_request: Top floor or away from street please
      payments:
        - type: customer_card
          card_type: VI
          number: "4111111111111111"
          security_code: "123"
          expiration_month: "08"
          expiration_year: "2025"
          billing_contact:
            given_name: John
            family_name: Smith
            email: smith@example.com
            phone:
              country_code: "1"
              area_code: "487"
              number: "5550077"
            address:
              line_1: 555 1st St
              line_2: 10th Floor
              line_3: Unit 12
              city: Seattle
              state_province_code: WA
              postal_code: "98121"
              country_code: US
      affiliate_metadata: data_point_1:123|data_point2:This is data.
      tax_registration_number: "12345678910"
      traveler_handling_instructions: Please use the card provided for payment. Avoid cancelation as this is for a corporate traveler. Contact traveler if any issues.

  PropertyContent:
    type: object
    description: An individual property object in the map of property objects.
    properties:
      property_id:
        type: string
        description: Unique Expedia property ID.
      name:
        type: string
        description: Property name.
      address:
        type: object
        description: Container for the property's address information.
        properties:
          line_1:
            type: string
            description: Address line 1.
          line_2:
            type: string
            description: Address line 2.
          city:
            type: string
            description: City.
          state_province_code:
            type: string
            description: 2-letter or 3-letter state/province code for Australia, Canada and the USA.
          state_province_name:
            type: string
            description: Text name of the State/Province - more common for additional
              countries.
          postal_code:
            type: string
            description: Postal/zip code.
          country_code:
            type: string
            description: 2-letter country code, in ISO 3166-1 alpha-2 format.
          obfuscated:
            type: boolean
            description: Flag to indicate whether a property address requires obfuscation before the property has been booked. If true, only the city, province, and country of the address can be shown to the customer.
          localized:
            type: object
            description: Container for localized address information.
            properties:
              links:
                type: object
                description: Keyed by the language, a map of links to the property’s localized address(es) based on the primary language(s) spoken in the property’s country. Only languages supported by the Rapid API are provided.
                additionalProperties:
                  $ref: "#/definitions/Link"
      ratings:
        type: object
        description: Various types of ratings for this property.
        properties:
          property:
            type: object
            description: Information about the property's rating.
            properties:
              rating:
                type: string
                description: The rating assigned to this property. Returns a value between 0.0 and 5.0. A value of 0.0 or a blank value indicates no rating is available.
              type:
                type: string
                description: Returns a value of either "Star" or "Alternate". Star indicates the rating is provided by the property’s local star rating authority. Alternate indicates that the rating is an Expedia-assigned value; an official rating was not available.
          guest:
            type: object
            description: Rating information provided by guests who stayed at this property.
            properties:
              count:
                type: number
                description: A count of all of the guest review ratings which currently exist for this property.
              average:
                type: string
                description: Overall rating for the property averaged from all guest reviews. Returns a value between 1.0 and 5.0.
      location:
        type: object
        description: The property's location information.
        properties:
          coordinates:
            type: object
            description: The coordinates of the property.
            properties:
              latitude:
                type: number
              longitude:
                type: number
      phone:
        type: string
        description: The property's phone number.
      fax:
        type: string
        description: The property's fax number.
      category:
        type: object
        description: The property's category. See our [property categories reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known category ID and name values.
        properties:
          id:
            type: number
            description: The ID of the property's category.
          name:
            type: string
            description: The property's category.
      business_model:
        type: object
        description: How and when the payment can be taken.
        properties:
          expedia_collect:
            type: boolean
            description: Whether or not a payment for this property can be taken by Expedia at the time of booking.
          property_collect:
            type: boolean
            description: Whether or not a payment for this property can be taken by the property upon arrival.
      rank:
        type: number
        description: The property’s rank across all properties. This value sorts properties based on EPS transactional data and details about the property, with 1 indicating the best-performing property and others following in ascending numerical order.
      checkin:
        type: object
        description: The property's check-in information.
        properties:
          24_hour:
            type: string
            description: Present if the property has 24-hour check-in.
          begin_time:
            type: string
            description: The time at which a property begins to allow check-ins.
          end_time:
            type: string
            description: The time at which a property stops allowing check-ins.
          instructions:
            type: string
            description: The property's check-in policy.
          special_instructions:
            type: string
            description: Any special instructions for checking into this property that may be specific to this property.
          min_age:
            type: string
            description: The minimum age for a customer to be able to check-in at a property.
      checkout:
        type: object
        description: The property's check-out information.
        properties:
          time:
            type: string
            description: The time by which a guest must check out.
      fees:
        type: object
        description: Information related to a property's fees.
        properties:
          mandatory:
            type: string
            description: Describes resort fees and other mandatory taxes or charges. May describe which services are covered by any fees, such as fitness centers or internet access.
          optional:
            type: string
            description: Describes additional optional fees for items such as breakfast, wifi, parking, pets etc.
      policies:
        type: object
        description: Information about property policies that guests need to be aware of.
        properties:
          know_before_you_go:
            type: string
            description: Description of information that may be helpful when planning a trip to this property.
      attributes:
        type: object
        description: Attributes about the property. See our [attributes reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known attribute ID and name values.
        properties:
          general:
            type: object
            description: Lists all of the general attributes about the property.
            additionalProperties:
              $ref: "#/definitions/Attribute"
          pets:
            type: object
            description: Lists all of the pet attributes about the property.
            additionalProperties:
              $ref: "#/definitions/Attribute"
      amenities:
        type: object
        description: Lists all of the amenities available for all guests at the property. See our [amenities reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known amenity ID and name values.
        additionalProperties:
          $ref: "#/definitions/Amenity"
      images:
        type: array
        description: Contains all property images available.
        items:
          type: object
          description: An individual image. See our [image categories reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known caption and category values.
          properties:
            caption:
              type: string
              description: Image caption.
            hero_image:
              type: boolean
              description: Whether this image is a hero image or not.
            category:
              type: number
              description: The category of the image.
            links:
              type: object
              description: 'Contains urls for all of the image sizes available.  Sizes include: 70 px, 350 px, and 1,000 px'
              additionalProperties:
                $ref: "#/definitions/Link"
      onsite_payments:
        type: object
        description: The property’s accepted forms of payments when onsite. See our [onsite payment types reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known payment type ID and name values.
        properties:
          currency:
            type: string
            description: The currency accepted at the property.
          types:
            type: object
            description: The types of payments accepted at the property.
            additionalProperties:
              $ref: "#/definitions/PaymentType"
      rooms:
        type: object
        description: Information about all of the rooms at the property.
        additionalProperties:
          $ref: "#/definitions/RoomContent"
      rates:
        type: object
        description: Additional information about the rates offered by the property. This should be used in conjunction with the pricing and other rate-related information in shopping.
        additionalProperties:
          $ref: "#/definitions/RateContent"
      dates:
        type: object
        description: Dates about the property.
        properties:
          added:
            type: string
            description: The UTC date the property’s content was added to EPS, in ISO 8601 format
          updated:
            type: string
            description: The UTC date the property’s content was updated by EPS, in ISO 8601 format.
      descriptions:
        type: object
        description: Descriptions of a property.
        properties:
          amenities:
            type: string
            description: Describes general building amenities at the property.
          dining:
            type: string
            description: Describes dining accommodations at the property.
          renovations:
            type: string
            description: Describes any recent room or property renovations.
          national_ratings:
            type: string
            description: States the source of the property's star rating (such as a regional or national tourism agency) and any other ratings claimed.
          business_amenities:
            type: string
            description: Describes any business-specific amenities at the property, e.g. conference rooms.
          rooms:
            type: string
            description: Describes typical room amenities.
          attractions:
            type: string
            description: Nearby attractions/areas, often including distances from the property.
          location:
            type: string
            description: General location as entered by the property.
          headline:
            type: string
            description: A headline description for the property.
      statistics:
        type: object
        description: Statistics of the property, such as number of floors. See our [statistics reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known statistics ID and name values.
        additionalProperties:
          $ref: "#/definitions/Statistic"
      airports:
        type: object
        description: Airports related to the property.
        properties:
          preferred:
            type: object
            description: The preferred airport of the property.
            properties:
              iata_airport_code:
                type: string
                description: The airport's IATA code.
      registry_number:
        type: string
        description: The property's registry number required by some jurisdictions.
      themes:
        type: object
        description: Themes that describe the property. See our [themes reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known theme ID and name values.
        additionalProperties:
          $ref: "#/definitions/Theme"
      all_inclusive:
        type: object
        description: Information about the all-inclusive rate plans available at the property.
        properties:
          all_rate_plans:
            type: boolean
            description: Indicates if all rate plans at the property provide all-inclusive amenities.
          some_rate_plans:
            type: boolean
            description: Indicates if some, but not all, rate plans at the property provide all-inclusive amenities.
          details:
            type: string
            description: Details about amenities and services included in the all-inclusive rates.
      tax_id:
        type: string
        description: Tax ID.
      chain:
        $ref: "#/definitions/Chain"
      brand:
        $ref: "#/definitions/Brand"
      spoken_languages:
        type: object
        description: Languages spoken at the property.
        additionalProperties:
          $ref: "#/definitions/SpokenLanguage"
      multi_unit:
        type: boolean
        description: Boolean value indicating if a property is a multi-unit property.

  TraderAddress:
    type: object
    description: The trader address.
    properties:
      line_1:
        type: string
        description: First line of customer's street address.
        example: "555 1st St"
      line_2:
        type: string
        description: Second line of customer's street address.
        example: "10th Floor"
      line_3:
        type: string
        description: Third line of customer's street address.
        example: "Unit 12"
      city:
        type: string
        description: Customer's city.
        example: "Seattle"
      state_province_code:
        type: string
        description: Customer's state or province code.
        example: "WA"
      postal_code:
        type: string
        description: Customer's postal code.
        example: "98121"
      country_code:
        type: string
        description: Customer's country code, in two-letter ISO 3166-1 alpha-2 format.
        example: "US"

  TraderContactMessage:
    type: string
    description: The trader contact message.
    example: "This property is managed by a professional host. The provision of housing is linked to their trade, business or profession."

  TraderDetails:
    type: array
    description: An array of traders.
    items:
      type: object
      description: "Information of the professional entity that sells the property inventory or related services."
      properties:
        name:
          $ref: "#/definitions/TraderName"
        address:
          $ref: "#/definitions/TraderAddress"
        email:
          type: string
          description: The trader email address.
          example: "travel@support.expedia.com"
        phone:
          type: string
          description: The trader phone number.
          example: "0330-123-1235"
        contact_message:
          $ref: "#/definitions/TraderContactMessage"
        right_to_withdraw_message:
          $ref: "#/definitions/TraderRightToWithdrawMessage"

  TraderName:
    type: string
    description: The trader name.
    example: "Expedia"

  TraderRightToWithdrawMessage:
    type: string
    description: The trader right to withdraw message.
    example: "If you cancel your booking, you'll be subject to the property's cancellation policy.  
      In accordance with EU regulations about consumer rights, property booking services are not subject 
      to the right to withdraw."

  TraderTermsAndConditions:
    type: string
    description: The url linking to the full text terms and conditions.
    example: "https://www.expedia.com/terms_and_conditions"

  TripAdvisor:
    type: object
    description: An individual property object in the map of property objects.
    properties:
      property_id:
        type: string
        description: Unique Expedia property ID.
      tripadvisor_id:
        type: string
        description: Unique TripAdvisor property ID. Can be used for mapping properties across suppliers.
      rating:
        type: string
        description: TripAdvisor rating for the property. Returns a value between 1.0 and 5.0.
      count:
        type: number
        description: Number of TripAdvisor guest reviews for the property. Only provided when greater than zero.
      links:
        type: object
        description: Link to the TripAdvisor rating image. Display of the rating image is required per TripAdvisor’s contract.
        additionalProperties:
          $ref: "#/definitions/Link"

  GuestReviews:
    type: object
    description: A property's guest reviews.
    properties:
      verified:
        type: object
        description: Guest reviews which have been verified.
        properties:
          featured:
            $ref: "#/definitions/Review"
          recent:
            type: object
            description: A collection of the most recent guest reviews, in order, starting with the newest review.
            additionalProperties:
              $ref: "#/definitions/Review"

  Review:
    type: object
    description: A review object for a property.
    properties:
      verification_source:
        type: string
        description: Where this review has been verified from.
      title:
        type: string
        description: Title of this review.
      date_submitted:
        type: string
        description: When this review was made, in ISO 8601 format.
      rating:
        type: string
        description: The rating for this property given by the reviewer.
      reviewer_name:
        type: string
        description: The name of the person who wrote this review.
      text:
        type: string
        description: The text of the review itself.

  Error:
    type: object
    description: The overall class of error that occured.
    properties:
      type:
        description: The error type.
        type: string
      message:
        description: A human readable message giving details about this error.
        type: string
      fields:
        type: array
        description: Details about the specific fields that had an error.
        items:
          type: object
          description: An individual field that had an error.
          properties:
            name:
              type: string
              description: The field that had an error.
            type:
              type: string
              description: The type of the field that had an error.
            value:
              type: string
              description: The value of the field that had an error.
      errors:
        type: array
        description: An array of all the actual errors that occured.
        items:
          type: object
          description: An individual error.
          properties:
            type:
              type: string
              description: The error type.
            message:
              type: string
              description: A human readable message giving details about this error.
            fields:
              type: array
              description: Details about the specific fields that had an error.
              items:
                type: object
                description: An individual field that had an error.
                properties:
                  name:
                    type: string
                    description: The field that had an error.
                  type:
                    type: string
                    description: The type of the field that had an error.
                  value:
                    type: string
                    description: The value of the field that had an error.

  Region:
    type: object
    properties:
      id:
        type: string
        description: Region Id.
      type:
        type: string
        description: Region type.
      name:
        type: string
        description: Region name.
      name_full:
        type: string
        description: Full region name.
      descriptor:
        type: string
        description: Specific information about the region e.g. whether it covers surrounding areas for a city. Only present when relevant for a region. See our [region descriptors reference](https://developer.expediapartnersolutions.com/reference/geography-reference-lists-2-2/) for current known descriptor values.
      country_code:
        type: string
        description: Region country code (ISO-3166 ALPHA-2).
      coordinates:
        type: object
        properties:
          center_longitude:
            type: number
            description: Center Longitude.
          center_latitude:
            type: number
            description: Center Latitude.
          bounding_polygon:
            type: object
            properties:
              type:
                type: string
                description: Type of bounding polygon.
              coordinates:
                type: array
                description: An array of multiple polygon(s) that combine to make a full MultiPolygon in geojson format.
                items:
                  type: array
                  description: An array of polygon(s) that combine to make up a single Polygon in geojson format.  If there is more than one polygon at this level, the first is the outer boundary and the remaining polygons are interior rings or holes.
                  items:
                    type: array
                    description: An array of Points making up single polygon in geojson format.
                    items:
                      type: array
                      description: Individual coordinates as a geojson Point, in longitude, latitude order (x,y).
                      items:
                        type: number
      ancestors:
        type: array
        description: An array of the region's ancestors.
        items:
          type: object
          description: A region ancestor.
          properties:
            id:
              description: Id of ancestor region.
              type: string
            type:
              description: Region type of ancestor region.
              type: string
      descendants:
        type: object
        description: A map of the region types that contain direct descendants of the region.
        additionalProperties:
          type: array
          description: An array of region ids associated with the region type.
          items:
            type: string
      property_ids:
        type: array
        description: An array of associated property ids for the region.
        items:
          type: string
      property_ids_expanded:
        type: array
        description: An array of associated property ids within an expanded radius for the region.
        items:
          type: string

  Airport:
    type: object
    properties:
      iata_airport_code:
        type: string
        description: 3-character IATA airport code.
      name:
        type: string
        description: Airport name.
      name_full:
        type: string
        description: Full airport name.
      descriptor:
        type: string
        description: Specific information about the region e.g. whether it covers surrounding areas for a city. See our [region descriptors reference](https://developer.expediapartnersolutions.com/reference/geography-reference-lists-2-2/) for current known descriptor values.
      country_code:
        type: string
        description: Airport’s country code (ISO-3166 ALPHA-2).
      iata_airport_metro_code:
        type: string
        description: 3-character IATA airport metropolitan code of the metropolitan airport area.
      coordinates:
        properties:
          center_longitude:
            type: number
            description: Center longitude.
          center_latitude:
            type: number
            description: Center latitude.
      property_ids:
        type: array
        description: An array of property ids within a 20 km radius of the airport.
        items:
          type: string
      associated_region:
        description: City or multi-city typically associated with the airport.
        properties:
          id:
            type: string
            description: Region Id of the city or multi-city typically associated with the airport.
          type:
            type: string
            description: Region type of the associated region.
          name:
            type: string
            description: Region name of the associated region.
          name_full:
            type: string
            description: Full region name of the associated region.
          descriptor:
            type: string
            description: Specific information about the region e.g. whether it covers surrounding areas for a city. See our [region descriptors reference](https://developer.expediapartnersolutions.com/reference/geography-reference-lists-2-2/) for current known descriptor values.
          property_ids:
            type: array
            description: An array of property ids within the polygon of the associated region.
            items:
              type: string

  PropertyGeography:
    type: object
    description: A property object.
    properties:
      property_id:
        description: Unique Expedia property ID.
        type: string

  PropertyAvailability:
    allOf:
      - $ref: "#/definitions/PropertyAvailabilityWithoutScore"
      - type: object
        properties:
          score:
            description: A score to sort properties where the higher the value the better. It can be used to:<br>
              * Sort the properties on the response<br>
              * Sort properties across multiple responses in parallel searches for large regions<br>
            type: number

  PropertyAvailabilityWithoutScore:
    type: object
    description: The rooms and rates for a property.
    properties:
      property_id:
        description: Expedia property ID.
        type: string
      rooms:
        description: Array of objects containing room information.
        type: array
        items:
          type: object
          description: The room information.
          properties:
            id:
              description: Unique Identifier for a room type.
              type: string
            room_name:
              description: Name of the room type.
              type: string
            rates:
              description: Array of objects containing rate information.
              type: array
              items:
                type: object
                properties:
                  id:
                    description: Unique Identifier for a rate.
                    type: string
                  available_rooms:
                    description: >-
                      The number of bookable rooms remaining with this rate in EPS inventory. Use this value to create rules for urgency messaging to alert users to low availability on busy travel dates or at popular properties.

                      If the value returns as 2147483647 (max int value), the actual value could not be determined. Ensure your urgency messaging ignores such instances when returned.
                    type: number
                  refundable:
                    description: Indicates if the rate is fully refundable at the time of booking. Cancel penalties may still apply. Please refer to the cancel penalties section for reference.
                    type: boolean
                  fenced_deal:
                    description: >-
                      Indicates that a "Member Only Deal" discount has been applied to the rate.

                      Partners must be enabled to receive "Member Only Deals" to benefit from this parameter. If interested, partners should speak to their account representatives.

                      This parameter can be used to merchandise if a "Member Only Deal" has been applied which will help partners to drive loyalty. In addition, it can be used by OTA's to create an opaque but public shopping experience. These deals are expected to be messaged with the specific traveler program naming.
                    type: boolean
                  fenced_deal_available:
                    description: >-
                      Indicates if a "Member Only Deal" is available for this rate.
                    type: boolean
                  deposit_required:
                    description: If a deposit is required for the rate, this value will be `true`. A "deposit_policies" link will be included in this response to retrieve more information about the deposit, including amounts and timing.
                    type: boolean
                  merchant_of_record:
                    description: |
                      * `expedia` - Payment is taken by Expedia. The payment options avaliable can be discovered using the "payment-options" link in the response. This includes AFFILIATE_COLLECT payments.
                      * `property` - Payment is taken by the property.
                    type: string
                    enum:
                      - expedia
                      - property
                  amenities:
                    description: Room amenities.
                    type: object
                    additionalProperties:
                      $ref: "#/definitions/Amenity"
                  links:
                    type: object
                    description: A map of links, including links to request payment options and deposit policies.
                    properties:
                      payment_options:
                        $ref: "#/definitions/Link"
                      deposit_policies:
                        $ref: "#/definitions/Link"
                    additionalProperties:
                      $ref: "#/definitions/Link"
                  bed_groups:
                    type: object
                    description: A map of the room's bed groups.
                    additionalProperties:
                      $ref: "#/definitions/BedGroupAvailability"
                  cancel_penalties:
                    description: Array of `cancel_penalty` objects containing cancel penalty information. Will not be populated on non refundable.
                    type: array
                    items:
                      type: object
                      properties:
                        currency:
                          description: Currency of the amount object.
                          type: string
                        start:
                          description: Effective date and time of cancellation penalty in extended ISO 8601 format, with ±hh:mm timezone offset
                          type: string
                        end:
                          description: End date and time of cancellation penalty in extended ISO 8601 format, with ±hh:mm timezone offset
                          type: string
                        amount:
                          description: The monetary amount of the penalty.
                          type: string
                        nights:
                          description: Number of nights charged for as penalty.
                          type: string
                        percent:
                          description: Percentage of total booking charged for as penalty. A thirty percent penalty would be returned as 30%
                          type: string
                      required:
                        - currency
                  occupancy_pricing:
                    type: object
                    description: A map of room information by occupancy.
                    additionalProperties:
                      $ref: '#/definitions/RoomRate'
                  promotions:
                    description: Available promotions that apply to this rate.
                    type: object
                    properties:
                      value_adds:
                        description: A collection of value adds that apply to this rate.
                        type: object
                        additionalProperties:
                          $ref: "#/definitions/ValueAdd"
                      deal:
                        description: The deal that applies to this rate.
                        type: object
                        properties:
                          id:
                            description: Unique identifier for the deal.
                            type: string
                          description:
                            description: The description for the deal.
                            type: string
                required:
                  - id
                  - available_rooms
                  - refundable
                  - fenced_deal
                  - fenced_deal_available
                  - deposit_required
                  - merchant_of_record
                  - links
                  - occupancy_pricing
          required:
            - id
            - rates
      links:
        type: object
        description: A map of links, including links to request additional rates and recommendations.
        properties:
          additional_rates:
            $ref: "#/definitions/Link"
          recommendations:
            $ref: "#/definitions/Link"
        additionalProperties:
          $ref: "#/definitions/Link"
    required:
      - property_id
      - rooms

  RoomPriceCheck:
    type: object
    description: The price check response.
    required:
      - status
      - occupancy_pricing
      - links
    properties:
      status:
        description: Indicates matched when there is a price match with the shop response.
        type: string
        enum:
          - matched
          - price_changed
          - sold_out
      occupancy_pricing:
        type: object
        description: A map of room information by occupancy.
        additionalProperties:
          $ref: '#/definitions/RoomRate'
      links:
        type: object
        description: |
          A map of links, including links to continue booking this rate or to shop for additional rates.

          If this rate is still available for booking then a book link will be present if PSD2 is not a requirement for you or a payment_session link will be present if PSD2 is a requirement for you.
        properties:
          book:
            $ref: "#/definitions/Link"
          payment_session:
            $ref: "#/definitions/Link"
          additional_rates:
            $ref: "#/definitions/Link"
        additionalProperties:
          $ref: "#/definitions/Link"
      trader_information:
        type: object
        description: The professional entity or entities that sells the property inventory or related services.
        required:
          - terms_and_conditions
        properties:
          traders:
            $ref: "#/definitions/TraderDetails"
          terms_and_conditions:
            $ref: "#/definitions/TraderTermsAndConditions"

  RoomRate:
    type: object
    description: A map of room information by occupancy.
    properties:
      nightly:
        description: Array of arrays of amount objects. Each sub-array of amount objects represents a single night's charges
        type: array
        items:
          type: array
          items:
            type: object
            properties:
              type:
                description: |
                  The price breakout type.
                    * `base_rate` - The room rate without any taxes and fees applied.
                    * `tax_and_service_fee` - Tax recovery charges, service fees, and taxes. Ensure that you capture these values and display as:
                                              For Europe: "Tax Recovery Charges"
                                              All other regions: "Tax Recovery Charges and Service Fees"
                    * `extra_person_fee` - A per night fee that is charged by a hotel for additional adults over the nightly rate. This fee is included as part of the total.
                    * `compensation`
                    * `property_fee` - The property fee surcharge type must be displayed beginning on the initial hotel room selection page, immediately after your hotel search results page. This placement is required by the U.S. Federal Trade Commission (FTC).
                                       Display this surcharge as "Property Fee" on your room selection page, as described above, and in all subsequent price breakdowns for the following Points of Sale:
                                       * `US`
                                       * `Canada`
                                       * `Brazil`
                                       * `LATAM`
                    * `sales_tax` - Taxes that must be displayed by certain jurisdictional laws. Ensure that you capture these values and display as "Taxes".
                    * `adjustment` - This is the amount that the individual night have been adjusted/discounted.
                    * `recovery_charges_and_fees` - Tax recovery charges, service fees, and taxes. Ensure that you capture these values and display as:
                                                    For Europe: "Tax Recovery Charges"
                                                    All other regions: "Tax Recovery Charges and Service Fees"
                type: string
                enum:
                  - base_rate
                  - tax_and_service_fee
                  - extra_person_fee
                  - compensation
                  - property_fee
                  - sales_tax
                  - adjustment
                  - recovery_charges_and_fees
              value:
                description: The value of the amount object. Decimal point inline with correct precision.
                type: string
              currency:
                description: Currency of the amount object.
                type: string
            required:
              - type
              - value
              - currency
      stay:
        description: Array of amount objects. Details any charges that apply to the entire stay (not divided per-night). Any per-room adjustments are applied to the `base_rate` amount within this object.
        type: array
        items:
          type: object
          properties:
            type:
              description: The price breakout type.
              type: string
              enum:
                - base_rate
                - tax_and_service_fee
                - extra_person_fee
                - compensation
                - property_fee
                - sales_tax
                - adjustment
                - recovery_charges_and_fees
            value:
              description: The value of the amount object. Decimal point inline with correct precision.
              type: string
            currency:
              description: Currency of the amount object.
              type: string
          required:
            - type
            - value
            - currency
      totals:
        type: object
        properties:
          inclusive:
            description: |
              Provides the total price including taxes and fees.  This does not include hotel collected fees such as resort, mandatory taxes, and mandatory fees.
            type: object
            properties:
              billable_currency:
                type: object
                description: The amount in the billable currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                type: object
                description: The amount in the requested currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
          exclusive:
            type: object
            description: Provides the total price excluding taxes and fees.
            properties:
              billable_currency:
                type: object
                description: The amount in the billable currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                type: object
                description: The amount in the requested currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
          strikethrough:
            type: object
            description: Provides the tax exclusive total price with any hotel funded discounts added back. Can be used to merchandise the savings due to a discount.
            properties:
              billable_currency:
                description: The amount in the billable currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                description: The amount in the requested currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
          marketing_fee:
            type: object
            description: Provides the potential owed earnings per transaction.
            properties:
              billable_currency:
                description: The amount in the billable currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                description: The amount in the requested currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
          gross_profit:
            type: object
            description: Provides the estimated gross profit per transaction.
            properties:
              billable_currency:
                description: The amount in the billable currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                description: The amount in the requested currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
          minimum_selling_price:
            type: object
            description: Provides the minimum selling price.
            properties:
              billable_currency:
                description: The amount in the billable currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                description: The amount in the requested currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
        required:
          - inclusive
          - exclusive
      fees:
        type: object
        description: |
          The fees collected by the property. The values for each type of fee are the total for that type. The scope and frequency are provided to show how these totals were arrived at and are for informational purposes only.
        properties:
          mandatory_fee:
            description: A mandated fee collected by the property at check-in or check-out.
            type: object
            properties:
              billable_currency:
                type: object
                description: The amount in the billable currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                type: object
                description: The amount in the requested currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              scope:
                description: "The scope of the fee."
                type: string
                enum:
                  - unknown
                  - per_person
                  - per_room
                  - per_accommodation
                  - per_house
                  - per_apartment
                  - per_adult
              frequency:
                description: "The frequency of the fee."
                type: string
                enum:
                  - unknown
                  - per_night
                  - per_day
                  - per_stay
                  - per_week
                  - round_trip
                  - one_way
          resort_fee:
            type: object
            description: A fee charged for amenities and extras and collected by the property at check-in or check-out.
            properties:
              billable_currency:
                type: object
                description: The amount in the billable currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                type: object
                description: The amount in the requested currency.
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              scope:
                description: "The scope of the fee."
                type: string
                enum:
                  - unknown
                  - per_person
                  - per_room
                  - per_accommodation
                  - per_house
                  - per_apartment
                  - per_adult
              frequency:
                description: "The frequency of the fee."
                type: string
                enum:
                  - unknown
                  - per_night
                  - per_day
                  - per_stay
                  - per_week
                  - round_trip
                  - one_way
          mandatory_tax:
            type: object
            description: A mandated tax collected by the property at check-in or check-out.
            properties:
              billable_currency:
                description: The amount in the billable currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              request_currency:
                description: The amount in the requested currency.
                type: object
                properties:
                  value:
                    description: The value of the amount object. Decimal point inline with correct precision.
                    type: string
                  currency:
                    description: Currency of the amount object.
                    type: string
                required:
                  - value
                  - currency
              scope:
                description: "The scope of the fee."
                type: string
                enum:
                  - unknown
                  - per_person
                  - per_room
                  - per_accommodation
                  - per_house
                  - per_apartment
                  - per_adult
              frequency:
                description: "The frequency of the fee."
                type: string
                enum:
                  - unknown
                  - per_night
                  - per_day
                  - per_stay
                  - per_week
                  - round_trip
                  - one_way
    required:
      - nightly
      - stay
      - totals

  PaymentOption:
    type: object
    description: The payment option response.
    properties:
      affiliate_collect:
        type: object
        properties:
          name:
            description: Display name of payment option.
            type: string
      credit_card:
        type: object
        properties:
          card_options:
            type: array
            items:
              type: object
              properties:
                name:
                  description: Brand name for the accepted credit or debit card. Use this value to determine which cards to display on your checkout page.
                  type: string
                card_type:
                  description: Two-letter code used in credit or debit card bookings to indicate card type. Use this value in your booking request to ensure that the card is processed correctly, but do not use it to display the supported card brands on your checkout page. It's expected behavior for this value to vary for a given card's brand name.
                  type: string
                processing_country:
                  description: The country in which the payment will be processed.
                  type: string
              required:
                - name
                - card_type
          name:
            description: Display name of payment option.
            type: string
        required:
          - card_options

  DepositPolicy:
    type: object
    description: |
      The deposit policy response. Each payment will have one and only one of the fields named: nights, remainder, amount or percent.

      Each payment will also have one and only one due field.
    properties:
      nights:
        description: The number of nights that must be paid for as a deposit.
        type: string
      remainder:
        description: The full remaining balance must be paid as a deposit.
        type: boolean
      amount:
        description: The specific dollar amount that must be paid as a deposit.
        type: string
      percent:
        description: The percent of the total that must be paid as a deposit. Twenty percent would be sent back as 20%.
        type: string
      due:
        description: Due date, in ISO 8601 format
        type: string
    required:
      - due

  Payment:
    type: object
    required:
      - type
      - billing_contact
    properties:
      type:
        type: string
        description: "Identifier for the type of payment. If affiliate_collect, cardholder information is not required as EPS will not be processing the payment."
        enum:
          - "corporate_card"
          - "customer_card"
          - "virtual_card"
          - "affiliate_collect"
      card_type:
        type: string
        description: "The type of credit card that is being used. Obtain possible values from the Payment Options call. Required for credit card transactions."
      number:
        type: string
        description: "Card number. Required for credit card transactions."
      security_code:
        type: string
        description: "CVV/CSV code from the back of the customer's card. Required for credit card transactions."
      expiration_month:
        type: string
        description: "Two-digit month the credit card will expire. Required for credit card transactions."
      expiration_year:
        type: string
        description: "Year the credit card will expire. Required for credit card transactions."
      billing_contact:
        $ref: "#/definitions/BillingContact"

  EnrolledPayment:
    allOf:
      - $ref: "#/definitions/Payment"
      - type: object
        properties:
          enrollment_date:
            type: string
            description: "Date the payment account was enrolled in the cardholder's account with the merchant, in ISO 8601 format (YYYY-MM-DD)"

  BillingContact:
    type: object
    required:
      - given_name
      - family_name
      - email
      - phone
      - address
    properties:
      given_name:
        description: "First/given name of the payment type account holder."
        type: string
      family_name:
        description: "Last/family name of the payment type account holder."
        type: string
      email:
        description: "Email of the payment type account holder. Must adhere to standard email format."
        type: string
      phone:
        $ref: "#/definitions/Phone"
      address:
        type: object
        required:
          - line_1
          - city
          - country_code
        properties:
          line_1:
            description: "First line of customer's street address"
            type: string
          line_2:
            description: "Second line of customer's street address"
            type: string
          line_3:
            description: "Third line of customer's street address"
            type: string
          city:
            description: "Customer's city"
            type: string
          state_province_code:
            description: "Customer's state or province code"
            type: string
          postal_code:
            description: "Customer's postal code"
            type: string
          country_code:
            description: "Customer's country code, in two-letter ISO 3166-1 alpha-2 format"
            type: string

  Phone:
    type: object
    description: The entire phone number must be represented across the three fields in this object.
    required:
      - country_code
      - number
    properties:
      country_code:
        description: The numerical portion of the country code from the phone number. Do not include the leading '+' character.
        type: string
      area_code:
        description: The area code of the phone number.
        type: string
      number:
        description: The remaining digits of the phone number.
        type: string

  Amenity:
    type: object
    description: An individual amenity.
    properties:
      id:
        type: number
        description: Numeric identifier for the amenity.
      name:
        type: string
        description: Amenity name.
      value:
        type: string
        description: Amenity value.

  Attribute:
    type: object
    description: An individual attribute.
    properties:
      id:
        type: number
        description: Numeric identifier for the attribute.
      name:
        type: string
        description: Attribute name.
      value:
        type: string
        description: Attribute value.

  BedGroup:
    type: object
    description: An individual bed group.
    properties:
      id:
        type: string
        description: Unique identifier for a bed group.
      description:
        type: string
        description: This is a display ready description of a bed configuration for this room.
      configuration:
        type: array
        description: An array of bed configurations for this room.
        items:
          type: object
          description: An individual bed configuration.
          properties:
            type:
              type: string
              description: The type of this bed configuration in the room.
            size:
              type: string
              description: The size of this bed configuration in the room.
            quantity:
              type: number
              description: The number of this bed configuration in the room.

  BedGroupAvailability:
    type: object
    properties:
      links:
        type: object
        description: A map of links, including links to confirm pricing and availability for the selected rate.
        properties:
          price_check:
            $ref: "#/definitions/Link"
        additionalProperties:
          $ref: "#/definitions/Link"
      id:
        type: string
        description: Unique identifier for a bed group.
      description:
        type: string
        description: This is a display ready description of a bed configuration for this room.
      configuration:
        type: array
        description: 'The bed configuration for a given room. This array can be empty for the related bed group.'
        items:
          type: object
          properties:
            type:
              description: The type of bed.
              type: string
            size:
              description: The size of the bed.
              type: string
            quantity:
              description: The number of bed(s).
              type: number

  Statistic:
    type: object
    description: An individual statistic.
    properties:
      id:
        type: number
        description: Numeric identifier for the statistic.
      name:
        type: string
        description: Statistic name.
      value:
        type: string
        description: Statistic value.

  PaymentType:
    type: object
    description: An individual payment type.
    properties:
      id:
        type: number
        description: The identifier of the payment type.
      name:
        type: string
        description: The name of the payment type.

  Link:
    type: object
    description: An individual link.
    properties:
      method:
        type: string
        description: The request method used to access the link.
      href:
        type: string
        description: The URL for the link. This can be absolute or relative.
      expires:
        type: string
        description: If the link expires, this will be the UTC date the link will expire, in ISO 8601 format.

  RateContent:
    type: object
    description: An individual rate.
    properties:
      id:
        type: string
        description: Unique identifier for a rate.
      amenities:
        type: object
        description: This lists all of the Amenities available with a specific rate, including value adds, such as breakfast. See our [amenities reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known amenity ID and name values.
        additionalProperties:
          $ref: "#/definitions/Amenity"

  RoomContent:
    type: object
    description: An individual room.
    properties:
      id:
        type: string
        description: Unique identifier for a room type.
      name:
        type: string
        description: Room type name.
      descriptions:
        type: object
        description: Descriptions of a room.
        properties:
          overview:
            type: string
            description: Provides an overview of a room.
      amenities:
        type: object
        description: Lists all of the amenities available in the room. See our [amenities reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known amenity ID and name values.
        additionalProperties:
          $ref: "#/definitions/Amenity"
      images:
        type: array
        description: The room's images. Contains all room images available.
        items:
          type: object
          description: An individual image. See our [image categories reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known caption and category values.
          properties:
            hero_image:
              type: boolean
              description: Whether this image is a hero image or not.
            category:
              type: number
              description: The category of the image.
            links:
              type: object
              description: 'Contains urls for all of the image sizes available.  Sizes include: 70 px, 200px, 350 px, and 1,000 px'
              additionalProperties:
                $ref: "#/definitions/Link"
            caption:
              type: string
              description: The image caption.
      bed_groups:
        type: object
        description: A map of the room's bed groups.
        additionalProperties:
          $ref: "#/definitions/BedGroup"
      area:
        type: object
        description: Information about the area of the room.
        properties:
          square_meters:
            type: number
            description: The room's area, measured in square meters.
          square_feet:
            type: number
            description: The room's area, measured in square feet.
      views:
        type: object
        description: A map of the room views. See our [view reference](https://developer.expediapartnersolutions.com/reference/content-reference-lists-2-3/) for current known room view ID and name values.
        additionalProperties:
          $ref: "#/definitions/View"
      occupancy:
        type: object
        description: Occupancy information.
        properties:
          max_allowed:
            type: object
            description: Maximum occupancy counts.
            properties:
              total:
                type: number
                description: Total maximum occupancy allowed.
              children:
                type: number
                description: Maximum number of children allowed.
              adults:
                type: number
                description: Maximum number of adults allowed.
          age_categories:
            type: object
            description: Map of the age categories used to determine the maximum children and adult occupancy.
            additionalProperties:
              $ref: "#/definitions/AgeCategory"

  Theme:
    type: object
    description: An individual theme.
    properties:
      id:
        type: number
        description: Numeric identifier for the theme.
      name:
        type: string
        description: Theme name.

  SpokenLanguage:
    type: object
    description: An individual spoken language.
    properties:
      id:
        type: string
        description: The language code as a subset of BCP47 format, using the shortest ISO639 alpha language code and, optionally, ISO3166-1 alpha 2 country code.
      name:
        type: string
        description: Spoken language name.

  AgeCategory:
    type: object
    description: An age category.
    properties:
      name:
        type: string
        description: Age category name.
      minimum_age:
        type: number
        description: Age category minimum age.

  View:
    type: object
    description: An individual view.
    properties:
      id:
        type: number
        description: Numeric identifier for the view.
      name:
        type: string
        description: View name.

  Chain:
    type: object
    description: An individual chain.
    properties:
      id:
        type: number
        description: Chain id.
      name:
        type: string
        description: Chain name.
      brands:
        type: object
        description: Map of the chain's brands.
        additionalProperties:
          $ref: "#/definitions/Brand"

  Brand:
    type: object
    description: An individual brand.
    properties:
      id:
        type: number
        description: Brand id.
      name:
        type: string
        description: Brand name.

  ValueAdd:
    type: object
    description: An individual value add.
    properties:
      id:
        type: string
        description: Unique identifier for the value add promotion.
      description:
        type: string
        description: A localized description of the value add promotion.
    required:
      - id
      - description

  Conversations:
    type: object
    description: Details about initiating conversations.
    properties:
      links:
        type: object
        description: Contains urls for links to initiate conversations via EPS.
        additionalProperties:
          $ref: "#/definitions/Link"

  PaymentSessions:
    type: object
    description: The payment registration response.
    properties:
      payment_session_id:
        description: The registered payment session ID.
        type: string
      encoded_init_config:
        description: A base64 encoded object which contains configuration needed to perform device fingerprinting. It is used in conjunction with the provided Javascript library for PSD2.
        type: string
      links:
        type: object
        description: A map of links, including links to create a booking.
        properties:
          book:
            $ref: "#/definitions/Link"
        additionalProperties:
          $ref: "#/definitions/Link"
    required:
      - payment_session_id
      - encoded_init_config
      - links

  CompletePaymentSession:
    type: object
    description: The payment session response.
    properties:
      itinerary_id:
        description: The itinerary id.
        type: string
      links:
        type: object
        description: A map of links, including links to retrieve a booking, resume a held booking, or cancel a held booking.
        properties:
          retrieve:
            $ref: "#/definitions/Link"
          resume:
            $ref: "#/definitions/Link"
          cancel:
            $ref: "#/definitions/Link"
        additionalProperties:
          $ref: "#/definitions/Link"
        required:
          - retrieve
      trader_information:
        type: object
        description: The professional entity or entities that sells the property inventory or related services.
        required:
          - terms_and_conditions
        properties:
          traders:
            $ref: "#/definitions/TraderDetails"
          terms_and_conditions:
            $ref: "#/definitions/TraderTermsAndConditions"
    required:
      - itinerary_id
      - links

  Itinerary:
    type: object
    description: "The itinerary object."
    properties:
      itinerary_id:
        description: "The itinerary id."
        type: string
      property_id:
        description: "The property id."
        type: string
      links:
        description: These links will only appear on a held booking.
        type: object
        properties:
          resume:
            type: object
            description: The link to resume a held booking.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
          cancel:
            type: object
            description: The link to cancel a held booking.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
        additionalProperties:
          type: object
          properties:
            method:
              description: |
                The request method to indicate the desired action to be performed for a given resource.
              type: string
            href:
              description: |
                The relative URI for the specified method.
              type: string
          required:
            - method
            - href
      rooms:
        type: array
        items:
          type: object
          description: "The room information."
          properties:
            id:
              description: "The room id."
              type: string
            confirmation_id:
              description: "The confirmation ids."
              type: object
              properties:
                expedia:
                  description: "The expedia confirmation id."
                  type: string
                property:
                  description: "The property confirmation id."
                  type: string
            bed_group_id:
              type: string
              description: Unique identifier for a bed type.
            checkin:
              description: "The check-in date of the itinerary."
              type: string
            checkout:
              description: "The check-out date of the itinerary."
              type: string
            number_of_adults:
              description: "The number of adults staying in the room."
              type: number
            child_ages:
              description: "The ages of children for the room."
              type: array
              items:
                type: number
            given_name:
              description: "The first name of the main guest staying in the room."
              type: string
            family_name:
              description: "The last name of the main guest staying in the room."
              type: string
            status:
              description: "The booking status of the room."
              type: string
              enum:
                - pending
                - booked
                - canceled
            special_request:
              description: "Any special request info associated with the room."
              type: string
            smoking:
              description: "Indicates if the room is smoking or non-smoking."
              type: boolean
            rate:
              type: object
              description: "The rate information associated with the itinerary."
              properties:
                id:
                  description: "The id of the rate."
                  type: string
                merchant_of_record:
                  description: "The merchant responsible for collecting payment."
                  type: string
                  enum:
                    - expedia
                    - property
                refundable:
                  description: "Indicates whether the itinerary is refundable or not."
                  type: boolean
                cancel_refund:
                  description: "The refund information for cancelling the itinerary."
                  type: object
                  properties:
                    amount:
                      description: "The amount of the refund on cancelling the itinerary."
                      type: string
                    currency:
                      description: "The currency of the refund amount."
                      type: string
                amenities:
                  type: array
                  items:
                    description: "The amenity id associated with the itinerary."
                    type: number
                promotions:
                  description: Promotions that apply to the booked room.
                  type: object
                  properties:
                    value_adds:
                      type: object
                      description: Promotions provided by the property that add value to the stay, but don’t affect the booking price (i.e., ski lift tickets or premium wifi).
                      additionalProperties:
                        $ref: "#/definitions/ValueAdd"
                nightly:
                  type: array
                  items:
                    type: array
                    items:
                      type: object
                      description: "The nightly rates associated with the itinerary."
                      properties:
                        value:
                          description: "The amount of the nightly rate."
                          type: string
                        type:
                          description: "The type of the nightly rate."
                          type: string
                          enum:
                            - base_rate
                            - tax_and_service_fee
                            - extra_person_fee
                            - compensation
                            - property_fee
                            - sales_tax
                            - adjustment
                            - recovery_charges_and_fees
                        currency:
                          description: "The currency of the nightly rate."
                          type: string
                stay:
                  type: array
                  items:
                    type: object
                    description: "The stay rates associated with the itinerary."
                    properties:
                      value:
                        description: "The amount of the stay rate."
                        type: string
                      type:
                        description: "The type of the stay rate."
                        type: string
                        enum:
                          - base_rate
                          - tax_and_service_fee
                          - extra_person_fee
                          - compensation
                          - property_fee
                          - sales_tax
                          - adjustment
                          - recovery_charges_and_fees
                      currency:
                        description: "The currency of the stay rate."
                        type: string
                cancel_penalties:
                  type: array
                  items:
                    type: object
                    description: "The cancel penalties associated with the itinerary."
                    properties:
                      percent:
                        description: "The percentage of the cancel penalty. A thirty percent penalty would be returned as 30%."
                        type: string
                      start:
                        description: "The start date/time of the cancel penalty."
                        type: string
                      end:
                        description: "The end date/time of the cancel penalty."
                        type: string
                      amount:
                        description: "The monetary amount of the penalty."
                        type: string
                      currency:
                        description: "The currency of the cancel penalty."
                        type: string
                      nights:
                        description: "The number of nights that the cancel penalty applies to."
                        type: string
                deposit_policies:
                  type: array
                  items:
                    type: object
                    description: "The deposit policy associated with the itinerary."
                    properties:
                      nights:
                        description: "The number of nights required as deposit."
                        type: string
                      amount:
                        description: "The amount required as deposit."
                        type: string
                      percent:
                        description: "The required percent as deposit. A thirty percent deposit would be returned as 30%."
                        type: string
                      remainder:
                        description: "If the remainder is required as deposit."
                        type: boolean
                      due:
                        description: "The due date/time of the deposit."
                        type: string
                fees:
                  type: array
                  items:
                    type: object
                    description: "Any fees associated with the itinerary."
                    properties:
                      type:
                        description: "The type of fee."
                        type: string
                        enum:
                          - resort_fee
                          - mandatory_tax
                          - mandatory_fee
                      value:
                        description: "The amount of the fee."
                        type: string
                      currency:
                        description: "The currency of the fee."
                        type: string
                      scope:
                        description: "The scope of the fee."
                        type: string
                        enum:
                          - unknown
                          - per_person
                          - per_room
                          - per_accommodation
                          - per_house
                          - per_apartment
                          - per_adult
                      frequency:
                        description: "The frequency of the fee."
                        type: string
                        enum:
                          - unknown
                          - per_night
                          - per_day
                          - per_stay
                          - per_week
                          - round_trip
                          - one_way
              required:
                - id
                - merchant_of_record
                - refundable
                - nightly
                - fees
            links:
              type: object
              properties:
                cancel:
                  type: object
                  description: The link to cancel a room.
                  properties:
                    method:
                      description: |
                        The request method to indicate the desired action to be performed for a given resource.
                      type: string
                    href:
                      description: |
                        The relative URI for the specified method.
                      type: string
                  required:
                    - method
                    - href
                change:
                  type: object
                  description: The link to change a room's details.
                  properties:
                    method:
                      description: |
                        The request method to indicate the desired action to be performed for a given resource.
                      type: string
                    href:
                      description: |
                        The relative URI for the specified method.
                      type: string
                  required:
                    - method
                    - href
              required:
                - cancel
                - change
          required:
            - id
            - checkin
            - checkout
            - number_of_adults
            - given_name
            - family_name
            - status
            - smoking
            - links
      billing_contact:
        $ref: "#/definitions/BillingContact"
      adjustment:
        type: object
        description: "Any price adjustments associated with this itinerary."
        properties:
          value:
            description: "The amount of the adjustment."
            type: string
          type:
            description: "The type of the adjustment."
            type: string
          currency:
            description: "The currency of the adjustment."
            type: string
        required:
          - value
          - type
          - currency
      creation_date_time:
        description: "The creation date/time of the booking."
        type: string
      affiliate_reference_id:
        description: "Your unique reference value. This field supports a maximum of 28 characters and is required to be unique (if provided)."
        type: string
      affiliate_metadata:
        description: "Field that stores up to 256 characters of additional metadata with the itinerary, uniqueness is not required."
        type: string
      conversations:
        $ref: "#/definitions/Conversations"
      trader_information:
        type: object
        description: The professional entity or entities that sells the property inventory or related services.
        required:
          - terms_and_conditions
        properties:
          traders:
            $ref: "#/definitions/TraderDetails"
          terms_and_conditions:
            $ref: "#/definitions/TraderTermsAndConditions"
    required:
      - itinerary_id
      - creation_date_time

  ItineraryCreation:
    type: object
    description: The book response.
    properties:
      itinerary_id:
        description: The itinerary id.
        type: string
      links:
        type: object
        properties:
          retrieve:
            type: object
            description: The link to retrieve a booking.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
          resume:
            type: object
            description: The link to resume a held booking.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
          complete_payment_session:
            type: object
            description: The link to complete payment session if a challenge is issued.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
          cancel:
            type: object
            description: The link to cancel a held booking.
            properties:
              method:
                description: |
                  The request method to indicate the desired action to be performed for a given resource.
                type: string
              href:
                description: |
                  The relative URI for the specified method.
                type: string
            required:
              - method
              - href
      encoded_challenge_config:
        type: string
        description: |
          The challenge config that is required to perform payment challenge. This field will be available when payment challenge is needed.
      trader_information:
        type: object
        description: The professional entity or entities that sells the property inventory or related services.
        required:
          - terms_and_conditions
        properties:
          traders:
            $ref: "#/definitions/TraderDetails"
          terms_and_conditions:
            $ref: "#/definitions/TraderTermsAndConditions"
    required:
      - itinerary_id
      - links

responses:
  PropertyContent:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
      Link:
        type: string
        description: Contains a single link to get the immediate next page of results. If the link expires, there will be an `expires` link-extension that is the UTC date the link will expire, in ISO 8601 format.
      Pagination-Total-Results:
        type: number
        description: Contains the total number of property objects found.
    schema:
      type: object
      additionalProperties:
        $ref: "#/definitions/PropertyContent"
    examples:
      Single Property Example:
        12345:
          property_id: '12345'
          name: Test Property Name
          address:
            line_1: 123 Main St
            line_2: Apt A
            city: Springfield
            state_province_code: MO
            state_province_name: Missouri
            postal_code: '65804'
            country_code: US
            obfuscated: false
            localized:
              links:
                es-ES:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=12345
                fr-FR:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=fr-FR&include=address&property_id=12345
          ratings:
            property:
              rating: '3.5'
              type: Star
            guest:
              count: 48382
              average: '3.1'
          location:
            coordinates:
              latitude: 37.15845
              longitude: -93.26838
          phone: 1-417-862-0153
          fax: 1-417-863-7249
          category:
            id: 1
            name: Hotel
          rank: 42
          business_model:
            expedia_collect: true
            property_collect: false
          checkin:
            24_hour: "24-hour check-in"
            begin_time: 3:00 PM
            end_time: 11:00 PM
            instructions: Extra-person charges may apply and vary depending on hotel policy. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;br />
            special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
            min_age: '18'
          checkout:
            time: 11:00 AM
          fees:
            mandatory: '<p>You''ll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>'
            optional: 'Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li>           <li>Rollaway bed fee: USD 175 per night</li>'
          policies:
            know_before_you_go: 'Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian''s room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>'
          attributes:
            general:
              '3357':
                id: 3357
                name: Caters to adults only
              '2549':
                id: 2549
                name: No elevators
            pets:
              '51':
                id: 51
                name: Pets allowed
              '2809':
                id: 2809
                name: Dogs only
              '3321':
                id: 3321
                name: "Pet maximum weight in kg is - 24"
                value: 24
          amenities:
            '9':
              id: 9
              name: Fitness facilities
            '2820':
              id: 2820
              name: "Number of indoor pools - 10"
              value: 10
          images:
            -
              caption: Featured Image
              hero_image: true
              category: 3
              links:
                70px:
                  method: GET
                  href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
          onsite_payments:
            currency: USD
            types:
              '171':
                id: 171
                name: American Express
          rooms:
            '224829':
              id: '224829'
              name: Single Room
              descriptions:
                overview: '<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker,  room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />'
              amenities:
                '130':
                  id: 130
                  name: Refrigerator
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
              images:
                -
                  hero_image: true
                  category: 21001
                  links:
                    70px:
                      method: GET
                      href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
                  caption: Guestroom
              bed_groups:
                37321:
                  id: '37321'
                  description: 1 King Bed
                  configuration:
                    -
                      type: KingBed
                      size: King
                      quantity: 1
              area:
                square_meters: 20
                square_feet: 215
              views:
                4146:
                  id: 4146
                  name: Courtyard view
              occupancy:
                max_allowed:
                  total: 5
                  children: 2
                  adults: 4
                age_categories:
                  Adult:
                    name: Adult
                    minimum_age: 9
          rates:
            333abc:
              id: 333abc
              amenities:
                '2104':
                  id: 2104
                  name: Full Breakfast
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
          dates:
            added: '1998-07-19T05:00:00.000Z'
            updated: '2018-03-22T07:23:14.000Z'
          descriptions:
            amenities: Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.
            dining: Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.
            renovations: 'During renovations, the hotel will make every effort to minimize noise and disturbance.  The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:  <ul><li>Fitness facilities</li></ul>'
            national_ratings: For the benefit of our customers, we have provided a rating based on our rating system.
            business_amenities: Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.
            rooms: Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.
            attractions: 'Distances are calculated in a straight line from the property''s location to the point of interest or attraction, and may not reflect actual travel distance. <br /><br /> Distances are displayed to the nearest 0.1 mile and kilometer. <p>Sogo Department Store - 0.7 km / 0.4 mi <br />National Museum of Natural Science - 1.1 km / 0.7 mi <br />Shr-Hwa International Tower - 1.4 km / 0.8 mi <br />Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi <br />Taichung Metropolitan Opera House - 1.7 km / 1 mi <br />Tiger City Mall - 1.8 km / 1.1 mi <br />Maple Garden Park - 1.9 km / 1.2 mi <br />National Museum of Fine Arts - 2.1 km / 1.3 mi <br />Feng Chia University - 2.4 km / 1.5 mi <br />Bao An Temple - 2.5 km / 1.6 mi <br />Fengjia Night Market - 2.5 km / 1.6 mi <br />Zhonghua Night Market - 2.7 km / 1.7 mi <br />Chonglun Park - 2.9 km / 1.8 mi <br />Wan He Temple - 2.9 km / 1.8 mi <br />Chungyo Department Store - 3.1 km / 1.9 mi <br /></p><p>The nearest airports are:<br />Taichung (RMQ) - 12 km / 7.5 mi<br />Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi<br />Taipei (TSA-Songshan) - 135.5 km / 84.2 mi<br /></p><p></p>'
            location: This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store.  A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.
            headline: Near National Museum of Natural Science
          statistics:
            52:
              id: 52
              name: "Total number of rooms - 820"
              value: "820"
            54:
              id: 54
              name: "Number of floors - 38"
              value: "38"
          airports:
            preferred:
              iata_airport_code: "SGF"
          registry_number: 1350K014A0088300
          themes:
            2337:
              id: 2337
              name: "Luxury Hotel"
            2341:
              id: 2341
              name: "Spa Hotel"
          all_inclusive:
            all_rate_plans: true
            some_rate_plans: false
            details: "<p>This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply). </p><p><strong>Activities and facilities/equipment</strong><br />Land activities<ul><li>Fitness facilities</li></ul><br />Lessons/classes/games <ul><li>Pilates</li><li>Yoga</li></ul></p><p><strong>Entertainment</strong><ul><li>Onsite entertainment and activities</li><li>Onsite live performances</li></ul></p>"
          tax_id: 'AB-012-987-1234-01'
          chain:
            id: -6
            name: Hyatt Hotels
          brand:
            id: 2209
            name: Hyatt Place
          spoken_languages:
            'vi':
              id: 'vi'
              name: Vietnamese
          multi_unit: true
      Multiple Properties Example:
        12345:
          property_id: '12345'
          name: Test Property Name
          address:
            line_1: 123 Main St
            line_2: Apt A
            city: Springfield
            state_province_code: MO
            state_province_name: Missouri
            postal_code: '65804'
            country_code: US
            obfuscated: false
            localized:
              links:
                es-ES:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=12345
                fr-FR:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=fr-FR&include=address&property_id=12345
          ratings:
            property:
              rating: '3.5'
              type: Star
            guest:
              count: 48382
              average: '3.1'
          location:
            coordinates:
              latitude: 37.15845
              longitude: -93.26838
          phone: 1-417-862-0153
          fax: 1-417-863-7249
          category:
            id: 1
            name: Hotel
          rank: 42
          business_model:
            expedia_collect: true
            property_collect: false
          checkin:
            24_hour: "24-hour check-in"
            begin_time: 3:00 PM
            end_time: 11:00 PM
            instructions: Extra-person charges may apply and vary depending on hotel policy. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;br />
            special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
            min_age: '18'
          checkout:
            time: 11:00 AM
          fees:
            mandatory: '<p>You''ll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>'
            optional: 'Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li>           <li>Rollaway bed fee: USD 175 per night</li>'
          policies:
            know_before_you_go: 'Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian''s room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>'
          attributes:
            general:
              '3357':
                id: 3357
                name: Caters to adults only
              '2549':
                id: 2549
                name: No elevators
            pets:
              '51':
                id: 51
                name: Pets allowed
              '2809':
                id: 2809
                name: Dogs only
              '3321':
                id: 3321
                name: "Pet maximum weight in kg is - 24"
                value: 24
          amenities:
            '9':
              id: 9
              name: Fitness facilities
            '2820':
              id: 2820
              name: "Number of indoor pools - 10"
              value: 10
          images:
            -
              caption: Featured Image
              hero_image: true
              category: 3
              links:
                70px:
                  method: GET
                  href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
          onsite_payments:
            currency: USD
            types:
              '171':
                id: 171
                name: American Express
          rooms:
            '224829':
              id: '224829'
              name: Single Room
              descriptions:
                overview: '<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker,  room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />'
              amenities:
                '130':
                  id: 130
                  name: Refrigerator
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
              images:
                -
                  hero_image: true
                  category: 21001
                  links:
                    70px:
                      method: GET
                      href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
                  caption: Guestroom
              bed_groups:
                37321:
                  id: '37321'
                  description: 1 King Bed
                  configuration:
                    -
                      type: KingBed
                      size: King
                      quantity: 1
              area:
                square_meters: 20
                square_feet: 215
              views:
                4146:
                  id: 4146
                  name: Courtyard view
              occupancy:
                max_allowed:
                  total: 5
                  children: 2
                  adults: 4
                age_categories:
                  Adult:
                    name: Adult
                    minimum_age: 9
          rates:
            333abc:
              id: 333abc
              amenities:
                '2104':
                  id: 2104
                  name: Full Breakfast
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
          dates:
            added: '1998-07-19T05:00:00.000Z'
            updated: '2018-03-22T07:23:14.000Z'
          descriptions:
            amenities: Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.
            dining: Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.
            renovations: 'During renovations, the hotel will make every effort to minimize noise and disturbance.  The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:  <ul><li>Fitness facilities</li></ul>'
            national_ratings: For the benefit of our customers, we have provided a rating based on our rating system.
            business_amenities: Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.
            rooms: Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.
            attractions: 'Distances are calculated in a straight line from the property''s location to the point of interest or attraction, and may not reflect actual travel distance. <br /><br /> Distances are displayed to the nearest 0.1 mile and kilometer. <p>Sogo Department Store - 0.7 km / 0.4 mi <br />National Museum of Natural Science - 1.1 km / 0.7 mi <br />Shr-Hwa International Tower - 1.4 km / 0.8 mi <br />Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi <br />Taichung Metropolitan Opera House - 1.7 km / 1 mi <br />Tiger City Mall - 1.8 km / 1.1 mi <br />Maple Garden Park - 1.9 km / 1.2 mi <br />National Museum of Fine Arts - 2.1 km / 1.3 mi <br />Feng Chia University - 2.4 km / 1.5 mi <br />Bao An Temple - 2.5 km / 1.6 mi <br />Fengjia Night Market - 2.5 km / 1.6 mi <br />Zhonghua Night Market - 2.7 km / 1.7 mi <br />Chonglun Park - 2.9 km / 1.8 mi <br />Wan He Temple - 2.9 km / 1.8 mi <br />Chungyo Department Store - 3.1 km / 1.9 mi <br /></p><p>The nearest airports are:<br />Taichung (RMQ) - 12 km / 7.5 mi<br />Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi<br />Taipei (TSA-Songshan) - 135.5 km / 84.2 mi<br /></p><p></p>'
            location: This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store.  A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.
            headline: Near National Museum of Natural Science
          statistics:
            52:
              id: 52
              name: "Total number of rooms - 820"
              value: "820"
            54:
              id: 54
              name: "Number of floors - 38"
              value: "38"
          airports:
            preferred:
              iata_airport_code: "SGF"
          registry_number: 1350K014A0088300
          themes:
            2337:
              id: 2337
              name: "Luxury Hotel"
            2341:
              id: 2341
              name: "Spa Hotel"
          all_inclusive:
            all_rate_plans: true
            some_rate_plans: false
            details: "<p>This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply). </p><p><strong>Activities and facilities/equipment</strong><br />Land activities<ul><li>Fitness facilities</li></ul><br />Lessons/classes/games <ul><li>Pilates</li><li>Yoga</li></ul></p><p><strong>Entertainment</strong><ul><li>Onsite entertainment and activities</li><li>Onsite live performances</li></ul></p>"
          tax_id: 'AB-012-987-1234-01'
          chain:
            id: -6
            name: Hyatt Hotels
          brand:
            id: 2209
            name: Hyatt Place
          spoken_languages:
            'vi':
              id: 'vi'
              name: Vietnamese
          multi_unit: true
        67890:
          property_id: '67890'
          name: Test Property Name 2
          address:
            line_1: 123 Main St
            line_2: Apt A
            city: Springfield
            state_province_code: MO
            state_province_name: Missouri
            postal_code: '65804'
            country_code: US
            obfuscated: false
            localized:
              links:
                es-ES:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=es-ES&include=address&property_id=67890
                de-DE:
                  method: GET
                  href: https://api.ean.com/2.3/properties/content?language=de-DE&include=address&property_id=67890
          ratings:
            property:
              rating: '3.5'
              type: Star
            guest:
              count: 7651
              average: '4.3'
          location:
            coordinates:
              latitude: 37.15845
              longitude: -93.26838
          phone: 1-417-862-0153
          fax: 1-417-863-7249
          category:
            id: 1
            name: Hotel
          rank: 42
          business_model:
            expedia_collect: true
            property_collect: true
          checkin:
            24_hour: "24-hour check-in"
            begin_time: 3:00 PM
            end_time: 11:00 PM
            instructions: Extra-person charges may apply and vary depending on hotel policy. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;br />
            special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
            min_age: '18'
          checkout:
            time: 11:00 AM
          fees:
            mandatory: '<p>You''ll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>'
            optional: 'Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li>           <li>Rollaway bed fee: USD 175 per night</li>'
          policies:
            know_before_you_go: 'Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian''s room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>'
          attributes:
            general:
              '3357':
                id: 3357
                name: Caters to adults only
              '2549':
                id: 2549
                name: No elevators
            pets:
              '51':
                id: 51
                name: Pets allowed
              '2809':
                id: 2809
                name: Dogs only
              '3321':
                id: 3321
                name: "Pet maximum weight in kg is - 24"
                value: 24
          amenities:
            '9':
              id: 9
              name: Fitness facilities
            '2820':
              id: 2820
              name: "Number of indoor pools - 10"
              value: 10
          images:
            -
              caption: Featured Image
              hero_image: true
              category: 3
              links:
                70px:
                  method: GET
                  href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
          onsite_payments:
            currency: USD
            types:
              '171':
                id: 171
                name: American Express
          rooms:
            '224829':
              id: '224829'
              name: Single Room
              descriptions:
                overview: '<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker,  room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />'
              amenities:
                '130':
                  id: 130
                  name: Refrigerator
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
              images:
                -
                  hero_image: true
                  category: 21001
                  links:
                    70px:
                      method: GET
                      href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
                  caption: Guestroom
              bed_groups:
                37321:
                  id: '37321'
                  description: 1 King Bed
                  configuration:
                    -
                      type: KingBed
                      size: King
                      quantity: 1
              area:
                square_meters: 17
              views:
                4134:
                  id: 4134
                  name: City view
              occupancy:
                max_allowed:
                  total: 3
                  children: 2
                  adults: 3
                age_categories:
                  ChildAgeA:
                    name: ChildAgeA
                    minimum_age: 3
          rates:
            333abc:
              id: 333abc
              amenities:
                '2104':
                  id: 2104
                  name: Full Breakfast
                '1234':
                  id: 1234
                  name: "Test Amenity - 200"
                  value: "200"
          dates:
            added: '1998-07-20T05:00:00.000Z'
            updated: '2018-03-22T13:33:17.000Z'
          descriptions:
            amenities: Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.
            dining: Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.
            renovations: 'During renovations, the hotel will make every effort to minimize noise and disturbance.  The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:  <ul><li>Fitness facilities</li></ul>'
            national_ratings: For the benefit of our customers, we have provided a rating based on our rating system.
            business_amenities: Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.
            rooms: Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.
            attractions: 'Distances are calculated in a straight line from the property''s location to the point of interest or attraction, and may not reflect actual travel distance. <br /><br /> Distances are displayed to the nearest 0.1 mile and kilometer. <p>Sogo Department Store - 0.7 km / 0.4 mi <br />National Museum of Natural Science - 1.1 km / 0.7 mi <br />Shr-Hwa International Tower - 1.4 km / 0.8 mi <br />Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi <br />Taichung Metropolitan Opera House - 1.7 km / 1 mi <br />Tiger City Mall - 1.8 km / 1.1 mi <br />Maple Garden Park - 1.9 km / 1.2 mi <br />National Museum of Fine Arts - 2.1 km / 1.3 mi <br />Feng Chia University - 2.4 km / 1.5 mi <br />Bao An Temple - 2.5 km / 1.6 mi <br />Fengjia Night Market - 2.5 km / 1.6 mi <br />Zhonghua Night Market - 2.7 km / 1.7 mi <br />Chonglun Park - 2.9 km / 1.8 mi <br />Wan He Temple - 2.9 km / 1.8 mi <br />Chungyo Department Store - 3.1 km / 1.9 mi <br /></p><p>The nearest airports are:<br />Taichung (RMQ) - 12 km / 7.5 mi<br />Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi<br />Taipei (TSA-Songshan) - 135.5 km / 84.2 mi<br /></p><p></p>'
            location: This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store.  A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.
            headline: Near National Museum of Natural Science
          statistics:
            52:
              id: 52
              name: "Total number of rooms - 820"
              value: "820"
            54:
              id: 54
              name: "Number of floors - 38"
              value: "38"
          airports:
            preferred:
              iata_airport_code: "SGF"
          registry_number: 2350K014A089723
          themes:
            2337:
              id: 2337
              name: "Luxury Hotel"
            2341:
              id: 2341
              name: "Spa Hotel"
          all_inclusive:
            all_rate_plans: true
            some_rate_plans: false
            details: "<p>This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply). </p><p><strong>Activities and facilities/equipment</strong><br />Land activities<ul><li>Fitness facilities</li></ul><br />Lessons/classes/games <ul><li>Pilates</li><li>Yoga</li></ul></p><p><strong>Entertainment</strong><ul><li>Onsite entertainment and activities</li><li>Onsite live performances</li></ul></p>"
          tax_id: 'CD-012-987-1234-02'
          chain:
            id: -5
            name: Hilton Worldwide
          brand:
            id: 358
            name: Hampton Inn
          spoken_languages:
            'en':
              id: 'en'
              name: English
          multi_unit: true
      Multiple Properties With include=property_ids Example:
        12345:
          property_id: '12345'
        67890:
          property_id: '67890'

  TripAdvisor:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: object
      additionalProperties:
        $ref: "#/definitions/TripAdvisor"
    examples:
      Single Property Example:
        6089359:
          property_id: '6089359'
          tripadvisor_id: '9734856'
          rating: '4.5'
          count: 531
          links:
            rating_image:
              method: GET
              href: http://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/4.5-39958-4.png
      Multiple Properties Example:
        6089359:
          property_id: '6089359'
          tripadvisor_id: '9734856'
          rating: '4.5'
          count: 531
          links:
            rating_image:
              method: GET
              href: http://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/4.5-39958-4.png
        9658263:
          property_id: '9658263'
          tripadvisor_id: '9283423'
          rating: '3.5'
          count: 20
          links:
            rating_image:
              method: GET
              href: http://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/3.5-39958-4.png

  GuestReviews:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/GuestReviews"
    examples:
      Example:
        verified:
          featured:
            verification_source: Expedia verified Review
            title: Definitely staying again
            date_submitted: '2019-02-11T18:19:40Z'
            rating: '5'
            reviewer_name: Bill
            text: Staff very helpful and friendly. Pool was 18 meters deep, very strange.
          recent:
            -
              verification_source: Expedia verified Review
              title: Pool much too deep
              date_submitted: '2019-02-10T11:15:01Z'
              rating: '2'
              reviewer_name: Gregory
              text: Bottom of the 18 meter pool was too scary. Staff were nice though.

  PropertyContent400Error:
    description: Invalid Input
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: language.required
            message: 'A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
          - type: language.above_maximum
            message: The number of languages passed in must not be greater than 1.
            fields:
              - name: language
                type: querystring
          - type: language.not_supported
            message: 'Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
                value: xXX
          - type: property_id.must_be_numeric
            message: All provided property_id query parameters must be numeric (contains only digits 0-9, with no other characters).
            fields:
              - name: property_id
                type: querystring
                value: abc
              - name: property_id
                type: querystring
                value: 123adsf
          - type: property_id.above_maximum
            message: A maximum of 250 property_id query parameters may be provided to this request.
            fields:
              - name: property_id
                type: querystring

  PropertyContent404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: property.not_found
        message: Content information for the requested properties could not be found.

  PropertyContent410Error:
    description: Gone
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: link.expired
        message: The link you followed has expired. Please build a new request to restart pagination.

  TripAdvisor400Error:
    description: Invalid Input
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: property_id.required
            message: At least one property_id is required.
            fields:
              - name: property_id
                type: querystring
          - type: property_id.must_be_numeric
            message: All provided property_id query parameters must be numeric (contains only digits 0-9, with no other characters).
            fields:
              - name: property_id
                type: querystring
                value: abc
              - name: property_id
                type: querystring
                value: 123adsf
          - type: property_id.above_maximum
            message: A maximum of 250 property_id query parameters may be provided to this request.
            fields:
              - name: property_id
                type: querystring

  TripAdvisor404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Property Not Found:
        type: property.not_found
        message: The requested properties could not be found.
      TripAdvisor Not Found:
        type: tripadvisor.not_found
        message: TripAdvisor information for the requested properties could not be found.

  GuestReviews400Error:
    description: Invalid Input
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: language.required
            message: 'A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
          - type: language.above_maximum
            message: The number of languages passed in must not be greater than 1.
            fields:
              - name: language
                type: querystring
          - type: language.not_supported
            message: 'Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
                value: xXX

  GuestReviews404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: guest_reviews.not_found
        message: The requested guest reviews could not be found.

  PropertyCatalogFile:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Link"
    examples:
      Example:
        method: GET
        href: "https://example.com/propertycatalog.jsonl.gz?amz-security-token=FQoDYXdzEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDD%2FiIFt2RCrdJKrkKSK3A2ncL3qC6SsXLyC3XxgRBGKykCfsfF40Jm8ud6ht6C1LB3q9X0maQCHyXV5gSl9g9hrHtOiC5fnihUQBASMAbOsepEKCfS%2B%2FWDrKAr5lTR%2FptslJxQs6v5GTO7G3R6PYIKFG%2FFgQydd8bEB2njMjynyvgXNgEPsb%2FVuiDC1K%2BMhvoRAguXo4QHQgOVVRXXmbl87j0Ih6s5ffI3yfIvEBnmEfdLdd2E5yPHuIO%2FOItXYxEc0vgipvlT41PylYtS8rhgc3MKqJO4Uw7yNPMlbphdxy6TJzQRJW15o9TaHrFBBYvWrtfcMewOlLYu6N6R1EGQhT9Ayok9J2oKzFJ%2FSbMNmVUsHReM7v1chuY7XNGld9bKeu0xFjDth%2BcEHrjkqhyxBc2pBINvk8LT9uPOCykqbuc2OWlCpNtQyahPnxpdPMW4WEbIFaWUNHWj0ui507CN2useZBYfGIST94KEtJFlpZRB0ntz%2BxmWRSnPYG3K47meFS9cthMsYH1rxIdDei2W49TQbjnVIXY2RldvO2JaTKtYPJT85ds9W71R0s4t9LSgY%2BZ9kaLjF%2BLk7PGKIhBbLowqKRBBUozOf2zAU%3D&AWSAccessKeyId=ASIAIZYRJJGNLGQGVLDA&Expires=1503512048&Signature=p7V%2BTN6rZMiVaz6MxqU%2F4YHYkw8%3D"
        expires: '2019-03-05T07:23:14.000Z'

  PropertyContentFile:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Link"
    examples:
      Example:
        method: GET
        href: "https://example.com/propertycontent.jsonl.gz?amz-security-token=FQoDYXdzEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDD%2FiIFt2RCrdJKrkKSK3A2ncL3qC6SsXLyC3XxgRBGKykCfsfF40Jm8ud6ht6C1LB3q9X0maQCHyXV5gSl9g9hrHtOiC5fnihUQBASMAbOsepEKCfS%2B%2FWDrKAr5lTR%2FptslJxQs6v5GTO7G3R6PYIKFG%2FFgQydd8bEB2njMjynyvgXNgEPsb%2FVuiDC1K%2BMhvoRAguXo4QHQgOVVRXXmbl87j0Ih6s5ffI3yfIvEBnmEfdLdd2E5yPHuIO%2FOItXYxEc0vgipvlT41PylYtS8rhgc3MKqJO4Uw7yNPMlbphdxy6TJzQRJW15o9TaHrFBBYvWrtfcMewOlLYu6N6R1EGQhT9Ayok9J2oKzFJ%2FSbMNmVUsHReM7v1chuY7XNGld9bKeu0xFjDth%2BcEHrjkqhyxBc2pBINvk8LT9uPOCykqbuc2OWlCpNtQyahPnxpdPMW4WEbIFaWUNHWj0ui507CN2useZBYfGIST94KEtJFlpZRB0ntz%2BxmWRSnPYG3K47meFS9cthMsYH1rxIdDei2W49TQbjnVIXY2RldvO2JaTKtYPJT85ds9W71R0s4t9LSgY%2BZ9kaLjF%2BLk7PGKIhBbLowqKRBBUozOf2zAU%3D&AWSAccessKeyId=ASIAIZYRJJGNLGQGVLDA&Expires=1503512048&Signature=p7V%2BTN6rZMiVaz6MxqU%2F4YHYkw8%3D"
        expires: '2019-03-05T07:23:14.000Z'

  PropertyCatalogFile400Error:
    description: Invalid Input
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: language.required
            message: 'A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
          - type: language.above_maximum
            message: The number of languages passed in must not be greater than 1.
            fields:
              - name: language
                type: querystring
          - type: language.not_supported
            message: 'Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
                value: xXX

  PropertyContentFile400Error:
    description: Invalid Input
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: language.required
            message: 'A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
          - type: language.above_maximum
            message: The number of languages passed in must not be greater than 1.
            fields:
              - name: language
                type: querystring
          - type: language.not_supported
            message: 'Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]'
            fields:
              - name: language
                type: querystring
                value: xXX

  ItineraryRetrievalResponse:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Itinerary"
    examples:
      Example:
        itinerary_id: "8999989898988"
        property_id: "8150374"
        links:
          cancel:
            method: DELETE
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
        rooms:
          - id: "926784314"
            confirmation_id:
              expedia: "1234567890"
              property: "BEF23123AA"
            bed_group_id: "d395b56d-d31d-4a84-ad2b-66820b1d48e2"
            checkin: "2018-09-21"
            checkout: "2018-09-23"
            number_of_adults: 2
            child_ages: [2,3]
            given_name: Givenne
            family_name: Nameo
            status: booked
            special_request: Please give me extra towels.
            smoking: false
            rate:
              id: "035943984"
              merchant_of_record: expedia
              refundable: true
              cancel_refund:
                amount: "-65.98"
                currency: USD
              amenities: [12345,678, 9999]
              promotions:
                value_adds:
                  123abc:
                    id: "123abc"
                    description: 10 USD credit on activities and sports for your stay.
                  3x4mp13:
                    id: "3x4mp13"
                    description: 20% discount on theme park tickets purchased through the concierge desk.
              nightly:
                -
                  - value: "111.23"
                    type: base_rate
                    currency: USD
              stay:
                - value: "123.45"
                  type: base_rate
                  currency: USD
              cancel_penalties:
                - percent: "30%"
                  start: "2018-01-01T01:01:01.000-08:00"
                  end: "2018-12-12T01:01:01.000-08:00"
                  amount: "250.75"
                  currency: USD
                  nights: "2"
              deposit_policies:
                - amount: "220.75"
                  due: "2018-12-12T01:01:01.000-08:00"
              fees:
                - type: resort_fee
                  value: "20.75"
                  currency: USD
                  scope: per_accommodation
                  frequency: per_day
            links:
              cancel:
                method: DELETE
                href: /2.3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
              change:
                method: PUT
                href: /2.3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
        billing_contact:
          given_name: John
          family_name: Smith
          email: smith@example.com
          phone:
            country_code: "1"
            area_code: "487"
            number: "5550077"
          address:
            line_1: 555 1st St
            line_2: 10th Floor
            line_3: Unit 12
            city: Seattle
            state_province_code: WA
            postal_code: "98121"
            country_code: US
        adjustment:
          value: "-100.00"
          type: base_rate
          currency: USD
        creation_date_time: "2017-08-17T13:31:15.523Z"
        affiliate_reference_id: 4480ABC
        affiliate_metadata: This booking was made with EPS.
        conversations:
          links:
            property:
              method: GET
              href: https://www.example.com?key=123abd456

  File404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: file.not_found
        message: The requested file could not be found.
        fields:
          - name: filename
            type: path
            value: file.jsonl.gz

  Error401:
    description: Unauthorized
    headers:
      WWW-Authenticate:
        type: string
        description: Provides an example of the Authorization header.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: request_unauthenticated
        message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
        fields:
          - name: apikey
            type: header
            value: jaj3982k239dka328e
          - name: signature
            type: header
            value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
          - name: timestamp
            type: header
            value: 198284729
          - name: servertimestamp
            type: server
            value: 198284729

  Error403:
    description: Forbidden
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: request_unauthorized
        message: Your request could not be authorized.

  Regions410Error:
    description: Gone
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: link.expired
        message: The link that you followed has expired and this paginated session is now gone. Please restart the regions call from the beginning.

  Error426:
    description: Upgrade Required
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: upgrade_required
        message: This service requires the use of TLS.

  Error429:
    description: Too Many Requests
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: too_many_requests
        message: You have reached your capacity for this type of request.

  Error500:
    description: Unknown Internal Error
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: unknown_internal_error
        message: An internal server error has occurred.

  Paginated500Error:
    description: Internal Error
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: internal_error
        message: An internal server error has occurred. Please discard any previously received results in this pagination and restart the pagination from the beginning.

  Error503:
    description: Service Unavailable
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: service_unavailable
        message: This service is currently unavailable.

  PropertyAvailability400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: checkin.invalid_date_format
            message: 'Invalid checkin format. It must be formatted in ISO 8601 (YYYY-mm-dd) http://www.iso.org/iso/catalogue_detail?csnumber=40874.'
            fields:
              - name: checkin
                type: querystring
                value: 2019-01-1
          - type: number_of_occupancies.invalid_above_maximum
            message: 'Number of occupancies must be less than 9.'
            fields:
              - name: occupancy
                type: querystring
                value: '9'

  BadRequestInvalidInput400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: checkin.invalid_date_format
            message: 'Invalid checkin format. It must be formatted in ISO 8601 (YYYY-mm-dd) http://www.iso.org/iso/catalogue_detail?csnumber=40874.'
            fields:
              - name: checkin
                type: querystring
                value: 2019-01-1

  PropertyAvailability404Error:
    description: No availability found.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Error:
        type: availability.not_found
        message: No availability was found for the properties requested.

  PaymentSessions400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: payments.required
            message: 'Payment is required.'
            fields:
              - name: payments
                type: body

  Itineraries400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Invalid Country Code Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: address.country_code.invalid
            message: 'Address country code is invalid.'
            fields:
              - name: country_code
                type: body
                value: ABCD
      Duplicate Itinerary Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: duplicate_itinerary
            message: 'An itinerary already exists with this affiliate reference id.'
            fields:
              - name: affiliate_reference_id
                type: body
                value: ABCD

  Retrieve400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: email.invalid
            message: 'Customer email address is invalid.'
            fields:
              - name: email
                type: querystring
                value: thisisabademail

  PriceMismatch409Error:
    description: Price Mismatch
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: price_mismatch
        message: Payment amount did not match current price, please check price and try again.
        fields:
          - name: payments.amount
            type: body
            value: "100.00"
          - name: price.amount
            type: body
            value: "120.00"

  SoldOut410Error:
    description: Sold Out
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: rooms_unavailable
        message: One or more requested rooms are unavailable.

  ItineraryNotFound404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: resource_not_found
        message: Itinerary was not found with provided request.

  RapidInvalidRequest400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: link.invalid
            message: 'Link is invalid.'

  Cancel400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Link Invalid Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: link.invalid
            message: 'Link is invalid.'
      Room Already Cancelled Example:
        type: room_already_cancelled
        message: Room is already cancelled.

  Region:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Region"
    examples:
      Region:
        id: '178309'
        type: multi_city_vicinity
        name: Saint Louis, Missouri
        name_full: Saint Louis, Missouri, United States of America
        descriptor: and vicinity
        country_code: US
        coordinates:
          center_longitude: -93.26344
          center_latitude: 36.638264
          bounding_polygon:
            type: MultiPolygon
            coordinates: [[[[-90.859069,38.503453],[-90.853202,38.508207],[-90.81246,38.493525],[-90.845915,38.481057],[-90.857717,38.48231],[-90.859069,38.503453]]],[[[-90.907324,38.796858],[-90.895084,38.852815],[-90.793246,38.824804],[-90.800455,38.809497],[-90.905098,38.77501],[-90.907324,38.796858]]],[[[-90.160125,38.456535],[-90.153095,38.455189],[-90.153836,38.465606],[-90.149344,38.465929],[-90.149547,38.47438],[-90.153305,38.474261],[-90.160125,38.456535]]]]
        ancestors: [{id: '201', type: country}]
        descendants:
          high_level_region: ['6330730']
          city: ['10014', '9975']
        property_ids: ['37242', '859343']
        property_ids_expanded: ['37242', '859343', '48972']

  Regions:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
      Link:
        type: string
        description: Contains a single link to get the immediate next page of results. If the link expires, there will be an `expires` link-extension that is the UTC date the link will expire, in ISO 8601 format.
    schema:
      type: object
      description: A map of region ids to regions.
      additionalProperties:
        $ref: "#/definitions/Region"
    examples:
      Regions:
        '602962':
          id: '602962'
          type: multi_city_vicinity
          name: Springfield
          name_full: Springfield, Missouri, United States of America
          descriptor: and vicinity
          country_code: US
          coordinates:
            center_longitude: -93.310036
            center_latitude: 37.227924
            bounding_polygon:
              type: Polygon
              coordinates: [[[-93.446782,37.169329],[-93.4244,37.169432],[-93.371097,37.168636],[-93.376295,37.139236],[-93.361419,37.138634],[-93.347109,37.100601],[-93.215792,37.095905],[-93.215259,37.138013],[-93.189332,37.141503],[-93.191278,37.333322],[-93.438268,37.339372],[-93.446782,37.169329]]]
          ancestors: [{id: '227', type: province_state}, {id: '201', type: country}, {id: '500001', type: continent}]
          descendants:
            point_of_interest: ['6064841', '6064853']
        '6064841':
          id: '6064841'
          type: point_of_interest
          name: American National Fish and Wildlife Museum
          name_full: American National Fish and Wildlife Museum, Springfield, Missouri, United States of America
          country_code: US
          coordinates:
            center_longitude: -93.29635
            center_latitude: 37.1826
          ancestors: [{id: '602962', type: multi_city_vicinity}, {id: '227', type: province_state}, {id: '201', type: country}, {id: '500001', type: continent}]
        '6064853':
          id: '6064853'
          type: point_of_interest
          name: Hammons Field
          name_full: Hammons Field, Springfield, Missouri, United States of America
          country_code: US
          coordinates:
            center_longitude: -93.2785
            center_latitude: 37.21079
          ancestors: [{id: '602962', type: multi_city_vicinity}, {id: '227', type: province_state}, {id: '201', type: country}, {id: '500001', type: continent}]

  Airport:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Airport"
    examples:
      Airport:
        iata_airport_code: ORD
        name: Chicago, IL (ORD-O'Hare Intl.)
        name_full: Chicago, IL, United States (ORD-O'Hare Intl.)
        descriptor: and vicinity
        country_code: US
        iata_airport_metro_code: CHI
        coordinates:
          center_longitude: -87.904785
          center_latitude: 41.97693
        property_ids: ['5532143', '8069454', '8277961', '22592', '5546779']
        associated_region:
          id: '178248'
          type: multi_city_vicinity
          name: Chicago
          name_full: Chicago, Illinois, United States of America
          descriptor: and vicinity
          property_ids: ['5532143', '8069454', '8277961', '22592', '5546779']

  Airports:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: object
      description: A map of airport IATA codes to airports.
      additionalProperties:
        $ref: "#/definitions/Airport"
    examples:
      Airports:
        ORD:
          iata_airport_code: ORD
          name: Chicago, IL (ORD-O'Hare Intl.)
          name_full: Chicago, IL, United States (ORD-O'Hare Intl.)
          descriptor: and vicinity
          country_code: US
          iata_airport_metro_code: CHI
          coordinates:
            center_longitude: -87.904785
            center_latitude: 41.97693
          property_ids: ['5532143', '8069454', '8277961', '22592', '5546779']
          associated_region:
            id: '178248'
            type: multi_city_vicinity
            name: Chicago
            name_full: Chicago, Illinois, United States of America
            descriptor: and vicinity
            property_ids: ['5532143', '8069454', '8277961', '22592', '5546779']
        LHR:
          iata_airport_code: LHR
          name: London (LHR-Heathrow)
          name_full: London, United Kingdom (LHR-Heathrow)
          descriptor: and vicinity
          country_code: GB
          iata_airport_metro_code: LON
          coordinates:
            center_longitude: -0.449753
            center_latitude: 51.47088
          property_ids: ['5532143', '8069454', '8277961', '22592', '5546779']
          associated_region:
            id: '178279'
            type: multi_city_vicinity
            name: London
            name_full: London, England, United Kingdom
            descriptor: and vicinity
            property_ids: ['8301777', '918764', '890123']

  PropertiesGeography:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: object
      description: A map of property ids to property objects.
      additionalProperties:
        $ref: "#/definitions/PropertyGeography"
    examples:
      Properties Geography:
        '34347':
          property_id: '34347'
        '9777':
          property_id: '9777'
        '1223181':
          property_id: '1223181'
        '430764':
          property_id: '430764'

  Regions400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: include.invalid
            message: 'Include is invalid. Accepted include values are: [details, property_ids, property_ids_expanded, standard]'
            fields:
              - name: include
                type: querystring
                value: STANDARD

  Regions404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: regions.not_found
        message: No regions could be found.
        fields:
          - name: ancestor_id
            type: querystring
            value: '29384729424'

  Region400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: include.invalid
            message: 'Include is invalid. Accepted include values are: [details, property_ids, property_ids_expanded]'
            fields:
              - name: include
                type: querystring
                value: DETAILS

  Region404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: region.not_found
        message: The requested region could not be found.
        fields:
          - name: region_id
            type: path
            value: '29384729424'

  Polygon400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: polygon.coordinates_required
            message: 'The polygon must have coordinates.'

  Airport400Error:
    description: Bad Request
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: invalid_input
        message: An invalid request was sent in, please check the nested errors for details.
        errors:
          - type: include.invalid
            message: 'Include is invalid. Accepted include values are:  [associated_region_property_ids, details, property_ids]'
            fields:
              - name: include
                type: querystring
                value: DETAILS

  Airport404Error:
    description: Not Found
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/Error"
    examples:
      Example:
        type: airport.not_found
        message: The requested airport could not be found.
        fields:
          - name: iata_airport_code
            type: path
            value: XYZ

  Chains:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: object
      additionalProperties:
        $ref: "#/definitions/Chain"
    examples:
      Example:
        -5:
          id: -5
          name: 'Hilton Worldwide'
          brands:
            33:
              id: 33
              name: 'Doubletree'
            2146:
              id: 2146
              name: 'Conrad'
            358:
              id: 358
              name: 'Hampton Inn'
            38:
              id: 38
              name: 'Embassy Suites'
            4615:
              id: 4615
              name: 'Tapestry Collection by Hilton'
            4138:
              id: 4138
              name: 'Tru by Hilton'
            2059:
              id: 2059
              name: 'Hilton Garden Inn'
            2608:
              id: 2608
              name: 'Home2 Suites by Hilton'
            2513:
              id: 2513
              name: 'Hilton Grand Vacations'
            2194:
              id: 2194
              name: 'Waldorf Astoria'
            54:
              id: 54
              name: 'Homewood Suites'
            55:
              id: 55
              name: 'Hilton Hotels'
            2199:
              id: 2199
              name: 'Hilton International'
            3000:
              id: 3000
              name: 'Curio Collection'
        2102:
          id: 2102
          name: 'MGM'
          brands:
            2102:
              id: 2102
              name: 'MGM'
        4445:
          id: 4445
          name: 'Studios 2 Let'
          brands:
            4498:
              id: 4498
              name: 'Studios 2 Let'
        6325:
          id: 6325
          name: 'Isla Bonita'
          brands:
            6399:
              id: 6399
              name: 'Isla Bonita'
        6200:
          id: 6200
          name: 'Urban Dream Hotels'
          brands:
            6325:
              id: 6325
              name: 'Urban Dream Hotels'

  DepositPolicies:
    description: 'OK'
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: array
      items:
        $ref: '#/definitions/DepositPolicy'
    examples:
      DepositPolicies:
        - nights: '3'
          due: '2025-02-20'
        - amount: '70.00'
          due: '2025-12-21'
        - percent: '90%'
          due: '2025-02-19'
        - remainder: true
          due: '2025-03-01'

  PropertyAvailability:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      type: array
      items:
        $ref: "#/definitions/PropertyAvailability"
    examples:
      Example:
        - property_id: "19248"
          rooms:
            - id: 123abc
              room_name: Fancy Queen Room
              rates:
                - id: 333abc
                  available_rooms: 12
                  refundable: true
                  fenced_deal: true
                  fenced_deal_available: true
                  deposit_required: true
                  merchant_of_record: expedia
                  amenities:
                    1234:
                      id: "1234"
                      name: Free Wireless Internet
                  links:
                    payment_options:
                      method: GET
                      href: /2.3/properties/19248/payment-options?token=MY5S3j36cOcL
                    deposit_policies:
                      method: GET
                      href: /2.3/properties/19248/deposit-policies?token=MY5S3j36cOcL
                  bed_groups:
                    12345:
                      links:
                        price_check:
                          method: GET
                          href: /2.3/properties/19248/rooms/abc123/rates/abc123/price-check?token=MY5S3j36cOcL
                      id: '12345'
                      description: 1 Queen Bed
                      configuration:
                        - type: Bed
                          size: Queen
                          quantity: 1
                  cancel_penalties:
                    - currency: USD
                      start: "2018-02-12T11:59:00.000-08:00"
                      end: "2018-02-12T11:59:00.000-08:00"
                      amount: "10.00"
                      nights: "1"
                      percent: "30%"
                  occupancy_pricing:
                    2:
                      nightly:
                        - - type: base_rate
                            value: "309.00"
                            currency: CAD
                          - type: tax_and_service_fee
                            value: "37.00"
                            currency: CAD
                        - - type: base_rate
                            value: "309.00"
                            currency: CAD
                          - type: tax_and_service_fee
                            value: "37.00"
                            currency: CAD
                      stay:
                        - type: extra_person_fee
                          value: "10.00"
                          currency: CAD
                      totals:
                        inclusive:
                          billable_currency:
                            value: "702.00"
                            currency: CAD
                          request_currency:
                            value: "530.00"
                            currency: USD
                        exclusive:
                          billable_currency:
                            value: "628.00"
                            currency: CAD
                          request_currency:
                            value: "475.00"
                            currency: USD
                        strikethrough:
                          billable_currency:
                            value: "650.00"
                            currency: CAD
                          request_currency:
                            value: "490.00"
                            currency: USD
                        marketing_fee:
                          billable_currency:
                            value: "15.00"
                            currency: CAD
                          request_currency:
                            value: "10.00"
                            currency: USD
                        gross_profit:
                          billable_currency:
                            value: "15.00"
                            currency: CAD
                          request_currency:
                            value: "10.00"
                            currency: USD
                        minimum_selling_price:
                          billable_currency:
                            value: "702.00"
                            currency: CAD
                          request_currency:
                            value: "530.00"
                            currency: USD
                      fees:
                        mandatory_fee:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                        resort_fee:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                        mandatory_tax:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                    1-7,10:
                      nightly:
                        - - type: base_rate
                            value: "309.00"
                            currency: CAD
                          - type: tax_and_service_fee
                            value: "37.00"
                            currency: CAD
                        - - type: base_rate
                            value: "309.00"
                            currency: CAD
                          - type: tax_and_service_fee
                            value: "37.00"
                            currency: CAD
                      stay:
                        - type: extra_person_fee
                          value: "10.00"
                          currency: CAD
                      totals:
                        inclusive:
                          billable_currency:
                            value: "702.00"
                            currency: CAD
                          request_currency:
                            value: "530.00"
                            currency: USD
                        exclusive:
                          billable_currency:
                            value: "628.00"
                            currency: CAD
                          request_currency:
                            value: "475.00"
                            currency: USD
                        strikethrough:
                          billable_currency:
                            value: "650.00"
                            currency: CAD
                          request_currency:
                            value: "490.00"
                            currency: USD
                        marketing_fee:
                          billable_currency:
                            value: "15.00"
                            currency: CAD
                          request_currency:
                            value: "10.00"
                            currency: USD
                        gross_profit:
                          billable_currency:
                            value: "15.00"
                            currency: CAD
                          request_currency:
                            value: "10.00"
                            currency: USD
                        minimum_selling_price:
                          billable_currency:
                            value: "702.00"
                            currency: CAD
                          request_currency:
                            value: "530.00"
                            currency: USD
                      fees:
                        mandatory_fee:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                        resort_fee:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                        mandatory_tax:
                          billable_currency:
                            value: "5.00"
                            currency: CAD
                          request_currency:
                            value: "3.00"
                            currency: USD
                          scope: per_person
                          frequency: per_day
                  promotions:
                    value_adds:
                      123abc:
                        id: "123abc"
                        description: "10 USD credit on activities and sports for your stay."
                    deal:
                      id: "999abc"
                      description: "Book early and save 15%"
          links:
            additional_rates:
              method: GET
              href: /2.3/properties/12345/availability?token=MY5S3j36cOcL
            recommendations:
              method: GET
              href: /2.3/properties/6471/recommendations?token=abcdef
          score: 10052

  RoomPriceCheck:
    description: OK
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/RoomPriceCheck"
    examples:
      Example:
        status: matched
        occupancy_pricing:
          2:
            nightly:
              - - type: base_rate
                  value: "309.00"
                  currency: CAD
                - type: tax_and_service_fee
                  value: "37.00"
                  currency: CAD
            totals:
              inclusive:
                billable_currency:
                  value: "346.00"
                  currency: CAD
                request_currency:
                  value: "261.00"
                  currency: USD
              exclusive:
                billable_currency:
                  value: "309.00"
                  currency: CAD
                request_currency:
                  value: "230.00"
                  currency: USD
            fees:
              mandatory_fee:
                billable_currency:
                  value: "5.00"
                  currency: CAD
                request_currency:
                  value: "3.00"
                  currency: USD
                scope: per_person
                frequency: per_day
        links:
          book:
            method: POST
            href: /2.3/itineraries?token=MY5S3j36cOcL

  PriceChanged409:
    description: 'Price Changed'
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/RoomPriceCheck"
    examples:
      Example:
        status: price_changed
        occupancy_pricing:
          1234:
            nightly:
              type: base_rate
              value: '90.00'
              currency: USD
            stay:
              type: base_rate
              value: '90.00'
              currency: USD
            totals:
              inclusive:
                billable_currency:
                  value: '215.00'
                  currency: USD
                request_currency:
                  value: '215.00'
                  currency: USD
              exclusive:
                billable_currency:
                  value: '215.00'
                  currency: USD
                request_currency:
                  value: '215.00'
                  currency: USD
              strikethrough:
                billable_currency:
                  value: '215.00'
                  currency: USD
                request_currency:
                  value: '215.00'
                  currency: USD
              marketing_fee:
                billable_currency:
                  value: '215.00'
                  currency: USD
                request_currency:
                  value: '215.00'
                  currency: USD
              gross_profit:
                billable_currency:
                  value: "15.00"
                  currency: CAD
                request_currency:
                  value: "10.00"
                  currency: USD
              minimum_selling_price:
                billable_currency:
                  value: '215.00'
                  currency: USD
                request_currency:
                  value: '215.00'
                  currency: USD
            fees:
              mandatory_fee:
                billable_currency:
                  value: '8.50'
                  currency: EUR
                request_currency:
                  value: '10.00'
                  currency: USD
                scope: per_person
                frequency: per_day
        links:
          additional_rates:
            method: GET
            href: /2.3/properties/1234/availability?token=REhZAQsABAMGQggMV1pFAV1YVA5cZhBYEgNKH1RGEVEQUAoOBwlVVBlVCEkFUxVZWgZAFAVbABgMC0RXRx=
          book:
            method: POST
            href: /2.3/itineraries?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m

  PriceCheckSoldOut410Error:
    description: 'Sold Out'
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/RoomPriceCheck"
    examples:
      Example:
        status: sold_out
        links:
          shop:
            method: GET
            href: /2.3/properties/1234/availability?token=REhZAQsABAMGQggMV1pFAV1YVA5cZhBYEgNKH1RGEVEQUAoOBwlVVBlVCEkFUxVZWgZAFAVbABgMC0RXRx=

  PaymentOptions:
    description: 'OK'
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: '#/definitions/PaymentOption'
    examples:
      PaymentOptions:
        affiliate_collect:
          name: Affiliate Collect
        credit_card:
          name: Credit Card
          card_options:
            - name: AmericanExpress
              card_type: AX
            - name: MasterCard
              card_type: CA
              processing_country: US

  PaymentSessions:
    description: Created
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/PaymentSessions"
    examples:
      PaymentSession:
        payment_session_id: 76d6aaea-c1d5-11e8-a355-529269fb1459
        encoded_init_config: QSBiYXNlNjQgZW5jb2RlZCBvYmplY3Qgd2hpY2ggY29udGFpbnMgY29uZmlndXJhdGlvbiBuZWVkZWQgdG8gcGVyZm9ybSBkZXZpY2UgZmluZ2VycHJpbnRpbmcgYW5kL29yIDNEUyBNZXRob2Qu
        links:
          book:
            method: POST
            href: /2.3/itineraries?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m

  ItineraryCreationResponse:
    description: Created
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/ItineraryCreation"
    examples:
      Create Without Hold (No Challenge) Example:
        itinerary_id: "8999989898988"
        links:
          retrieve:
            method: GET
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
      Create With Hold (No Challenge) Example:
        itinerary_id: "8999989898988"
        links:
          retrieve:
            method: GET
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
          resume:
            method: PUT
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
          cancel:
            method: DELETE
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
      Create (Payment Challenged) Example:
        itinerary_id: "8999989898988"
        links:
          complete_payment_session:
            method: PUT
            href: /2.3/itineraries/8999989898988/payment-sessions?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
        encoded_challenge_config: ABElifsiejfacies2@033asfe=

  ResumeBooking:
    description: No Content - Held booking has successfully resumed.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  ResumeBookingUnknown:
    description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been resumed properly.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  CancelBooking:
    description: No Content - Booking has successfully canceled.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  CancelBookingUnknown:
    description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been canceled properly.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  CompletePaymentSession:
    description: Payment Session Completed
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
    schema:
      $ref: "#/definitions/CompletePaymentSession"
    examples:
      Booking Not Held Example:
        itinerary_id: "8999989898988"
        links:
          retrieve:
            method: GET
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
      Booking Held Example:
        itinerary_id: "8999989898988"
        links:
          retrieve:
            method: GET
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
          resume:
            method: PUT
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
          cancel:
            method: DELETE
            href: /2.3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m

  CancelRoom:
    description: No Content - Booking has successfully canceled.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  CancelRoomUnknown:
    description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been canceled properly.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  ChangeRoomDetails:
    description: No Content - Booking has successfully changed.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.

  ChangeRoomDetailsUnknown:
    description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been changed properly.
    headers:
      Rate-Limit-Day:
        type: number
        description: Reserved for future use. Optional header for request capacity per day.
      Rate-Limit-Day-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the daily time window.
      Rate-Limit-Day-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets.
      Rate-Limit-Minute:
        type: number
        description: Reserved for future use. Optional header for request capacity per minute.
      Rate-Limit-Minute-Remaining:
        type: number
        description: Optional header for the remaining capacity, as a percentage, for the per minute time window.
      Rate-Limit-Minute-Reset:
        type: number
        description: Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets.
      Rate-Limit-Reduction-Status:
        type: string
        description: Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used.
