Booking Retrieval

Contents

1. GetBookingDetails EndPoint

agoda offers two types of endpoints:

NOTE: please note that if you wish to use the single endpoint for your request, the Type attribute will be mandatory in all the requests you will send to Agoda (this is to allow us to identify the call type).

 

GetBookingDetails - Multiple endpoint

 GetBookingDetails - Single endpoint (Please note: 'type=4' attribute is mandatory when using Single endpoint)

2. GetBookingDetails RQ

<?xml version="1.0" encoding="UTF-8"?>

<request timestamp="1436931804" type="3">

   <criteria language="JA">

     <property id="99">

         <booking id="10061388"/>

         <booking id="10009302"/>

         <booking id="10008589"/>

         <booking id="10008389"/>

    </property>

    </criteria>

 </request>


<!--

  Max property id is restricted to 1 (configurable)

  Max booking ids restricted to 50 (configurable)

-->

3. GetBookingDetails Response

<result timestamp="1501649887310">

    <bookings count="3" iataid="96637800">

        <booking property_id="99" property_name="Test Hotel" booking_id="202577467" booking_date="2017-07-07T18:38:00+07:00" last_action="2017-07-07T18:38:20+07:00" arrival="2017-07-16" departure="2017-07-17" status="ConfirmBooking" acknowledge="0" room_id="2981145" room_type="Standard" channel_id="1" channel_name="Retail" rateplan_id="932685" rateplan_name="Non Refundable-Run of the house" room_count="1" adults="2" children="0" extrabeds="0" cxl_code="365D100P_100P">

            <customer first_name="Agoda" last_name="Test" nationality="Mauritius"/>

            <requests>

                <request request_name="LargeBed"/>

                <request request_name="AdditionalNotes:&quot;Check in will be at 9:00pm and need a late check out.Need a good room and city view&quot;"/>

            </requests>

            <payment card_type="MasterCard" card_number="533511234567894" card_name="Agoda Company Pte Ltd." card_exp="12/2017" card_cvv="966"/>

            <prices currency="HKD" net_inclusive_amt="498.0" refsell_amt="600.0">

                <price date="2017-07-16" net_inclusive_amt="498.0" refsell_amt="600.0" type="Room"/>

            </prices>

        </booking>

        <booking property_id="99" property_name="Test Hotel" booking_id="217393581" booking_date="2017-07-09T14:50:00+07:00" last_action="2017-07-09T23:21:19+07:00" arrival="2017-07-28" departure="2017-07-31" status="CancelBooking" acknowledge="0" room_id="2981145" room_type="Standard" channel_id="1" channel_name="Retail" rateplan_id="366833" rateplan_name="Room Only" room_count="2" adults="4" children="0" extrabeds="0" cxl_code="3D1N_1N">

            <customer first_name="Test" last_name="Agoda" nationality="Thailand"/>

            <requests>

                <request request_name="NonSmoke"/>

                <request request_name="TwinBeds"/>

                <request request_name="AdditionalNotes:&quot;No need 4th floor"/>

                <request request_name="Thank you&quot;"/>

            </requests>

            <payment card_type="MasterCard" card_number="5335102456789304" card_name="Agoda Company Pte Ltd." card_exp="01/2018" card_cvv="250"/>

            <prices currency="HKD" net_inclusive_amt="0.0">

                <price date="" net_inclusive_amt="0.0" refsell_amt="0.0" type="Cancellation"/>

            </prices>

        </booking>

        <booking property_id="99" property_name="Test Hotel" booking_id="217393581" booking_date="2017-07-09T14:50:00+07:00" last_action="2017-07-09T23:21:19+07:00" arrival="2017-07-28" departure="2017-07-31" status="CancelBooking" acknowledge="0" room_id="2981145" room_type="Standard" channel_id="1" channel_name="Retail" rateplan_id="366833" rateplan_name="Room Only" room_count="2" adults="4" children="0" extrabeds="0" cxl_code="3D1N_1N">

            <customer first_name="Test" last_name="Testtt" nationality="Thailand"/>

            <requests>

                <request request_name="NonSmoke"/>

                <request request_name="TwinBeds"/>

                <request request_name="AdditionalNotes:&quot;No need 4th floor"/>

                <request request_name="Thank you&quot;"/>

            </requests>

            <payment card_type="MasterCard" card_number="5335102001234567" card_name="Agoda Company Pte Ltd." card_exp="01/2018" card_cvv="250"/>

            <prices currency="HKD" net_inclusive_amt="0.0">

                <price date=""type="Cancellation"/>

            </prices>

        </booking>

    </bookings>

