Inventory

Inventory Service SOAP WSDL

GetArrivalAndDepartureRestrictions

GetArrivalAndDepartureRestrictions will return the Arrival and Departure date restrictions for a rate package. These restrict or allow the days that a traveler can arrive to or depart from a property.

GetArrivalAndDepartureRestrictionsResponse GetArrivalAndDepartureRestrictions(GetArrivalAndDepartureRestrictionsRequest request)

Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetArrivalAndDepartureRestrictions>
         <ns:request>
            <ns1:ChannelManagerUsername>ChannelManagerUsername</ns1:ChannelManagerUsername>
            <ns1:ChannelManagerPassword>ChannelManagerPassword</ns1:ChannelManagerPassword>
            <ns1:Username>propertyusername</ns1:Username>
            <ns1:Password>propertypassword</ns1:Password>
            <ns1:HotelId>123456</ns1:HotelId>
            <ns:EndDate>2018-10-01</ns:EndDate>
            <ns1:RatePackages>
                <ns1:RatePackageId>123456</ns1:RatePackageId>
            </ns1:RatePackages>
            <ns:StartDate>2018-10-31</ns:StartDate>
         </ns:request>
      </ns:GetArrivalAndDepartureRestrictions>
   </soapenv:Body>
</soapenv:Envelope>

Method Parameters

Field Data Type Description
requestGetArrivalAndDepartureRestrictionsRequest

GetArrivalAndDepartureRestrictionsRequest

Field Data Type Description
RatePackagesRatePackageIdOne or More Rate Package Id(s)
StartDateDateTimeStart date of specified arrival and departure detail.
EndDateDateTimeEnd date of specified arrival and departure detail.
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

RatePackageId

One or More Rate Package Id(s)

Field Data Type Description
CapacityInt32
CountInt32
ItemInt64

TimeSpan

Field Data Type Description

GetArrivalAndDepartureRestrictionsResponse

Field Data Type Description
RatePackagesList of RatePackageArrivalAndDepartureDetail
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

RatePackageArrivalAndDepartureDetail

Field Data Type Description
RatePackageIdInt64Rate Package Id for which this Arrival and Departure detail is specified.
ArrivalAndDepartureDateRangesList of ArrivalAndDepartureDateRangeList of ArrivalAndDeparture date ranges
StatusBooleanUsed during validation to respond if your supplied data is valid. Status of Rate Package Id. E.g True , False. Set to null when using this object for the Save message
MessageStringThis field only displays a message if the response has any validation errors for this Rate Package Id. Set to null when using this object for the Save message

ArrivalAndDepartureDateRange

List of ArrivalAndDeparture date ranges

Field Data Type Description
CanArriveBooleantrue if the guest can arrive between the date range, false if not
CanDepartBooleantrue if the guest can depart between the date range, false if not
FromDateDateTimeThe Start Date for the dates range (inclusive). Even though this is a DateTime, the Time portion should also be ignored.
ToDateDateTimeThe End Date for the date range (inclusive). Even though this is a DateTime, the Time portion should also be ignored.

GetBookingFinancialDetails

Financial information contained inside the GetBookings and GetModifiedBookings messages is not very accurate. Over time, this information has got the way it did, and companies have coded to the information and made their systems work with the data. However, new implementations we would like companies to not have to code through so many difficult scenarios to succeed in injesting the financial information for bookings, therefore, after you have called the GetModifiedBookings message, please call this message to retrieve the financial information.

Please note: These returned objects represent what we received from the OTAs. Each OTA has a different strategy to return what they believe properties will need to know to inject the bookings into their system. We only populate values when the OTA told us what it is, if they didn't the value will be null or missing. Therefore, if you receive a NET value, no Gross, no Tax and no OTA fee value then this means that we weren't told the other information, and this is all we have. If you do require that information, you will have to write software on your side which can determine what the values should be given the property, country, location and the OTA involved.

GetBookingFinancialDetailsResponse GetBookingFinancialDetails(GetBookingFinancialDetailsRequest request)

Method Parameters

Field Data Type Description
requestGetBookingFinancialDetailsRequest

GetBookingFinancialDetailsRequest

Field Data Type Description
BookingIdsList of Int64You can supply a List of Resonline Booking IDs, OR you can supply a DistributionChannelId AND a list of SourceBookingReferences to retrieve the booking financial data.
DistributionChannelIdInt64When you are supplying a list of SourceBookingReferences, the DistributionChannelId is required, otherwise set it to null or empty.
SourceBookingReferencesList of StringYou can supply a List of Resonline Booking IDs, OR you can supply a DistributionChannelId AND a list of SourceBookingReferences to retrieve the booking financial data.
FinancialDataVersionInt64Over time we will release new versions of the financial data. To maintain backward compatibility, please specify the version that you have coded to handle. The current maximum version number is 1.
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

TimeSpan

Field Data Type Description

GetBookingFinancialDetailsResponse

Field Data Type Description
DataList of BookingFinancialA list of the financial information for the bookings requested
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

BookingFinancial

A list of the financial information for the bookings requested

Field Data Type Description
BookingIdInt64The Resonline BookingId that this booking was stored against
SourceBookingRefStringThe OTAs Unique booking reference
SourceBookingRoomRefStringSome bookings from OTAs contain multiple booked rooms, also known as an Itinerary. This is the Room reference from the OTA which identifies this booking within the itinerary
FinancialDataVersionInt64The version for the Financial Data
DistributionChannelCodeStringThis distribution channel code this booking is for
ItineraryTotalFinancialTotalThe total for the entire booking party, or itinerary. This includes the totals for the bookings if there are multiple bookings in the one itinerary, otherwise it has the same values as the ThisBookingTotal field.
ThisBookingTotalFinancialTotalThe totals for this booking. This is especially important when a booking is part of a multiple booking scenario. Ie, the ItineraryTotal will have the entire amount paid etc, but the ThisBookingTotal will just be for this part of the itinerary.
NightRatesList of BookingFinancialNightRateInformation holding the nightly rates that are part of this booking
ChargesList of BookingFinancialChargeWhen we are told, we will supply any additional charges that have been included in this booking
ExtrasList of BookingFinancialExtraSome OTAs separate booking extras and inform us what these are. Example, tickets to the cinema or other 'Extras' that have been included over and above the accommodation fees.
TaxesAndFeesList of BookingFinancialTaxFeeSome OTAs(hardly any) supply us with a detailed break down of the taxes and fees that have been charged. When we are told what these are, we supply them here.
PaymentInstructionsBookingFinancialPaymentInstructionsThis object holds the Deposit instructions, and any final payment instructions. Use this to help the Property understand what has been charged to the guest already, and what balance may be required to be taken. Or, even if the hotel has to invoice the OTA for their fees.
RawOtaDataStringAs much as we have tried to split out the information, there may be cases where we haven't been able to interpret the values in a fashion which suits your system. In this case, you can deserialize the RawOTAData and extract out the values which better suit your system.

