Introduction
Max Interface API
This API is based on the OpenTravel Alliance (OTA) specifications, which are used by a large number of travel industry organizations as a common language for exchanging information.
Our goal was to implement the API without introducing any additional customizations to the OTA standard. However, the message handling and system behavior may not be consistent with other systems using the same standard.
This document provides a brief overview of the basic messages and examples of their usage. For more information about the OTA specification please visit the OpenTravel Alliance website at http://www.opentravel.org.
About the Document
The supported operations are described in the Message Pairs section. Each message pair consists of the request and response message described in the Request and Response sub-sections respectively.
Each of the sub-sections contains descriptions of the main elements used in the given message (unless they are self-explanatory). For complex elements we’re using XPath notation to clarify where in the tree they belong.
Attributes, if used, are described in a list below each element. Supported attribute values are then described in a table below the attribute.
Making Requests
HTTP Request example
POST /maxif/v2.1/ HTTP/1.1
Host: api.maxbooking.com
X-Maxbooking-Api-Gateway-Key: QE1c2kvTshRUzAO1UVz58jjsl78Xdc7c
Accept: application/xml
Content-Type: application/xml; charset=utf-8
Content-Length: 326
<?xml version="1.0" encoding="UTF-8"?>
<OTA_PingRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_PingRQ.xsd" Target="Test" Version="2.000" EchoToken="mytesttoken">
<EchoData>myechodata</EchoData>
</OTA_PingRQ>
Protocol
The selected protocol for message transmission is HTTPS
.
Endpoint
All requests must be sent to the following endpoint:
https://api.maxbooking.com/maxif/v2.1/
Method and Content Type
The messages are sent using the POST
request method.
The content type must be set to application/xml
and the payload is placed in the body of the request.
Common Attributes
Message Level
Target
- Used to indicate whether the request is for the Test or Production system.Value Description Test Used for testing. The messages will not result in any changes in the system. Production Standard message. Default value. EchoToken
– A reference for additional message identification, assigned by the requesting host system. The response message includes an echo token with an identical value. Optional.
Price related
AmountBeforeTax
- Monetary amount.CurrencyCode
- Currency code in ISO 4217 format.
Usage Limits
Below is a list of limits
to be added
Additional Notes
- Date values are in ISO 8601 date format (e.g. 2019-05-20).
- Duration values are in ISO 8601 duration format (e.g. P2N represents two nights).
- Date-time values are in ISO 8601 combined date, time and timezone format (e.g. 2019-05-20T04:09:13+01:00 )
Authentication
Authentication element
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
Request Level
Every request must conatin an API gateway authentication key placed in the X-Maxbooking-Api-Gateway-Key
HTTP header.
Message Level
Every message (except for OTA_PingRQ
) must also contain an authentication part in the form of a POS
element as shown in the example.
RequestorID
This element contains the authentication information.
Attributes:
Type
- Reference to the type of the requester.Value Description 10 Hotel ID
– Your assigned property ID (account ID).MessagePassword
– Your generated Max Interface password for the property (Max Admin Centre )
Errors and Warnings
Errors
Example error response
<?xml version="1.0" encoding="UTF-8"?>
<OTA_ErrorRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ErrorRS.xsd" Version="2.000" TimeStamp="2019-01-15T10:32:32+01:00" Status="NotProcessed"
ErrorCode="Validation"
ErrorMessage="Validation failed"></OTA_ErrorRS>
OTA_ErrorRS
The standard OTA_ErrorRS
message is designed to accommodate errors that result from processing a message.
Attributes:
Status
- An indication of the processing that was completed on the request message.Value Description NotProcessed The error occurred prior to processing of the request Incomplete The error occurred during processing of the request. The request was partially completed. Complete The error occurred after successful processing of the request. The requested process was completed. Unknown The status of the request is unknown. ErrorCode
Value Description Unknown Indicates an unknown error. Malformed The XML message was not well-formed. Validation The XML message did not pass the validation check. UnrecognizedRoot An unrecognized payload root element was received. Authentication Authentication error. Authorization Authorization error. Maintenance The system is under maintenance. ErrorMessage
- A textual description to provide more information about the specific error.
Warnings
Warnings are issued when a request is processed successfully but does not complete in a standard way. For example this happens when the number of bookings that correspond to the selected search criteria is greater than the maximum result size.
Messages pairs
OTA_PingRQ/RS
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_PingRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_PingRQ.xsd" Target="Test" Version="2.000" EchoToken="test token">
<EchoData>test data</EchoData>
</OTA_PingRQ>
Response
<?xml version="1.0" encoding="UTF-8"?>
<OTA_PingRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_PingRS.xsd" Version="2.000" TimeStamp="2019-01-19T18:59:30+01:00" EchoToken="test token">
<Success/>
<EchoData>test data</EchoData>
</OTA_PingRS>
This message may be used for testing application connectivity. The specific text in the request message is to be echoed back in the response message. This message does not require authentication data to be included.
Request
EchoData
The free-text data that will be be echoed back in the response.
Response
EchoData
The the echo data text as received from the request.
OTA_HotelDescriptiveInfoRQ/RS
This message allows you to query for specific property descriptive data.
Request
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveInfoRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelDescriptiveInfoRQ.xsd" Target="Test" Version="2.000">
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
<HotelDescriptiveInfos>
<HotelDescriptiveInfo HotelCode="215">
<HotelInfo SendData="true"/>
<FacilityInfo SendGuestRooms="true"/>
<ContactInfo SendData="true"/>
</HotelDescriptiveInfo>
</HotelDescriptiveInfos>
</OTA_HotelDescriptiveInfoRQ>
HotelDescriptiveInfo
Indicates which specific information is requested.
Attributes:
HotelCode
– Property ID
HotelDescriptiveInfo / HotelInfo
Is used to indicate whether property information is being requested.
Attributes:
SendData
– Boolean flag indicating if the given data should be sent.
HotelDescriptiveInfo / FacilityInfo
Is used to indicate whether rooms information is being requested.
Attributes:
SendGuestRooms
– Boolean flag indicating if room data should be sent.
HotelDescriptiveInfo / ContactInfo
Is used to the indicate whether contact information is being requested.
Attributes:
SendData
– Boolean flag indicating if the given data should be sent.
Response
Response
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveInfoRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelDescriptiveInfoRS.xsd" Version="2.000"
TimeStamp="2019-01-15T14:28:45+01:00">
<Success/>
<HotelDescriptiveContents HotelCode="215" HotelName="Small Hostel">
<HotelDescriptiveContent CurrencyCode="GBP" LanguageCode="en">
<HotelInfo HotelStatusCode="1">
<HotelName>Small Hostel</HotelName>
<Position Latitude="50.075539" Longitude="14.437800"/>
<Services>
<Service ID="AI124" CodeDetail="AddOnItem">
<DescriptiveText>Cancellation Cover</DescriptiveText>
</Service>
<Service ID="AI567" CodeDetail="AddOnItem">
<DescriptiveText>Internet access</DescriptiveText>
</Service>
</Services>
</HotelInfo>
<FacilityInfo>
<GuestRooms>
<GuestRoom>
<TypeRoom SharedRoomInd="true" RoomTypeCode="274" StandardNumBeds="1" Count="4" Name="Private room"/>
<DescriptiveText>Small shared dorm description</DescriptiveText>
</GuestRoom>
<GuestRoom>
<TypeRoom RoomTypeCode="386" StandardNumBeds="2" Count="1" Name="Private room"/>
<Amenities>
<Amenity RoomAmenityCode="85"/>
</Amenities>
<DescriptiveText>Private room description</DescriptiveText>
</GuestRoom>
<GuestRoom>
<TypeRoom RoomType="NonRoom" RoomTypeCode="765"/>
<DescriptiveText>Bike Tour</DescriptiveText>
</GuestRoom>
</GuestRooms>
</FacilityInfo>
<ContactInfos>
<ContactInfo ContactProfileType="Property Info">
<Addresses>
<Address UseType="7">
<AddressLine>Main Street 25</AddressLine>
<CityName>Prague</CityName>
<PostalCode>11000</PostalCode>
<CountryName>Czech Republic</CountryName>
</Address>
</Addresses>
<Phones>
<Phone PhoneLocationType="7" PhoneTechType="1" PhoneNumber="123456789"/>
</Phones>
<Emails>
<Email>smallhostel@example.com</Email>
</Emails>
<URLs>
<URL>www.example.com</URL>
</URLs>
</ContactInfo>
<ContactInfo ContactProfileType="Property Personnel">
<Names>
<Name>
<GivenName>John</GivenName>
<Surname>Smith</Surname>
</Name>
</Names>
</ContactInfo>
</ContactInfos>
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</OTA_HotelDescriptiveInfoRS>
HotelInfo
Contains general information about the property.
Attributes:
HotelStatusCode
- This indicates the operating status of the propertyValue Description 1 Open 2 Closed 3 Pre-opening
HotelInfo / HotelName
The full name of the property.
HotelInfo / Position
Describes the geocoded location of the property.
Attributes:
Latitude
- The measure of the angular distance on a meridian north or south of the equator.Longitude
- The measure of the angular distance on a meridian east or west of the prime meridian.
HotelInfo / Services / Service
This element represents represents a non-room product provided to guests. This is currently used only for add-on items.
Attributes:
ID
- Identification code of the service for booking purposes.
HotelInfo / Services / Service / DescriptiveText
Descriptive text that describes the service.
FacilityInfo / GuestRooms / GuestRoom
This element represents the accommodation occupied by a guest
FacilityInfo / GuestRooms / GuestRoom / TypeRoom
Describes the guest room type. In composite types there can be multiple occurrences.
Attributes:
SharedRoomInd
- Boolean flag indicating that the room is shared.RoomTypeCode
- Unique room identifier.StandardNumBeds
– Indicates the usual number of beds for this room type. For shared rooms this will be one.Count
– Number of units of this room type that makes up a larger unit. For shared rooms this will be the number of beds.RoomType
- Indicates the type of room. (Only present for non-room products.)Value Description NonRoom A non-room product (Unit category type "other" in the Max Admin center)
FacilityInfo / GuestRooms / GuestRoom / Amenities
Collection of room amenity items available to the guest.
FacilityInfo / GuestRooms / GuestRoom / Amenities / Amenity
Tangible room item(s) (e.g., bathroom) available to the guest.
Attributes:
RoomAmenityCode
– OpenTravel Room Amenity Type Code.Value Description 85 Private bathroom
ContactInfos / ContactInfo
Provides detailed contact information.
Attributes:
ContactProfileType
– Defines what type of contact is being provided.Value Description Property Info Property contact info Property Personnel Property personnel contact info
OTA_HotelAvailNotifRQ/RS
This message is used to send a notification of availability for a property.
Request
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" Target="Test" Version="4">
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
<AvailStatusMessages HotelCode="215">
<AvailStatusMessage BookingLimit="5" BookingLimitMessageType="SetLimit">
<StatusApplicationControl Start="2019-10-20" End="2019-10-21" InvCode="386"/>
</AvailStatusMessage>
<AvailStatusMessage BookingLimitMessageType="RemoveLimit">
<StatusApplicationControl Start="2019-10-25" End="2019-10-28" InvCode="386"/>
</AvailStatusMessage>
</AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
AvailStatusMessages
Container for the individual AvailStatusMessages.
Attributes:
HotelCode
- Property ID.
AvailStatusMessages / AvailStatusMessage
Contains the information about availability for a bookable entity. Current AvailStatusMessage limit is 1000.
Attributes:
BookingLimit
– Number of units.BookingLimitMessageType
- Defines the function of the booking limit message.Value Description RemoveLimit Restores availability to the original value SetLimit Sets availability to the desired number of units
AvailStatusMessage / StatusApplicationControl
Information on what the AvailStatusMessage applies to.
Attributes:
InvCode
– Unique ID of the selected entity.Start
– Starting value of the time span.End
– The ending value of the time span.
Response
Response
<?xml version="1.0"?>
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailNotifRS.xsd" TimeStamp="2019-09-01T12:00:00+02:00" Version="3.000">
<Success/>
</OTA_HotelAvailNotifRS>
OTA_HotelRateAmountNotifRQ/RS
This message is used to send a notification of rates for a property.
Request
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" Target="Test" Version="5">
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
<RateAmountMessages HotelCode="215">
<RateAmountMessage>
<StatusApplicationControl Start="2019-10-20" End="2019-10-21" InvCode="386"/>
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="300"/>
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
RateAmountMessages
A collection of RateAmountMessage(s).
Attributes:
HotelCode
- Property ID.
RateAmountMessages / RateAmountMessage
Defines the rate changes to be made. Current RateAmountMessage limit is 1000.
RateAmountMessages / RateAmountMessage / StatusApplicationControl
Information on what the RateAmount Message applies to.
Attributes:
InvCode
– Unique ID of the selected entity.Start
– Starting value of the time span.End
– The ending value of the time span.
RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt
Specifies the base charge. Current BaseByGuestAmt limit is 1.
Attributes:
AmountBeforeTax
– The amount. Value 0 resets the amount to the original state.
Response
Response
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd" TimeStamp="2019-09-01T12:00:00+02:00" Version="3.000">
<Success/>
</OTA_HotelRateAmountNotifRS>
OTA_ReadRQ / OTA_ResRetrieveRS
This message pair is used to request a list of bookings.
Request
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" Target="Test" Version="5.002">
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
<ReadRequests>
<HotelReadRequest HotelCode="215">
<SelectionCriteria ResStatus="Requested" Start="2019-01-01" End="2019-01-05" DateType="CreateDate"/>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ>
HotelReadRequest
Request for a booking when the booking reference is not known.
Attributes:
HotelCode
- The code that uniquely identifies a single property.
HotelReadRequest / SelectionCriteria
Specifies the selection criteria for the bookings that are to be returned.
Attributes:
ResStatus
- Specifies the status of the bookings to be delivered. When omitted, reservations with any status will be retured.Value Description Requested The booking has been requested. The initial state of every booking. Reserved The booking has been reserved. A confirmed booking. Cancelled The booking has been cancelled. Start
- The starting value of the time span (inclusive).End
- The ending value of the time span (inclusive).DateType
- Specifies the type of date provided in the date time span attributes.Value Description ArrivalDate The arrival date of the booking DepartureDate The departure date of the booking CreateDate The date the booking was created LastUpdateDate The date the booking was last updated
Response
Response
<?xml version="1.0" encoding="UTF-8"?>
<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ResRetrieveRS.xsd" Version="7.000" TimeStamp="2019-01-09T04:09:13+01:00">
<Success/>
<ReservationsList>
<HotelReservation ResStatus="Requested" CreateDateTime="2019-01-02T12:30:15+01:00">
<ResGlobalInfo>
<TimeSpan Start="2019-02-20" End="2019-02-24" Duration="P4N"/>
<HotelReservationIDs>
<HotelReservationID ResID_Type="14" ResID_Value="215-525-M-2019" ResID_Source="MAX"/>
</HotelReservationIDs>
<BasicPropertyInfo HotelCode="215"/>
</ResGlobalInfo>
</HotelReservation>
<HotelReservation ResStatus="Requested" CreateDateTime="2019-01-04T14:08:43+01:00">
<ResGlobalInfo>
<TimeSpan Start="2019-03-09" End="2019-03-11" Duration="P2N"/>
<HotelReservationIDs>
<HotelReservationID ResID_Type="14" ResID_Value="215-527-M-2019" ResID_Source="MAX"/>
</HotelReservationIDs>
<BasicPropertyInfo HotelCode="215"/>
</ResGlobalInfo>
</HotelReservation>
</ReservationsList>
</OTA_ResRetrieveRS>
ReservationsList
A container for multiple bookings.
HotelReservation
Represents the booking.
Attributes:
ResStatus
- Indicates the status of the booking.Value Description Requested The booking has been requested. The initial state of every booking. Reserved The booking has been reserved. A confirmed booking. Cancelled The booking has been cancelled. CreateDateTime
- Booking creation date and time.
ResGlobalInfo
A container for various information that affects the booking as a whole.
ResGlobalInfo / TimeSpan
The Time Span which covers the Booking.
Start
- Arrival date.End
- Departure date.Duration
- Duration of the booking.
ResGlobalInfo / HotelReservationIDs
A collection of HotelReservationID objects for a given booking. This will always contain the MaxBooking HotelReservationID. For bookings originated on a different system, there will be an additional HotelReservationID object.
ResGlobalInfo / HotelReservationIDs / HotelReservationID
Contains unique booking identifier.
Attributes:
ResID_Value
- Booking number.ResID_Source
- A unique identifier to indicate the source system which generated the ResID_Value.Value Description MAX MaxBooking HC HostelsClub GO Gomio HB HostelBookers EFH Europe Famous Hostels
ResGlobalInfo / BasicPropertyInfo
Property information for the booking.
Attributes:
HotelCode
- Property ID.
OTA_ReadRQ / OTA_HotelResRS
This message pair is used to request a single booking.
Request
Request
<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" Target="Test" Version="5.002">
<POS>
<Source>
<RequestorID Type="10" ID="215" MessagePassword="abcdefghijk"/>
</Source>
</POS>
<ReadRequests>
<ReadRequest>
<UniqueID Type="14" ID="215-516-M-2019"/>
</ReadRequest>
</ReadRequests>
</OTA_ReadRQ>
ReadRequest
A request to read a booking when the booking reference is known.
UniqueID
The booking reference.
Attributes:
ID
– The booking number
Response
Response
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResRS.xsd" Version="6.000" TimeStamp="2019-01-15T03:40:24+01:00">
<Success/>
<HotelReservations>
<HotelReservation ResStatus="Requested" CreateDateTime="2019-01-02T14:08:43+01:00">
<POS>
<Source>
<BookingChannel Type="7">
<CompanyName Code="MAX">MaxBooking</CompanyName>
<TPA_Extensions>
<BookingMetadata>
<FrontEnd Type="Mobile" Language="en"/>
</BookingMetadata>
</TPA_Extensions>
</BookingChannel>
</Source>
</POS>
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="386"/>
</RoomTypes>
<RoomRates>
<RoomRate>
<Rates>
<Rate NumberOfUnits="1" EffectiveDate="2019-02-09" ExpireDate="2019-02-10" RateTimeUnit="Day" UnitMultiplier="1">
<Base AmountBeforeTax="20.00" CurrencyCode="GBP"/>
<Total AmountBeforeTax="20.00" CurrencyCode="GBP"/>
</Rate>
<Rate NumberOfUnits="1" EffectiveDate="2019-02-10" ExpireDate="2019-02-11" RateTimeUnit="Day" UnitMultiplier="1">
<Base AmountBeforeTax="30.00" CurrencyCode="GBP"/>
<Discount AmountBeforeTax="5.00" CurrencyCode="GBP" DiscountCode="Discount">
<DiscountReason/>
</Discount>
<Total AmountBeforeTax="25.00" CurrencyCode="GBP"/>
</Rate>
</Rates>
</RoomRate>
</RoomRates>
<TimeSpan Start="2019-02-09" Duration="P2N"/>
<Discount AmountBeforeTax="5.00" CurrencyCode="GBP" DiscountCode="Discount">
<DiscountReason/>
</Discount>
<Total AmountBeforeTax="45.00" CurrencyCode="GBP"/>
<BasicPropertyInfo HotelCode="215"/>
</RoomStay>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="386"/>
</RoomTypes>
<RoomRates>
<RoomRate>
<Rates>
<Rate NumberOfUnits="1" EffectiveDate="2019-02-13" ExpireDate="2019-02-14" RateTimeUnit="Day" UnitMultiplier="1">
<Base AmountBeforeTax="20.00" CurrencyCode="GBP"/>
<Total AmountBeforeTax="20.00" CurrencyCode="GBP"/>
</Rate>
</Rates>
</RoomRate>
</RoomRates>
<TimeSpan Start="2019-02-13" Duration="P1N"/>
<Total AmountBeforeTax="20.00" CurrencyCode="GBP"/>
<BasicPropertyInfo HotelCode="215"/>
</RoomStay>
</RoomStays>
<Services>
<Service ID="AI124">
<Price NumberOfUnits="1">
<Total AmountBeforeTax="8.00" CurrencyCode="GBP"/>
</Price>
</Service>
<Service ID="AI567">
<Price NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="3">
<Total AmountBeforeTax="2.00" CurrencyCode="GBP"/>
</Price>
</Service>
</Services>
<ResGuests>
<ResGuest ArrivalTime="09:15:00">
<Profiles>
<ProfileInfo>
<Profile>
<Customer>
<PersonName>
<GivenName>Michael</GivenName>
<Surname>Horton</Surname>
</PersonName>
<Telephone PhoneNumber="12345789"/>
<Email>michael@example.com</Email>
<Address>
<CityName>Escondido</CityName>
</Address>
<CitizenCountryName Code="DE"/>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<TimeSpan Start="2019-02-09" End="2019-09-14"/>
<Comments>
<Comment Name="Customer Comment">
<Text>This is some customer comment.</Text>
</Comment>
</Comments>
<DepositPayments>
<GuaranteePayment GuaranteeType="Deposit">
<AmountPercent Percent="10.00" Amount="6.20" CurrencyCode="GBP"/>
</GuaranteePayment>
</DepositPayments>
<Fees>
<Fee Amount="1.50" CurrencyCode="GBP">
<Description>
<Text>Booking fee</Text>
</Description>
</Fee>
</Fees>
<Total AmountBeforeTax="76.00" CurrencyCode="GBP" AdditionalFeesExcludedIndicator="true">
<TPA_Extensions>
<Discounts>
<Discount AmountBeforeTax="5.00" CurrencyCode="GBP" DiscountCode="Discount">
<DiscountReason/>
</Discount>
<Discount AmountBeforeTax="3.00" CurrencyCode="GBP" DiscountCode="PromoCode">
<DiscountReason Name="WINTER">
<Text>Winter promo</Text>
</DiscountReason>
</Discount>
</Discounts>
</TPA_Extensions>
</Total>
<HotelReservationIDs>
<HotelReservationID ResID_Type="14" ResID_Value="215-516-M-2019" ResID_Source="MAX"/>
</HotelReservationIDs>
<BasicPropertyInfo HotelCode="215"/>
</ResGlobalInfo>
<TPA_Extensions>
<Promotions>
<Promotion PromotionCode="WINTER" Description="Winter promo" AmountBeforeTax="3.00" CurrencyCode="GBP"/>
</Promotions>
</TPA_Extensions>
</HotelReservation>
</HotelReservations>
</OTA_HotelResRS>
HotelReservation
Represents the booking.
Attributes:
ResStatus
- Indicates the status of the booking.Value Description Requested The booking has been requested. The initial state of every booking. Reserved The booking has been reserved. A confirmed booking. Cancelled The booking has been cancelled. CreateDateTime
- Booking creation date and time.
POS / Source / BookingChannel
Specifies the booking channel.
POS / Source / BookingChannel / CompanyName
Identifies the company that is associated with the booking channel
Attributes:
Code
- Identifies a company by the company code.
POS / Source / BookingChannel / TPA_Extensions / BookingMetadata
Booking metadata provided by the channel.
POS / Source / BookingChannel / TPA_Extensions / BookingMetadata / FrontEnd
Specifies front end metadata.
Attributes:
Type
- Type of front end used for the booking.Value Description Standard Standard front end (Desktop) Mobile Mobile front end Language
- Language of the front end
RoomStays
Room stays associated with this booking.
RoomStays / RoomStay
Represents a continuous room stay. Details include Room Type, Time Span of this Room Stay, etc.
RoomStay / RoomTypes
A collection of Room Types associated with a particular Room Stay.
RoomStay / RoomTypes / RoomType
Provides details regarding the room.
Attributes:
RoomTypeCode
- Unique room identifier.IsRoom
- Indicates if the product is a room for sleeping.RoomType
- Indicates the type of room. (Only present for non-room products.)Value Description NonRoom A non-room product
RoomStay / RoomRates
A collection of Room Rates associated with a particular Room Stay. Currently we only use a single RoomRate instance inside the RoomRates.
RoomStay / RoomRates / RoomRate / Rates
A collection of Rates.
RoomStay / RoomRates / RoomRate / Rates / Rate
The Rate contains a collection of elements that define the amount of the rate.
Attributes:
NumberOfUnits
- The number of units.EffectiveDate
- Indicates the starting date of when a specific rate value is applied.ExpireDate
- Indicates the day when the specific value of the rate is changed to another value.RateTimeUnit
- Indicates the time unit for the rate.Value Description Day Rate is for one day FullDuration Rate is for full duration. UnitMultiplier
- Indicates the number of rate time units.
RoomStay / RoomRates / RoomRate / Rates / Rate / Base
The base amount charged for this rate.
RoomStay / RoomRates / RoomRate / Rates / Rate / Discount
Discount for this rate.
Attributes:
DiscountCode
- Specifies the type of discountValue Description Discount Internal discount
RoomStay / RoomRates / RoomRate / Rates / Rate / Discount / DiscountReason
Discount reason. Currently not used.
RoomStay / RoomRates / RoomRate / Rates / Rate / Total
The total amount charged for this rate including discounts.
RoomStay / TimeSpan
The Time Span which covers the Room Stay.
RoomStay / Total
The total amount charged for the Room Stay.
Services / Service
This element represents a non-room product provided to guests.
Attributes:
ID
- Identification code of the service for booking purposes.
Services / Service / Price
The selling price of this Service.
Attributes:
NumberOfUnits
- The number of units.RateTimeUnit
- Indicates the time unit for the rate.Value Description Day Rate is for one day UnitMultiplier
- Indicates the number of rate time units.
Services / Service / Price / Total
The total amount charged for this rate including discounts.
ResGuests / ResGuest
Information about the guest associated with the booking.
Attributes:
ArrivalTime
– Date and time of the guest’s arrival.
ResGuests / ResGuest // Customer / CitizenCountryName
Attributes:
Code
– Country code in ISO 3166-1 alpha-2 format
GlobalResInfo
A container for various information that affects the booking as a whole.
GlobalResInfo / TimeSpan
The Time Span which covers the booking.
GlobalResInfo / Comments / Comment
Customer’s comment.
GlobalResInfo / DepositPayments / GuaranteePayment
Contains infornation about deposit payment.
GlobalResInfo / Fees / Fee
Contains Booking fee.
GlobalResInfo / Total
The total amount charged for the accommodation.
Attributes:
AdditionalFeesExcludedIndicator
- When true, amount does not contain fees.
GlobalResInfo / Total / TPA_Extensions / Discounts
Discounts for the booking.
GlobalResInfo / Total / TPA_Extensions / Discounts / Discount
Discount.
Attributes:
DiscountCode
- Specifies the type of discountValue Description Discount Internal discount PromoCode Promo code discount
GlobalResInfo / Total / TPA_Extensions / Discounts / Discount / DiscountReason
Discount reason
Attributes:
Name
- Specifies the promo code forPromoCode
discounts.
GlobalResInfo / Total / TPA_Extensions / Discounts / Discount / DiscountReason / Text
Describes the discount reason.
ResGlobalInfo / HotelReservationIDs
A collection of HotelReservationID objects for a given booking. This will always contain the MaxBooking HotelReservationID. For bookings originated on a different system, there will be an additional HotelReservationID object.
ResGlobalInfo / HotelReservationIDs / HotelReservationID
Contains unique booking identifier.
Attributes:
ResID_Value
- Booking number.ResID_Source
- A unique identifier to indicate the source system which generated the ResID_Value.Value Description MAX MaxBooking HC HostelsClub GO Gomio HB HostelBookers EFH Europe Famous Hostels
ResGlobalInfo / BasicPropertyInfo
Property information for the booking.
Attributes:
HotelCode
- The code that uniquely identifies a single property.
TPA_Extensions / Promotions / Promotion
Provides promotion information associated with the booking.
Attributes:
PromotionCode
- A code that identifies the specific promotion.Description
- Textual information regarding the promotion.Type
- The type of the promotion. (NOT YET AVAILABLE)Value Description DIS Discount TXT Non-monetary FEE No booking fee (may include discount)