Storing a Booking
The client application creates a booking with the CruiseBookRQ/RS message pair. In the request message, the user advises the cruise line of all required information for the sailing, all accompanying passengers and per-passenger selection of secondary inventory items such as shore excursions, transfers, addons, etc. The service responds with the reservation number of the newly created booking (the same number when updating an existing booking) and with pricing and payment schedule details.
Simple Booking Example
Here is a simple example of creating a new booking without cabin selection, without secondary inventory, for single passenger without contact details:
<OTA_CruiseBookRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="3cd7d503-8df2-4b69-a683-736afe428d2e" Version="1.00">
<POS>
[..]
</POS>
<SailingInfo>
<SelectedSailing VoyageID="CS21711JUNKTN">
<CruiseLine/>
</SelectedSailing>
<SelectedCategory PricedCategoryCode="A"/>
</SailingInfo>
<ReservationInfo>
<GuestDetails>
<GuestDetail>
<ContactInfo>
<PersonName>
<GivenName>Guest Name #1</GivenName>
<MiddleName>Guest Middle Name #1</MiddleName>
<Surname>Guest SurName #1</Surname>
</PersonName>
</ContactInfo>
</GuestDetail>
</GuestDetails>
</ReservationInfo>
</OTA_CruiseBookRQ>
Response Example
<vx:OTA_CruiseBookRS xmlns:ns3="http://www.versonix.com/ota"
xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:vx="http://www.opentravel.org/OTA/2003/05"
CorrelationID="3cd7d503-8df2-4b69-a683-736afe428d2e"
TargetName="SW_OTA_TEST@ORADEV"
TimeStamp="2021-08-27T14:27:27.377"
Version="1.999">
<vx:Success/>
<vx:ReservationID BookedDate="2021-08-27T14:27:25" ID="10277" ID_Context="SEAWARE" StatusCode="42" Type="14">
<vx:CompanyName>OPENTRAVEL</vx:CompanyName>
<vx:TPA_Extensions>
<ns3:AgencyInfo Contact="Cruise Line Name Here" ContactID="1"/>
<ns3:TWReferralInfo TWReferralCode="702678D4-0C61-4B9E-BDD1-67F62491275A"/>
</vx:TPA_Extensions>
</vx:ReservationID>
<vx:SailingInfo>
<vx:SelectedSailing Duration="P0D" End="2023-01-30" Start="2023-01-30" VoyageID="CS21711JUNKTN">
[..]
<vx:SelectedCategory PricedCategoryCode="A" WaitlistIndicator="false">
<vx:SelectedCabin CabinCategoryCode="A" CabinCategoryStatusCode="36" CabinNumber="1002" CabinRanking="1" DeckName="Deck #1" DeckNumber="1" GuestRefNumbers="1" MaxOccupancy="2" Status="36">
<vx:Remark>Cabin description</vx:Remark>
</vx:SelectedCabin>
</vx:SelectedCategory>
<vx:Information Name="PKGTYPECOMMENT">
<vx:Text Formatted="false">Long Cruise</vx:Text>
</vx:Information>
<vx:Information Name="ClassificationCodes">
<vx:Text Formatted="false">JUN</vx:Text>
</vx:Information>
</vx:SailingInfo>
<vx:PolicyInfo Name="TERMSANDCONDITIONS">
<vx:Text Formatted="false">The full Terms and Conditions information located at the cruise lines web-site.</vx:Text>
</vx:PolicyInfo>
<vx:BookingPayment>
<vx:BookingPrices>
<vx:BookingPrice Amount="225.120" CodeDetail="Balance due" PriceTypeCode="3"/>
[..]
</vx:BookingPrices>
<vx:PaymentSchedule>
<vx:Payment Amount="225.12" CurrencyCode="USD" DueDate="2023-01-29T23:59:59" PaymentNumber="50"/>
</vx:PaymentSchedule>
<vx:GuestPrices>
<vx:GuestPrice GuestRefNumber="1" LoyaltyMembershipID="465">
<vx:GuestName>
<vx:GivenName>GUEST NAME #1</vx:GivenName>
<vx:MiddleName>GUEST MIDDLE NAME #1</vx:MiddleName>
<vx:Surname>GUEST SURNAME #1</vx:Surname>
</vx:GuestName>
<vx:PriceInfos>
<vx:PriceInfo Amount="225.120" CodeDetail="Gross totals" PriceTypeCode="8"/>
[..]
</vx:PriceInfos>
</vx:GuestPrice>
</vx:GuestPrices>
</vx:BookingPayment>
</vx:OTA_CruiseBookRS>
Response Content
SailingInfo Element
The SailingInfo element, as in most booking-related responses, contains details of the sailing, and selected category and cabin (if selected).
BookingPayment Element
The element BookingPayment contains similar information as described in Booking Pricing article for the OTA_CruisePriceBookingRS message:
- Per-booking and per-guest itemized invoice
- Charges and commissions (configurable by the cruise line)
- Payment schedule
PolicyInfo Element
Terms and conditions may be returned in PolicyInfo elements (there may be several elements with different policy sections, e.g. "Terms and Conditions", "Contact Information", etc.).
Stateful Mode
The same message mentioned above can be used for a temporary booking in stateful mode to update the booking, to store the changes. See SwOTA Stateful Mode for details.