FinancialTotal

The total for the entire booking party, or itinerary. This includes the totals for the bookings if there are multiple bookings in the one itinerary, otherwise it has the same values as the ThisBookingTotal field.

Field Data Type Description
CurrencyISOStringThe 3 letter ISO currency for the amounts in this object
GrossDecimalGross amount, which is inclusive of all OTA fees and taxes. This is the price that the guest has paid. It may not be provided by the OTA, so you may have to use the other values to deduce this value
NetDecimalNet amount, which is exclusive of all OTA fees and taxes. It may not be provided by the OTA, so you may have to use the other values to deduce this value
TaxDecimalAny tax paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the Taxes are.
OTAFeesDecimalAny OTA fees that the guest has paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the FEes are.
BaseNightRateDecimalWhen available, this is the base rate for the accommodation, which includes taxes and OTA fees
ExtraPersonFeesDecimalIf there were extra person charges, some OTAs provide this value, most do not however.
HotelServiceFeesDecimalSome OTAs provide what the Service fee charge for the booking is, as from our understanding this can cause different tax rates in some countries.

FinancialTotal

The totals for this booking. This is especially important when a booking is part of a multiple booking scenario. Ie, the ItineraryTotal will have the entire amount paid etc, but the ThisBookingTotal will just be for this part of the itinerary.

Field Data Type Description
CurrencyISOStringThe 3 letter ISO currency for the amounts in this object
GrossDecimalGross amount, which is inclusive of all OTA fees and taxes. This is the price that the guest has paid. It may not be provided by the OTA, so you may have to use the other values to deduce this value
NetDecimalNet amount, which is exclusive of all OTA fees and taxes. It may not be provided by the OTA, so you may have to use the other values to deduce this value
TaxDecimalAny tax paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the Taxes are.
OTAFeesDecimalAny OTA fees that the guest has paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the FEes are.
BaseNightRateDecimalWhen available, this is the base rate for the accommodation, which includes taxes and OTA fees
ExtraPersonFeesDecimalIf there were extra person charges, some OTAs provide this value, most do not however.
HotelServiceFeesDecimalSome OTAs provide what the Service fee charge for the booking is, as from our understanding this can cause different tax rates in some countries.

BookingFinancialNightRate

Information holding the nightly rates that are part of this booking

Field Data Type Description
StayDateDateTimeThe Stay Date, will include time but the time is irrelevant
TotalFinancialTotalAn object holding all of the Financial values we have received for this night rate.

FinancialTotal

An object holding all of the Financial values we have received for this night rate.

Field Data Type Description
CurrencyISOStringThe 3 letter ISO currency for the amounts in this object
GrossDecimalGross amount, which is inclusive of all OTA fees and taxes. This is the price that the guest has paid. It may not be provided by the OTA, so you may have to use the other values to deduce this value
NetDecimalNet amount, which is exclusive of all OTA fees and taxes. It may not be provided by the OTA, so you may have to use the other values to deduce this value
TaxDecimalAny tax paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the Taxes are.
OTAFeesDecimalAny OTA fees that the guest has paid. This is rarely provided by the OTAs, so if you need this value - you will have to have a method to work out what the FEes are.
BaseNightRateDecimalWhen available, this is the base rate for the accommodation, which includes taxes and OTA fees
ExtraPersonFeesDecimalIf there were extra person charges, some OTAs provide this value, most do not however.
HotelServiceFeesDecimalSome OTAs provide what the Service fee charge for the booking is, as from our understanding this can cause different tax rates in some countries.

BookingFinancialCharge

When we are told, we will supply any additional charges that have been included in this booking

Field Data Type Description
AmountDecimalThe amount, including taxes and ota fees that was charged to the guest
DescriptionStringA description for the charge, in english
NameStringA Name for the charge, human readable
CodeStringWhere possible, the Code for the charge which can be programmatically disseminated to do custom processing knowing that the value won't change

BookingFinancialExtra

Some OTAs separate booking extras and inform us what these are. Example, tickets to the cinema or other 'Extras' that have been included over and above the accommodation fees.

Field Data Type Description
BookingExtraTypeBookingExtraTypeRepresents what type of extra this is
NameStringA human readable short name for the extra
DescriptionStringA human readable description for the extra
AmountDecimalThe Amount inclusive of taxes and OTA fees for the extra
AdultQuantityInt32How many of this extra was chosen for adults in the booking party
AdultAmountDecimalWhat price for adults they paid, only applicable to certain extra types
ChildQuantityInt32How many of this extra was chosen for children in the booking party
ChildAmountDecimalWhat price for children they paid, only applicable to certain extra types
QuantityStringFor extras by Qty, this is the quantity of extras chosen

BookingExtraType

Represents what type of extra this is

Field Data Type Description
BOOPrice is per booking
NGTPrice is per Night
PERPrice is per person
QTYPrice is per qty

BookingFinancialTaxFee

Some OTAs(hardly any) supply us with a detailed break down of the taxes and fees that have been charged. When we are told what these are, we supply them here.

Field Data Type Description
CodeStringA unique code which represents what Tax or Fee this is
DescriptionStringA human readable description for this Tax or Fee
AmountDecimalThe amount for this Tax or Fee

BookingFinancialPaymentInstructions

This object holds the Deposit instructions, and any final payment instructions. Use this to help the Property understand what has been charged to the guest already, and what balance may be required to be taken. Or, even if the hotel has to invoice the OTA for their fees.