</result>

3.1 GetBookingDetails Response - Property Collect

<result timestamp="1501649348742">

 <bookings count="1" iataid="96637800">

 <booking property_id="567792" property_name="PCLN Hotel Test - Do Not Book" booking_id="220952733"

booking_date="2017-08-02T11:24:00+07:00" last_action="2017-08-02T11:48:49+07:00" arrival="2017-08-16"

departure="2017-08-17" status="CancelBooking" acknowledge="0" room_id="8179856" room_type="Standard - 2

persons" channel_id="1" channel_name="Retail" rateplan_id="937982" rateplan_name="Room Only111"

promotion_id="141776369" promotion_name="Limited time offer. Rate includes 20% discount!" room_count="1"

adults="2" children="0" extrabeds="0" cxl_code="1D1N_1N">

 <customer first_name="agoda" last_name="test" nationality="Thailand"/>

 <requests>

 <request request_name="NonSmoke"/>

 <request request_name="AdditionalNotes:&quot;**Late arrival 23:00**&quot;"/>

 </requests>

 <prices currency="USD" sell_inclusive_amt="0.0">

 <price date="" sell_inclusive_amt="0.0" refsell_amt="0.0" type="Cancellation"/>

 </prices>

 <paymentmodel>2</paymentmodel>

 </booking>

 </bookings>

</result>

4. GetBookingDetails Schema

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="endpointtype">

        <xs:restriction base="xs:int">

            <xs:enumeration value="4"/>

        </xs:restriction>

    </xs:simpleType>

    <xs:element name="request" type="requestType"/>

    <xs:complexType name="propertyType">

        <xs:sequence>

            <xs:element type="bookingType" name="booking" minOccurs="1" maxOccurs="unbounded"/>

        </xs:sequence>

        <xs:attribute type="idType" name="id" use="required"/>

    </xs:complexType>

    <xs:complexType name="requestType">

        <xs:sequence>

            <xs:element type="criteriaType" name="criteria" minOccurs="1" maxOccurs="1"/>

        </xs:sequence>

        <xs:attribute type="xs:long" name="timestamp"/>

        <xs:attribute type="endpointtype" name="type"/>

    </xs:complexType>

    <xs:complexType name="bookingType">

        <xs:simpleContent>

            <xs:extension base="xs:string">

                <xs:attribute type="xs:long" name="id" use="required"/>

            </xs:extension>

        </xs:simpleContent>

    </xs:complexType>

    <xs:complexType name="criteriaType">

        <xs:sequence>

            <xs:element type="propertyType" name="property" minOccurs="1" maxOccurs="unbounded"/>

        </xs:sequence>

        <xs:attribute type="languageType" name="language" use="optional"/>

    </xs:complexType>

    <xs:simpleType name="languageType">

        <xs:restriction base="xs:string">

            <xs:length fixed="true" value="2"/>

            <xs:pattern value="[a-zA-Z]{2}"/>

        </xs:restriction>

    </xs:simpleType>

    <xs:simpleType name="idType">

        <xs:restriction base="xs:unsignedLong">

            <xs:maxInclusive value="2147483647"/>

        </xs:restriction>

    </xs:simpleType>

</xs:schema>

