/booking_sync_v7
          
Booking "sync" requests are sent by adding /booking_sync to your endpoint and sending the parameters explained below in a POST request.
The purpose of the "booking_sync" API call is to update TripAdvisor with the full set of changes to bookings that have occurred on the hotel/property system.
The "booking_sync" API call is made daily to verify which bookings actually took place as expected, or conversely which bookings were cancelled or modified.
For example, if a cancellation is made over the phone to the hotel, the booking_sync mechanism would let TripAdvisor know that a reservation was cancelled.
If "booking_cancel" or "booking_sync" API calls were not implemented, it would be up to the individual hotel/property to inform TripAdvisor that a cancellation was made, which they would need to communicate through the Instant Booking dashboard in their TripAdvisor Management Center.
If a booking has been cancelled, the original rate must be returned in the response. This also covers the case where there has been a cancellation fee charged.
In a case where a booking has been modified, the new rate must be returned in the response. (This rate must not include any charges applied to have the booking modified.)
 
Example:
- Booking in December for stay dates March 24th - March 28th, $400 base rate.
- Modification made on March 23rd to change stay March 24th - March 27th, which results in a $300 base rate.
- The response to the "booking_sync" call must contain the data March 24th - March 27th, with a $300 base rate.
- If there was a $20 modification fee applied it should be included in the "fees" part of the "booking_sync" repsonse, but the $300 must remain as the base rate.
Request
ContentType: application/json
[
  {
      "partner_hotel_code": "sfssc1",
      "reservation_id": "AB0005"
  },
  {
      "partner_hotel_code": "sfssc1",
      "reservation_id": "AB0006"
  }
]
Properties
| Type | Description | 
| array | A JSON array of hotel code/reservation id pairs. | 
Response
ContentType: application/json
[
  {
    "partner_hotel_code": "sfssc1",
    "reservation_id": "AB0005",
    "status": "CheckedOut",
    "checkin_date": "2014-10-28",
    "checkout_date": "2014-10-29",
    "total_rate":
    {
      "amount":100,
      "currency":"USD"
    },
    "total_taxes":
    {
      "amount":20,
      "currency":"USD"
    },
    "total_fees":
    {
      "amount":10,
      "currency":"USD"
    }
  },
  {
      "partner_hotel_code": "sfssc1",
      "reservation_id": "AB0006",
      "status": "Cancelled",
      "cancelled_date":"2014-10-20",
      "cancellation_number":"12345678"
  }
] 
Properties
The response is a JSON array echoing the request objects and returning the pertinent reservation data. If the reservation is found, all fields appropriate to the status should be returned (e.g. checkin_date if status is CheckedIn, cancelled_date and cancellation_number if status is Cancelled). If no taxes or fees are to be paid, a Price object with an amount of 0 should still be passed.
| Field | Type | Description | 
| reservation_id | string | Echo the reservation_id from the request. | 
| partner_hotel_code | string | Echo partner_hotel_code from the request. | 
| status | string | The status of the lookup, must be one of:   
BookedCancelledCheckedInCheckedOutNoShowUnknownReference | 
| checkin_date | string | Check-in date. yyyy-MM-dd, sent in America/New_York timezone.   [Optional if status=Cancelled]  | 
| checkout_date | string | Check-out date. yyyy-MM-dd, sent in America/New_York timezone.   [Optional if status=Cancelled] | 
| cancelled_date | string | [Optional] Date the reservation was cancelled, sent in America/New_York timezone.   [Required if status=Cancelled] | 
| cancellation_number | string | [Optional] Unique identifier for the cancellation.   [Required if status=Cancelled] | 
| total_rate | Price | 
Total base rate of this reservation for the duration of the stay. | 
| total_taxes | Price | Total taxes of this reservation for the duration of the stay. | 
| total_fees | Price | Total fees of this reservation for the duration of the stay. |