Field Data Type Description
DepositBookingFinancePaymentInformation which describes how the initial payment or 'Deposit' whas collected by the OTA. Inside here, can be instructions on what the hotel should do with the virtual credit cards
BalanceBookingFinancePaymentIf a balance should be taken then this will be populated. Some OTAs don't take any payment, but just collect the booking and require that the hotel will take the payment. If so, this is populated with the necessary instructions

BookingFinancePayment

Information which describes how the initial payment or 'Deposit' whas collected by the OTA. Inside here, can be instructions on what the hotel should do with the virtual credit cards

Field Data Type Description
CurrencyISOStringThe currency in 3 letter ISO format
AmountForThisBookingDecimalHow much was collected or how much should be collected
TakenByPaymentTakenByDescribes who has or who should take the payment
StatusPaymentStatusWhat status is the payment in, completed or pending
PaymentDateDateTimeWhen the payment has occurred, it might be null, for balance payments as it hasn't occurred yet.
AmountToBeOrTakenUsingPaymentTakenUsingDescribes what system took payment, or what system should be used to take payment
HotelFeeCollectionCanCommenceFromDateTimeSome OTAs provide a virtual card, which isn't unlocked until a certain date. This is populated with that date in those situations.
CardExpiresOnDateTimeIf a Credit card (or virtual card) is supplied, this is its expiry date
HotelFeeCollectionInstructionsStringA human readable form of payment instructions intended to be viewed by the property to help them understand what they should do regarding collecting a balance of payment, collecting payment from the guest or invoicing for their fees from the OTA

PaymentTakenBy

Describes who has or who should take the payment

Field Data Type Description
PropertyPayment has been or should be taken by the Property
OTAPayment has been or should be taken by the OTA

PaymentStatus

What status is the payment in, completed or pending

Field Data Type Description
CompleteThe payment succeeded and is complete
PendingThis payment is not complete and the property is expected to take payment at some stage.

PaymentTakenUsing

Describes what system took payment, or what system should be used to take payment

Field Data Type Description
OtherWhen we don't know what technique was used, or what should be used, we supply OTHER
SecureDataKeyThis value tells the property to use the payment information which has been stored in their secure payment vault to perform the charge.
OTAPaymentSystemThe payment was taken by the OTA system during the booking process

BookingFinancePayment

If a balance should be taken then this will be populated. Some OTAs don't take any payment, but just collect the booking and require that the hotel will take the payment. If so, this is populated with the necessary instructions

Field Data Type Description
CurrencyISOStringThe currency in 3 letter ISO format
AmountForThisBookingDecimalHow much was collected or how much should be collected
TakenByPaymentTakenByDescribes who has or who should take the payment
StatusPaymentStatusWhat status is the payment in, completed or pending
PaymentDateDateTimeWhen the payment has occurred, it might be null, for balance payments as it hasn't occurred yet.
AmountToBeOrTakenUsingPaymentTakenUsingDescribes what system took payment, or what system should be used to take payment
HotelFeeCollectionCanCommenceFromDateTimeSome OTAs provide a virtual card, which isn't unlocked until a certain date. This is populated with that date in those situations.
CardExpiresOnDateTimeIf a Credit card (or virtual card) is supplied, this is its expiry date
HotelFeeCollectionInstructionsStringA human readable form of payment instructions intended to be viewed by the property to help them understand what they should do regarding collecting a balance of payment, collecting payment from the guest or invoicing for their fees from the OTA

PaymentTakenBy

Describes who has or who should take the payment

Field Data Type Description
PropertyPayment has been or should be taken by the Property
OTAPayment has been or should be taken by the OTA

PaymentStatus

What status is the payment in, completed or pending

Field Data Type Description
CompleteThe payment succeeded and is complete
PendingThis payment is not complete and the property is expected to take payment at some stage.

PaymentTakenUsing

Describes what system took payment, or what system should be used to take payment

Field Data Type Description
OtherWhen we don't know what technique was used, or what should be used, we supply OTHER
SecureDataKeyThis value tells the property to use the payment information which has been stored in their secure payment vault to perform the charge.
OTAPaymentSystemThe payment was taken by the OTA system during the booking process

GetBookings

Please implement GetModifiedBookings as we find that 99% of the time it is more suitable for fetching bookings, cancellations and modifications from our system. We have left this message in place to continue to support clients who have already implemented it, but all future connections should use GetModifiedBookings message instead.

GetBookingsResponse GetBookings(GetBookingsRequest request)

Method Parameters

Field Data Type Description
requestGetBookingsRequest

GetBookingsRequest

Field Data Type Description
StartDateDateTimeStartDate to find bookings that were booked on or after this date.
EndDateDateTimeEndDate to find bookings that were booked on or Before this date.
BookingStatusString(Optional) Its best if you leave this empty or leave it out all together.
BookingIdInt64StartDate to find bookings that were booked between this date.
DistributionChannelIdInt64Use this field in conjunction with the DistributionChannelBookingReference field. You can use the ContentService->GetStaticData message to retrieve the valid Ids for this column which match the Last Minute Website you are searching for.
DistributionChannelBookingReferenceStringUse this field in conjunction with the DistributionChannelId field to look up a booking based on the channels booking ID rather than our ID. For example, if you know the wotif booking reference number, then use this would allow you to find our booking data that matches the wotif booking.
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

TimeSpan

Field Data Type Description

GetBookingsResponse

Field Data Type Description
BookingsList of Booking
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

Booking