5. GetBookingDetails Schema (from April 2023 onwards)

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="result">

    <xs:complexType>

      <xs:sequence>

        <xs:element name="bookings">

          <xs:complexType>

            <xs:sequence>

              <xs:element name="booking">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="customer">

                      <xs:complexType>

                        <xs:attribute name="first_name" type="xs:string" use="required" />

                        <xs:attribute name="last_name" type="xs:string" use="required" />

                        <xs:attribute name="nationality" type="xs:string" use="required" />

                        <xs:attribute name="phone" type="xs:string" use="required" />

                      </xs:complexType>

                    </xs:element>

                    <xs:element name="benefits">

                      <xs:complexType>

                        <xs:sequence>

                          <xs:element maxOccurs="unbounded" name="benefit">

                            <xs:complexType>

                              <xs:attribute name="benefit_id" type="xs:unsignedByte" use="required" />

                              <xs:attribute name="benefit_name" type="xs:string" use="required" />

                            </xs:complexType>

                          </xs:element>

                        </xs:sequence>

                      </xs:complexType>

                    </xs:element>

                    <xs:element name="requests">

                      <xs:complexType>

                        <xs:sequence>

                          <xs:element maxOccurs="unbounded" name="request">

                            <xs:complexType>

                              <xs:attribute name="request_name" type="xs:string" use="required" />

                            </xs:complexType>

                          </xs:element>

                        </xs:sequence>

                      </xs:complexType>

                    </xs:element>

                    <xs:element name="payment">

                      <xs:complexType>

                        <xs:attribute name="card_type" type="xs:string" use="required" />

                        <xs:attribute name="card_number" type="xs:string" use="required" />

                        <xs:attribute name="card_name" type="xs:string" use="required" />

                        <xs:attribute name="card_exp" type="xs:string" use="required" />

                        <xs:attribute name="card_cvv" type="xs:string" use="required" />

                        <!-- New UPC details -->

                        <xs:attribute name="card_effective_date" type="xs:date" use="optional" />

                        <xs:attribute name="card_current_balance" type="xs:decimal" use="optional" />

                        <xs:attribute name="card_future_balance" type="xs:decimal" use="optional" />

                        <xs:attribute name="card_currency_code" type="xs:string" use="optional" />

                        <xs:attribute name="card_is_vcc" type="xs:string" use="optional" />

                      </xs:complexType>

                    </xs:element>

                    <xs:element name="prices">

                      <xs:complexType>

                        <xs:sequence>

                          <xs:element maxOccurs="unbounded" name="price">

                            <xs:complexType>

                              <xs:attribute name="date" type="xs:date" use="required" />

                              <xs:attribute name="net_inclusive_amt" type="xs:decimal" use="required" />

                              <xs:attribute name="refsell_amt" type="xs:decimal" use="required" />

                              <xs:attribute name="type" type="xs:string" use="required" />

                            </xs:complexType>

                          </xs:element>

                        </xs:sequence>

                        <xs:attribute name="currency" type="xs:string" use="required" />

                        <xs:attribute name="net_inclusive_amt" type="xs:decimal" use="required" />

                        <xs:attribute name="refsell_amt" type="xs:decimal" use="required" />

                      </xs:complexType>

                    </xs:element>

                  </xs:sequence>

                  <xs:attribute name="property_id" type="xs:unsignedInt" use="required" />

                  <xs:attribute name="property_name" type="xs:string" use="required" />

                  <xs:attribute name="booking_id" type="xs:unsignedInt" use="required" />

                  <xs:attribute name="booking_date" type="xs:dateTime" use="required" />

                  <xs:attribute name="last_action" type="xs:dateTime" use="required" />

                  <xs:attribute name="arrival" type="xs:date" use="required" />

                  <xs:attribute name="departure" type="xs:date" use="required" />

                  <xs:attribute name="status" type="xs:string" use="required" />

                  <xs:attribute name="acknowledge" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="room_id" type="xs:unsignedInt" use="required" />

                  <xs:attribute name="room_type" type="xs:string" use="required" />

                  <xs:attribute name="channel_id" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="channel_name" type="xs:string" use="required" />

                  <xs:attribute name="rateplan_id" type="xs:unsignedInt" use="required" />

                  <xs:attribute name="rateplan_name" type="xs:string" use="required" />

                  <xs:attribute name="room_count" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="adults" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="children" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="extrabeds" type="xs:unsignedByte" use="required" />

                  <xs:attribute name="cxl_code" type="xs:string" use="required" />

                </xs:complexType>

              </xs:element>

            </xs:sequence>

            <xs:attribute name="count" type="xs:unsignedByte" use="required" />

            <xs:attribute name="iataid" type="xs:unsignedInt" use="required" />

          </xs:complexType>

        </xs:element>

      </xs:sequence>

      <xs:attribute name="timestamp" type="xs:unsignedLong" use="required" />

    </xs:complexType>

  </xs:element>

</xs:schema>