SwOTA Hotels Support
SwOTA supports adding pre and post cruise hotels to bookings using the package availability and booking messages.
Booking with Hotel Example
Example of the booking details with hotel (GuestDetail/SelectedPackages/SelectedPackage[@PackageTypeCode="2"]):
<ReservationInfo>
<GuestDetails>
<GuestDetail>
<ContactInfo GuestRefNumber='1' Gender='Male' Age='32' BirthDate='1990-12-28' Nationality='US' EmergencyFlag='false'>
<PersonName>
<NamePrefix>MR</NamePrefix>
<GivenName>GUEST</GivenName>
<Surname>TESTER</Surname>
</PersonName>
</ContactInfo>
<SelectedPackages>
<SelectedPackage PackageTypeCode="2" Status="47" CruisePackageCode="AMSINTERCONTIN" Start="2022-12-06" Duration="P2D" End="2022-12-08">
<Location>
<CityName>AMS</CityName>
</Location>
</SelectedPackage>
</SelectedPackages>
</GuestDetail>
</GuestDetails>
</ReservationInfo>
This can be used to add hotel for the booking guest.
Hotel Availability
The details of the hotel "package" are taken from the availability call response.
Availability Request Example
<OTA_CruisePkgAvailRQ Version="1.0" xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="b6947090-1438-4f8f-ac00-65b55c6ae12d">
<POS>
<Source PseudoCityCode="KK1234">
<RequestorID Type="5" ID_Context="IATA" ID="123456"/>
<BookingChannel Type="1">
<CompanyName>SABRE</CompanyName>
</BookingChannel>
</Source>
</POS>
<GuestCounts>
<GuestCount Quantity="2"/>
</GuestCounts>
<SailingInfo>
<SelectedSailing VoyageID="TST170519-12">
<CruiseLine ShipCode="TS"/>
</SelectedSailing>
<Currency CurrencyCode="USD"/>
<SelectedCategory PricedCategoryCode="A3"/>
</SailingInfo>
<PackageOption PackageTypeCode="102" Start="2017-05-18" End="2017-05-19" Status="47">
<Location>
<CityName>USNYC</CityName>
</Location>
</PackageOption>
</OTA_CruisePkgAvailRQ>
Availability Response Example
<vx:OTA_CruisePkgAvailRS xmlns:vx="http://www.opentravel.org/OTA/2003/05" xmlns:ns3="http://www.versonix.com/ota" TimeStamp="2017-02-18T02:02:40.399" TargetName="SEAWARE" Version="1.105" CorrelationID="b6947090-1438-4f8f-ac00-65b55c6ae12d">
<vx:Success/>
<vx:SailingInfo>
<vx:SelectedSailing VoyageID="TST170519-12" Start="2017-05-19" Duration="P12D" End="2017-05-31">
<vx:CruiseLine VendorCode="TEST.." ShipCode="TS" ShipName="Test Ship"/>
<vx:DeparturePort EmbarkationTime="2017-05-19T12:00:00" LocationCode="USNYC"/>
<vx:ArrivalPort DebarkationDateTime="2017-05-31T10:00:00" LocationCode="ISREY"/>
</vx:SelectedSailing>
<vx:Currency CurrencyCode="USD"/>
<vx:SelectedCategory WaitlistIndicator="false" FareCode="BESTPRICE" PricedCategoryCode="A3"/>
</vx:SailingInfo>
<vx:CruisePackages>
<vx:CruisePackage PackageTypeCode="102" Status="47" CruisePackageCode="NYC INTERCONT" Start="2017-05-18" End="2017-05-19">
<vx:Location>
<vx:CityName>USNYC</vx:CityName>
</vx:Location>
</vx:CruisePackage>
</vx:CruisePackages>
</vx:OTA_CruisePkgAvailRS>
Package Type Codes
Hotel packages use specific package type codes in the OTA specification:
- PrePackage (Code 2): Pre-cruise hotel
- PostPackage (Code 3): Post-cruise hotel
- PreLandPackage (Code 102): Pre-cruise land package
- PostLandPackage (Code 103): Post-cruise land package
See OTA Code Lists for complete package type code mappings.
Limitations
Warning
There is no field in OTA public specification for Room Type, so there is no support for it in SwOTA.
If Seaware pricing setup defines price per room type without the catch-all price (for any room type) then SwOTA will not be able to correctly add hotel to the booking (without room type specified), resulting in error or in missing invoice items for the added hotel.