Field Data Type Description
BookingIdInt64The Unique Booking ID as stored inside our System
BookingDateDateTimeThe Date for the Booking. This is in GMT + 10.
GuestInfoGuestDetailsGuest Information
RoomsList of BookingRatePackageA List of Rooms that were Booked
NoteStringThe Guests Booking Notes
BookingStatusStringStatus of the booking. Possible Values = Confirmed, Cancelled, Pending, Rejected. Pending and Rejected statuses are usually caused by Failed Credit Card charges, or a failure communicating with our data sources. They are not confirmed bookings and have failed.
CheckInDateDateTimeThe Date the Guest will be checking in. This is in the Hotels Timezone.
CheckOutDateDateTimeThe Date the Guest will be checking out. This is in the Hotels Timezone.
BookingAmountDecimalThe Total Booking Amount
OwingAmountDecimalIf there is any money owing for the booking, its returned here.
BookingFeeDecimalIf there was a booking fee collected, then its returned here.
CurrencyIsoStringThe ISO Currency for the amounts on this booking.
AdultInt32Qty of Adults
ChildrenInt32Qty of Children
InfantsInt32Qty of Infants
BookingExtrasList of BookingExtraBooking Extras are quite detailed in how they work, you really need to be trained on how bookings extras work from a users perspective to understand them. You can visit http://www.resonline.com/help for more information.
BookingSourceStringWhat source caused this booking to be booked.
SourceBookingRefStringWhen the booking came from a 3rd Party OTA, then this is their Unique Booking ID
SecureDataKeyStringUsed to access the Credit Card Details
CardDetailsCreditCardCredit Card Details are not returned by this API. These Fields are still here for legacy purposes.
RatesByNightList of RateByNightA breakdown of the nights that were booked and what Rate each night was.
BookingAmountIncludingTaxDecimalThe Total Booking Amount Including Tax. Only populated if this information is supplied by the upstream channel. If there is any ambiguity, this field will be left null
BookingAmountExcludingTaxDecimalThe Total Booking Amount Excluding Tax. Only populated if this information is supplied by the upstream channel. If there is any ambiguity, this field will be left null
TaxFeesList of TaxFeeA breakdown of the taxes and fees applied to this booking. As supplied by the upstream channel.
OtaRateCodeStringCode of RatePlan at OTA before rewriting
OtaRateNameStringName of RatePlan at OTA before rewriting
BookingFlagsList of StringFlags applied to this booking
SpecialRequestsList of SpecialRequestSpecial requests for this booking
BookingDepositsList of BookingDepositDeposts made against this booking when received by the OTA
BookingAffiliationsList of BookingAffiliationAffiliations for this booking.

GuestDetails

Guest Information

Field Data Type Description
NameString
TitleString
FirstNameString
LastNameString
AddressString
Address1String
Address2String
Address3String
SuburbString
StateString
PostcodeString
CountryString
EmailAddressString
PhoneNumberString

BookingRatePackage

A List of Rooms that were Booked

Field Data Type Description
NameString
NightsInt32
RatePackageIdInt64

BookingExtra

Booking Extras are quite detailed in how they work, you really need to be trained on how bookings extras work from a users perspective to understand them. You can visit http://www.resonline.com/help for more information.

Field Data Type Description
BookingExtraIdInt64ID For the booking Extra
BookingExtraTypeBookingExtraTypeThe Type of Booking Extra
NameStringIts Name
DescriptionStringA Long description of the Extra which makes sense to the Guest and the Property
AmountDecimalAmount
AdultQuantityInt64Qty of Adults that have chosen this Extra.
AdultAmountDecimalThe Monetary value for this booking Extra which is specific for the Adults that chose it.
ChildQuantityInt64Qty of Children that have chosen this Extra.
ChildAmountDecimalThe Monetary value for this booking Extra which is specific for the Children that chose it.
QuantityDecimalThis field is used for the Per Quantity booking extra types. It specifies how many of the extra have been purchased in the booking.

BookingExtraType

The Type of Booking Extra

Field Data Type Description
BOOQty per Booking
NGTQty Per Night
PERQty per Person
QTYQty of this Extra

CreditCard

Credit Card Details are not returned by this API. These Fields are still here for legacy purposes.

Field Data Type Description
CardNumberString
ExpiryDateString
NameOnCardString
CCVString

RateByNight

A breakdown of the nights that were booked and what Rate each night was.

Field Data Type Description
DateDateTimeStay Date
NightInt32Night Number.
RateDecimalThis value includes all accommodation, taxes, fees and Extra Pax Charges.
AmountExcludingTaxAndFeesDecimalIncludes the Accommodation only rate, excluding taxes and fees. We don't always know what this is, so if this field is empty you will be forced to use the Rate field instead. Now - A rule of thumb is, if this field is populated, but the tax field is 0 that actually means that we don't know what the tax is. So this field could in fact mean that it is inclusive of fees and taxes. Ultimately, because we aren't always told we are between a rock and a hard place in being able to tell you. If this field is missing, then the default is 0
TaxDecimalThe Tax that was charged for this night. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0
FeesDecimalThe fees that were charged for this night. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0
ExtraPaxChargesExcludingTaxAndFeesDecimalIf extra pax charges were applied, these are put in this field, excluding any tax or fees. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0

TaxFee

A breakdown of the taxes and fees applied to this booking. As supplied by the upstream channel.

Field Data Type Description
NameStringTax/Fee Name. As supplied by the upstream channel
DescriptionStringTax/Fee Description. As supplied by the upstream channel
AmountDecimalAmount of the tax or fee. As supplied by the upstream channel

SpecialRequest

Special requests for this booking

Field Data Type Description
NameString
DescriptionString

BookingDeposit

Deposts made against this booking when received by the OTA

Field Data Type Description
PaymentAmtDecimal
CurrencyString
DepositTypeString
DescriptionString

BookingAffiliation

Affiliations for this booking.

Field Data Type Description
NameString
AffiliationNumberString
NumberTypeString
AffiliationTypeString

GetInventory

GetInventory returns all of the existing rates, availability, stopsell, min nights and inclusions for the supplied rate packages and date ranges.

GetInventoryResponse GetInventory(GetInventoryRequest request)

Method Parameters

Field Data Type Description
requestGetInventoryRequest

GetInventoryRequest

Field Data Type Description
RatePackagesRatePackageIdOne or More Rate Package Id
StartDateDateTimeStart date of specified inventory detail.
EndDateDateTimeEnd date of specified inventory detail.
IncludeArrivalAndDepartureSettingsBooleanSet to true if you want the object returned to contain the Arrival and Departure restriction dates. This is false by default for backward compatibility.
IncludeDerivedRatesFlagBooleanThe response will flag rates that have been derived
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

RatePackageId

One or More Rate Package Id

Field Data Type Description
CapacityInt32
CountInt32
ItemInt64

TimeSpan

Field Data Type Description

GetInventoryResponse

Field Data Type Description
RatePackagesList of RatePackageInventoryDetail
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

RatePackageInventoryDetail

Field Data Type Description
RatePackageIdInt64Rate Package Id for which inventory is specified.
InventoryList of RateDetails
StatusBooleanStatus of Rate Package Id. E.g True , False.
MessageStringThis field only displays a message if the response has any error for this Rate Package Id.

RateDetails

Field Data Type Description
RateDecimalOptional Value, if you are not changing the Rate, then leave this out or set it to nil
RateApplicationTypeRateApplicationTypeOptional Value, If you are changing the Rate, then set this to the appropriate RateApplicationType otherwise leave it out, or set it to nil
AvailabilityInt32Optional Value, If you are changing the Availability, then set this to the appropriate value otherwise leave it out, or set it to nil
AvailabilityApplicationTypeAvailabilityApplicationTypeOptional Value, If you are changing the Availability, then set this to the appropriate AvailabilityApplicationType otherwise leave it out, or set it to nil
StopSellBooleanOptional Value, If you are changing the StopSell value, then set this to the appropriate value otherwise leave it out, or set it to nil
InclusionsStringOptional Value, set it, or leave it out or set to nil if you don't want to change it.
MinimumNightStayInt32Optional Value, set it, or leave it out or set to nil if you don't want to change it.
FromDateDateTimeThe Start Date for the dates you want to alter (inclusive)
ToDateDateTimeThe End Date for the dates you want to alter (inclusive)
MaximumNightStayInt32Optional Value for the maximum night a guest can stay to utilize this rate / date. If you need to remove the MaximumNight Setting, set this to 9999 and the API will remove it from the Database.
CanArriveBooleanIf true, travelers are allowed to arrive at the property between this date range.
CanDepartBooleanIf true, travelers are allowed to depart from the property between this date range.
DerivedBooleanIndicates if the rate has been derived

RateApplicationType

Optional Value, If you are changing the Rate, then set this to the appropriate RateApplicationType otherwise leave it out, or set it to nil

Field Data Type Description
SET
INCREASE
INCREASE_PERCENT
DECREASE
DECREASE_PERCENT

AvailabilityApplicationType

Optional Value, If you are changing the Availability, then set this to the appropriate AvailabilityApplicationType otherwise leave it out, or set it to nil

Field Data Type Description
SET
INCREASE
DECREASE

GetModifiedBookings

GetModifiedBookings returns all new, cancelled and modified bookings that have occurred between the supplied date range. This is the best method to call as it does return new, cancelled and modified bookings all in the one call.

GetModifiedBookingsResponse GetModifiedBookings(GetModifiedBookingsRequest request)

Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetModifiedBookings>
         <ns:request>
            <ns1:ChannelManagerUsername>asdfasdf</ns1:ChannelManagerUsername>
            <ns1:ChannelManagerPassword>asdfasdf</ns1:ChannelManagerPassword>
            <ns1:Username>asdfasdfdddd</ns1:Username>
            <ns1:Password>asdfasdfasdf</ns1:Password>
            <ns1:HotelId>123456</ns1:HotelId>
            <ns:EndDate>2014-04-25</ns:EndDate>
            <ns:StartDate>2014-04-01</ns:StartDate>
         </ns:request>
      </ns:GetModifiedBookings>
   </soapenv:Body>
</soapenv:Envelope>

Method Parameters

Field Data Type Description
requestGetModifiedBookingsRequest

GetModifiedBookingsRequest

Field Data Type Description
StartDateDateTimeThe start date(yyyy-MM-dd) for when the booking was modified, to which the query is to be applied to. This starts at 12:00 am
EndDateDateTimeThe end date(yyyy-MM-dd) for when the booking was modified, to which the query is to be applied to. This date does not include time, so specify TodaysDate+1day to retrieve 'Todays' information
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

TimeSpan

Field Data Type Description

GetModifiedBookingsResponse

Field Data Type Description
BookingsList of Booking
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

Booking

Field Data Type Description
BookingIdInt64The Unique Booking ID as stored inside our System
BookingDateDateTimeThe Date for the Booking. This is in GMT + 10.
GuestInfoGuestDetailsGuest Information
RoomsList of BookingRatePackageA List of Rooms that were Booked
NoteStringThe Guests Booking Notes
BookingStatusStringStatus of the booking. Possible Values = Confirmed, Cancelled, Pending, Rejected. Pending and Rejected statuses are usually caused by Failed Credit Card charges, or a failure communicating with our data sources. They are not confirmed bookings and have failed.
CheckInDateDateTimeThe Date the Guest will be checking in. This is in the Hotels Timezone.
CheckOutDateDateTimeThe Date the Guest will be checking out. This is in the Hotels Timezone.
BookingAmountDecimalThe Total Booking Amount
OwingAmountDecimalIf there is any money owing for the booking, its returned here.
BookingFeeDecimalIf there was a booking fee collected, then its returned here.
CurrencyIsoStringThe ISO Currency for the amounts on this booking.
AdultInt32Qty of Adults
ChildrenInt32Qty of Children
InfantsInt32Qty of Infants
BookingExtrasList of BookingExtraBooking Extras are quite detailed in how they work, you really need to be trained on how bookings extras work from a users perspective to understand them. You can visit http://www.resonline.com/help for more information.
BookingSourceStringWhat source caused this booking to be booked.
SourceBookingRefStringWhen the booking came from a 3rd Party OTA, then this is their Unique Booking ID
SecureDataKeyStringUsed to access the Credit Card Details
CardDetailsCreditCardCredit Card Details are not returned by this API. These Fields are still here for legacy purposes.
RatesByNightList of RateByNightA breakdown of the nights that were booked and what Rate each night was.
BookingAmountIncludingTaxDecimalThe Total Booking Amount Including Tax. Only populated if this information is supplied by the upstream channel. If there is any ambiguity, this field will be left null
BookingAmountExcludingTaxDecimalThe Total Booking Amount Excluding Tax. Only populated if this information is supplied by the upstream channel. If there is any ambiguity, this field will be left null
TaxFeesList of TaxFeeA breakdown of the taxes and fees applied to this booking. As supplied by the upstream channel.
OtaRateCodeStringCode of RatePlan at OTA before rewriting
OtaRateNameStringName of RatePlan at OTA before rewriting
BookingFlagsList of StringFlags applied to this booking
SpecialRequestsList of SpecialRequestSpecial requests for this booking
BookingDepositsList of BookingDepositDeposts made against this booking when received by the OTA
BookingAffiliationsList of BookingAffiliationAffiliations for this booking.

GuestDetails

Guest Information

Field Data Type Description
NameString
TitleString
FirstNameString
LastNameString
AddressString
Address1String
Address2String
Address3String
SuburbString
StateString
PostcodeString
CountryString
EmailAddressString
PhoneNumberString

BookingRatePackage

A List of Rooms that were Booked

Field Data Type Description
NameString
NightsInt32
RatePackageIdInt64

BookingExtra

Booking Extras are quite detailed in how they work, you really need to be trained on how bookings extras work from a users perspective to understand them. You can visit http://www.resonline.com/help for more information.

Field Data Type Description
BookingExtraIdInt64ID For the booking Extra
BookingExtraTypeBookingExtraTypeThe Type of Booking Extra
NameStringIts Name
DescriptionStringA Long description of the Extra which makes sense to the Guest and the Property
AmountDecimalAmount
AdultQuantityInt64Qty of Adults that have chosen this Extra.
AdultAmountDecimalThe Monetary value for this booking Extra which is specific for the Adults that chose it.
ChildQuantityInt64Qty of Children that have chosen this Extra.
ChildAmountDecimalThe Monetary value for this booking Extra which is specific for the Children that chose it.
QuantityDecimalThis field is used for the Per Quantity booking extra types. It specifies how many of the extra have been purchased in the booking.

BookingExtraType

The Type of Booking Extra

Field Data Type Description
BOOQty per Booking
NGTQty Per Night
PERQty per Person
QTYQty of this Extra

CreditCard

Credit Card Details are not returned by this API. These Fields are still here for legacy purposes.

Field Data Type Description
CardNumberString
ExpiryDateString
NameOnCardString
CCVString

RateByNight

A breakdown of the nights that were booked and what Rate each night was.

Field Data Type Description
DateDateTimeStay Date
NightInt32Night Number.
RateDecimalThis value includes all accommodation, taxes, fees and Extra Pax Charges.
AmountExcludingTaxAndFeesDecimalIncludes the Accommodation only rate, excluding taxes and fees. We don't always know what this is, so if this field is empty you will be forced to use the Rate field instead. Now - A rule of thumb is, if this field is populated, but the tax field is 0 that actually means that we don't know what the tax is. So this field could in fact mean that it is inclusive of fees and taxes. Ultimately, because we aren't always told we are between a rock and a hard place in being able to tell you. If this field is missing, then the default is 0
TaxDecimalThe Tax that was charged for this night. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0
FeesDecimalThe fees that were charged for this night. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0
ExtraPaxChargesExcludingTaxAndFeesDecimalIf extra pax charges were applied, these are put in this field, excluding any tax or fees. We don't always know what this is - we can only supply this if the tax is supplied by the booking source. If this field is missing, then the default is 0

TaxFee

A breakdown of the taxes and fees applied to this booking. As supplied by the upstream channel.

Field Data Type Description
NameStringTax/Fee Name. As supplied by the upstream channel
DescriptionStringTax/Fee Description. As supplied by the upstream channel
AmountDecimalAmount of the tax or fee. As supplied by the upstream channel

SpecialRequest

Special requests for this booking

Field Data Type Description
NameString
DescriptionString

BookingDeposit

Deposts made against this booking when received by the OTA

Field Data Type Description
PaymentAmtDecimal
CurrencyString
DepositTypeString
DescriptionString

BookingAffiliation

Affiliations for this booking.

Field Data Type Description
NameString
AffiliationNumberString
NumberTypeString
AffiliationTypeString

GetRatePackages

GetRatePackages will return the RatePackages that a property has for sale in their account.

GetRatePackagesResponse GetRatePackages(GetRatePackagesRequest request)

Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetRatePackages>
         <ns:request>
            <ns1:ChannelManagerUsername>ChannelManagerUsername</ns1:ChannelManagerUsername>
            <ns1:ChannelManagerPassword>ChannelManagerPassword</ns1:ChannelManagerPassword>
            <ns1:Username>propertyusername</ns1:Username>
            <ns1:Password>propertypassword</ns1:Password>
            <ns1:HotelId>123456</ns1:HotelId>
         </ns:request>
      </ns:GetRatePackages>
   </soapenv:Body>
</soapenv:Envelope>

Method Parameters

Field Data Type Description
requestGetRatePackagesRequest

GetRatePackagesRequest

Field Data Type Description
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

TimeSpan

Field Data Type Description

GetRatePackagesResponse

Field Data Type Description
RoomsList of RoomA List of Rooms for sale on this Hotel.
HotelIdInt64Not returned by the API.
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

Room

A List of Rooms for sale on this Hotel.

Field Data Type Description
NameStringRooms Name.
RoomIDInt64Not Returned by the API.
RatePackagesList of RatePackageThe list of RatePackages for the Room. This is the actual item that gets booked so when you are fetching what is for sale from a property, you should use these items.

RatePackage

The list of RatePackages for the Room. This is the actual item that gets booked so when you are fetching what is for sale from a property, you should use these items.

Field Data Type Description
NameString:)
RatePackageIdInt64Unique Identifier for the RatePackage
RatePackageDescriptionStringA Long description describing the Rate Package. This description is intended to be used by the Guest when choosing to make a booking.
MaximumGuestsInt32The Maximum number of guests who are allowed to stay in this room.
GuestsIncludedInt32The Qty of guests that are included in the price. Any extra adults or children who will be staying will incur the Extra Charges (Adult or Child)
RestrictOnMinimumNightBoolean
DerivedRatePackagesList of DerivedRatePackageRule for calculating derived rates for this rate package

DerivedRatePackage

Rule for calculating derived rates for this rate package

Field Data Type Description
ParentRatePackageIdInt64RatePackageId that the rate is derived from
DaysFromInt32Days from today to start applying this rule
DaysUntilInt32Days after today to apply this rule
RatePlanDerivationTypeRatePlanDerivationTypeType of rate derivation
DerivedValueDecimalValue used in the derivation calculation
RoundingRoundingHow to round the result

RatePlanDerivationType

Type of rate derivation

Field Data Type Description
PERPercentage
VALValue
MANManually Set

Rounding

How to round the result

Field Data Type Description
UPRound Up
DOWNRound Down
NEARRound to the closest whole
NONENo rounding

SaveArrivalAndDepartureRestrictions

SaveArrivalAndDepartureRestrictions will update the settings in Resonline for when travelers are able to arrive or depart from the property for a rate package. If you don't specify a date range, then the values for that date range will remain unchanged. By default, Resonline defaults to allow arrival and departure to a property for a date unless told otherwise.

SaveArrivalAndDepartureRestrictionsResponse SaveArrivalAndDepartureRestrictions(SaveArrivalAndDepartureRestrictionsRequest request)

Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:SaveArrivalAndDepartureRestrictions>
         <ns:request>
            <ns1:ChannelManagerUsername>ChannelManagerUsername</ns1:ChannelManagerUsername>
            <ns1:ChannelManagerPassword>ChannelManagerPassword</ns1:ChannelManagerPassword>
            <ns1:Username>propertyusername</ns1:Username>
            <ns1:Password>propertypassword</ns1:Password>
            <ns1:HotelId>123456</ns1:HotelId>
            <ns:RatePackages>
               <ns:RatePackageArrivalAndDepartureInformation>
                  <ns:ArrivalAndDepartureDateRanges>
                     <ns:ArrivalAndDepartureDateRange>
                        <ns:CanArrive>true</ns:CanArrive>
                        <ns:CanDepart>true</ns:CanDepart>
                        <ns:FromDate>2019-07-01T00:00:00</ns:FromDate>
                        <ns:ToDate>2019-07-09T00:00:00</ns:ToDate>
                     </ns:ArrivalAndDepartureDateRange>
                     <ns:ArrivalAndDepartureDateRange>
                        <ns:CanArrive>false</ns:CanArrive>
                        <ns:CanDepart>true</ns:CanDepart>
                        <ns:FromDate>2019-07-10T00:00:00</ns:FromDate>
                        <ns:ToDate>2019-07-13T00:00:00</ns:ToDate>
                     </ns:ArrivalAndDepartureDateRange>
                     <ns:ArrivalAndDepartureDateRange>
                        <ns:CanArrive>true</ns:CanArrive>
                        <ns:CanDepart>true</ns:CanDepart>
                        <ns:FromDate>2019-07-14T00:00:00</ns:FromDate>
                        <ns:ToDate>2019-07-16T00:00:00</ns:ToDate>
                     </ns:ArrivalAndDepartureDateRange>
                     <ns:ArrivalAndDepartureDateRange>
                        <ns:CanArrive>true</ns:CanArrive>
                        <ns:CanDepart>false</ns:CanDepart>
                        <ns:FromDate>2019-07-17T00:00:00</ns:FromDate>
                        <ns:ToDate>2019-07-19T00:00:00</ns:ToDate>
                     </ns:ArrivalAndDepartureDateRange>
                     <ns:ArrivalAndDepartureDateRange>
                        <ns:CanArrive>true</ns:CanArrive>
                        <ns:CanDepart>true</ns:CanDepart>
                        <ns:FromDate>2019-07-20T00:00:00</ns:FromDate>
                        <ns:ToDate>2019-07-31T00:00:00</ns:ToDate>
                     </ns:ArrivalAndDepartureDateRange>
                  </ns:ArrivalAndDepartureDateRanges>
                  <ns:RatePackageId>123456</ns:RatePackageId>
               </ns:RatePackageArrivalAndDepartureInformation>
            </ns:RatePackages>
         </ns:request>
      </ns:SaveArrivalAndDepartureRestrictions>
   </soapenv:Body>
</soapenv:Envelope>

Method Parameters

Field Data Type Description
requestSaveArrivalAndDepartureRestrictionsRequest

SaveArrivalAndDepartureRestrictionsRequest

Field Data Type Description
RatePackagesList of RatePackageArrivalAndDepartureDetail
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

RatePackageArrivalAndDepartureDetail

Field Data Type Description
RatePackageIdInt64Rate Package Id for which this Arrival and Departure detail is specified.
ArrivalAndDepartureDateRangesList of ArrivalAndDepartureDateRangeList of ArrivalAndDeparture date ranges
StatusBooleanUsed during validation to respond if your supplied data is valid. Status of Rate Package Id. E.g True , False. Set to null when using this object for the Save message
MessageStringThis field only displays a message if the response has any validation errors for this Rate Package Id. Set to null when using this object for the Save message

ArrivalAndDepartureDateRange

List of ArrivalAndDeparture date ranges

Field Data Type Description
CanArriveBooleantrue if the guest can arrive between the date range, false if not
CanDepartBooleantrue if the guest can depart between the date range, false if not
FromDateDateTimeThe Start Date for the dates range (inclusive). Even though this is a DateTime, the Time portion should also be ignored.
ToDateDateTimeThe End Date for the date range (inclusive). Even though this is a DateTime, the Time portion should also be ignored.

TimeSpan

Field Data Type Description

SaveArrivalAndDepartureRestrictionsResponse

Field Data Type Description
SuccessBoolean
MessageString
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

SaveDCOverride

SaveDCOverride Will place an overridden rate/stopsell for the channel.

SaveDCOverrideResponse SaveDCOverride(SaveDCOverrideRequest request)

Method Parameters

Field Data Type Description
requestSaveDCOverrideRequest

SaveDCOverrideRequest

Field Data Type Description
DCOverridesList of DCOverride
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

DCOverride

Field Data Type Description
RatePlanIdInt64Exactly the same as the RatePackageId field used in other messages
DistributionChannelIdInt64The ID Of the Distribution Channel - Use the ContentService->GetStaticData message to get the list of valid ids to use. You should have a system in place to regularly refresh this list, as we are constantly adding new Channels.
StartDateDateTimeThe Start Date for the override to be applied to. (Inclusive)
EndDateDateTimeThe Ending Date for the Override to be applied to. (Inclusive)
RateDecimal(Optional) The Rate you want to set for the override. If you don't want to change the rate, leave this element out or use the nil="true" attribute of xml if your framework won't allow you to ommit this field.
StopSellBooleanThe Stopsell value you want for the override. Like the Rate Field, if you don't want to change the stopsell value, leave this element out or use the nul="true" attribute of xml if your framework won't allow you to ommit this field..

TimeSpan

Field Data Type Description

SaveDCOverrideResponse

Field Data Type Description
SuccessBoolean
MessageString
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

UpdateEmailAddress

UpdateEmailAddress should be called if you want to alter the reservation contacts email address which is used when bookings are made or cancelled.

UpdateEmailAddressResponse UpdateEmailAddress(UpdateEmailAddressRequest request)

Method Parameters

Field Data Type Description
requestUpdateEmailAddressRequest

UpdateEmailAddressRequest

Field Data Type Description
EmailAddressStringThe new Reservation Managers EmailAddress
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

TimeSpan

Field Data Type Description

UpdateEmailAddressResponse

Field Data Type Description
UpdateStatusBoolean
MessageString
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

UpdateRatePackages

UpdateRatePackages will alter the availability, rates, stopsell, or inclusions for the supplied rate package and dates.

UpdateRatePackagesResponse UpdateRatePackages(UpdateRatePackagesRequest request)

Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:UpdateRatePackages>
         <ns:request>
            <ns1:ChannelManagerUsername>asdf</ns1:ChannelManagerUsername>
            <ns1:ChannelManagerPassword>asdf</ns1:ChannelManagerPassword>
            <ns1:Username>293748234</ns1:Username>
            <ns1:Password>kjsadfjkjs</ns1:Password>
            <ns1:HotelId>123456</ns1:HotelId>
            <ns:RatePackages>
               <ns:UpdateRatePackageRequest>
                  <ns:RatePackageId>1123</ns:RatePackageId>
                  <ns:Rates>
                     <ns:RateDetails>
                        <ns:Availability>4</ns:Availability>
                        <ns:AvailabilityApplicationType>SET</ns:AvailabilityApplicationType>
                        <ns:FromDate>2013-05-14T00:00:00</ns:FromDate>
                        <ns:StopSell>false</ns:StopSell>
                        <ns:ToDate>2013-05-16T00:00:00</ns:ToDate>
                     </ns:RateDetails>
                  </ns:Rates>
               </ns:UpdateRatePackageRequest>
            </ns:RatePackages>
         </ns:request>
      </ns:UpdateRatePackages>
   </soapenv:Body>
</soapenv:Envelope>

Method Parameters

Field Data Type Description
requestUpdateRatePackagesRequest

UpdateRatePackagesRequest

Field Data Type Description
RatePackagesList of UpdateRatePackageRequestProvide a List of RatePackage that you want to update
ChannelManagerUsernameStringChannel Managers Username as supplied when the Channel Manager Agreement was made
ChannelManagerPasswordStringChannel Managers password as supplied when the Channel Manager Agreement was made
UsernameStringHotels Username, if you are creating a new hotel and don't yet have this information, send in your desired Username, otherwise it must be the Username that has been allocated to this hotel
PasswordStringHotels Password, if you are creating a new hotel and don't yet have this information, send in your desired Password, otherwise it must be the Password that has been allocated to this hotel
HotelIdInt64The HotelID that you want to work with. This software can access more than one hotel from the same username and password.
HotelAuthenticationKeyStringAuthentication for a hotel can also be achieved by passing in the correct HotelAuthenticationKey. If you have been informed by us how to build this key, then you can use this key instead of supplying the Hotels Username and Password. If you do not know how to build the key, then your connection hasn't been approved for this style of authentication and you should use the Hotels Username and Password to achieve authentication. Note, if you are creating a Hotel, you must supply the username and password, you cannot use the HotelAuthenticationKey field, so set this to an Empty String. Last Note. Set this to an empty string if you are supplying username and password.

UpdateRatePackageRequest

Provide a List of RatePackage that you want to update

Field Data Type Description
RatePackageIdInt64The RatePackage ID you will be updating.
RatesList of RateDetailsThe list of Modifications for this RatePackageId
RatePackageNameStringNot Requred
RoomIdInt64Not Requred

RateDetails

The list of Modifications for this RatePackageId

Field Data Type Description
RateDecimalOptional Value, if you are not changing the Rate, then leave this out or set it to nil
RateApplicationTypeRateApplicationTypeOptional Value, If you are changing the Rate, then set this to the appropriate RateApplicationType otherwise leave it out, or set it to nil
AvailabilityInt32Optional Value, If you are changing the Availability, then set this to the appropriate value otherwise leave it out, or set it to nil
AvailabilityApplicationTypeAvailabilityApplicationTypeOptional Value, If you are changing the Availability, then set this to the appropriate AvailabilityApplicationType otherwise leave it out, or set it to nil
StopSellBooleanOptional Value, If you are changing the StopSell value, then set this to the appropriate value otherwise leave it out, or set it to nil
InclusionsStringOptional Value, set it, or leave it out or set to nil if you don't want to change it.
MinimumNightStayInt32Optional Value, set it, or leave it out or set to nil if you don't want to change it.
FromDateDateTimeThe Start Date for the dates you want to alter (inclusive)
ToDateDateTimeThe End Date for the dates you want to alter (inclusive)
MaximumNightStayInt32Optional Value for the maximum night a guest can stay to utilize this rate / date. If you need to remove the MaximumNight Setting, set this to 9999 and the API will remove it from the Database.
CanArriveBooleanIf true, travelers are allowed to arrive at the property between this date range.
CanDepartBooleanIf true, travelers are allowed to depart from the property between this date range.
DerivedBooleanIndicates if the rate has been derived

RateApplicationType

Optional Value, If you are changing the Rate, then set this to the appropriate RateApplicationType otherwise leave it out, or set it to nil

Field Data Type Description
SET
INCREASE
INCREASE_PERCENT
DECREASE
DECREASE_PERCENT

AvailabilityApplicationType

Optional Value, If you are changing the Availability, then set this to the appropriate AvailabilityApplicationType otherwise leave it out, or set it to nil

Field Data Type Description
SET
INCREASE
DECREASE

TimeSpan

Field Data Type Description

UpdateRatePackagesResponse

Field Data Type Description
ResultsList of UpdateRatePackageResult
TimestampDateTime
MessageIdString
HotelAuthenticationKeyString

UpdateRatePackageResult

Field Data Type Description
ErrorCodeString
MessageString
RatePackageIdInt64
SuccessBoolean