Table of Contents

Seaware OTA API Protocols

Seaware OTA is an application that implements Versonix OTA interface and allows to integrate Seaware system with cruise line trading partners and GDS systems.

At transport level SwOta provides the following interfaces:

  • REST Web Services interface
  • SOAP Web Services interface

REST (Plain XML)

The REST interface provides a simpler, more modern approach to accessing the SwOTA API. REST requests use Auth0 bearer token authentication and direct XML messaging without SOAP envelopes.

Authentication

REST endpoints use Auth0 token-based authentication. You must obtain a bearer token and include it in the Authorization header of each request.

Token Endpoints:

  • Staging: https://travelhx-backend-stage.eu.auth0.com/oauth/token
  • Production: https://partner-travelhx.eu.auth0.com/oauth/token

Audience Values:

  • Staging: https://partner.dev.travelhx.dev/api
  • Production: https://partner.travelhx.com/api

Example Token Request:

curl --request POST \
  --url https://travelhx-backend-stage.eu.auth0.com/oauth/token \
  --header 'content-type: application/json' \
  --data '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","audience":"https://partner.dev.travelhx.dev/api","grant_type":"client_credentials"}'

REST Endpoints

REST endpoints are organized by message type. The pattern is: https://{host}/ota/rest/{MessageName}

Environment URLs:

  • Production: https://bookings.sw.travelhx.com/ota/rest/
  • Staging: https://bookings-stage.sw.travelhx.com/ota/rest/
  • Development: https://bookings-dev.sw.travelhx.com/ota/rest/

Making REST Requests

The REST URLs for specific messages have the message request name in them. The root node in the HTTP POST body must be the *RQ message.

Example REST Request:

POST https://bookings.sw.travelhx.com/ota/rest/OTA_CruiseCategoryAvailRQ
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/xml

<OTA_CruiseCategoryAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" 
    EchoToken="1447052346728.738378"
    PrimaryLangID="ENG" 
    Version="1.481">
    <POS>
        <Source PseudoCityCode="KK11">
            <BookingChannel Type="1">
                <CompanyName>SABRE</CompanyName>
            </BookingChannel>
        </Source>
    </POS>
    <Guest/>
    <Guest/>
    <GuestCounts>
        <GuestCount Code="10" Quantity="2"/>
    </GuestCounts>
    <SailingInfo>
        <SelectedSailing VoyageID="CS1619">
            <CruiseLine ShipCode="CS"/>
        </SelectedSailing>
    </SailingInfo>
    <SelectedFare/>
</OTA_CruiseCategoryAvailRQ>

Supported REST Operations

The following operations are available via REST endpoints at /ota/rest/<MessageName>:

Availability & Search Operations

  • /ota/rest/OTA_CruiseSailAvailRQ - Search available sailings
  • /ota/rest/OTA_CruiseCategoryAvailRQ - Get cabin categories
  • /ota/rest/OTA_CruiseCabinAvailRQ - Find available cabins
  • /ota/rest/OTA_CruiseFareAvailRQ - Search fare options
  • /ota/rest/OTA_CruiseDiningAvailRQ - Dining availability
  • /ota/rest/OTA_CruiseShorexAvailRQ - Shore excursion options
  • /ota/rest/OTA_CruisePkgAvailRQ - Package (hotel) availability
  • /ota/rest/OTA_CruiseFacilityAvailRQ - Facility availability
  • /ota/rest/OTA_CruiseSpecialServiceAvailRQ - Special services availability

Booking Operations

  • /ota/rest/OTA_CruiseBookRQ - Create/modify bookings
  • /ota/rest/OTA_CruisePriceBookingRQ - Get detailed pricing
  • /ota/rest/OTA_ReadRQ - Retrieve booking/profile details
  • /ota/rest/OTA_CancelRQ - Cancel reservations
  • /ota/rest/OTA_CruiseFastSellRQ - Fast sell booking

Inventory Operations

  • /ota/rest/OTA_CruiseCabinHoldRQ - Hold cabin inventory
  • /ota/rest/OTA_CruiseCabinUnholdRQ - Release cabin holds

Payment & Financial

  • /ota/rest/OTA_CruisePaymentRQ - Process payments
  • /ota/rest/OTA_CruiseCancellationPricingRQ - Get cancellation fees

Profile Management

  • /ota/rest/OTA_ProfileCreateRQ - Create customer profile
  • /ota/rest/OTA_ProfileModifyRQ - Update profile

Documents & Information

  • /ota/rest/OTA_CruiseBookingDocumentRQ - Send booking documents
  • /ota/rest/OTA_CruiseInfoRQ - Get cruise information
  • /ota/rest/OTA_CruiseItineraryDescRQ - Get itinerary description
  • /ota/rest/OTA_CruiseCheckInRQ - Check-in operations

Utility

  • /ota/rest/OTA_PingRQ - Connection test

Unsupported REST Operations

The following operations are NOT available via REST and require SOAP or JMS:

Server-Initiated (Reverse Access) Operations

  • OTA_CruisePNR_UpdateNotifRQ - Booking update notifications (SOAP/JMS only)
    • This is a server-to-client push notification for booking changes
    • Requires reverse access configuration
    • Can be sent via SOAP Web Services or JMS ActiveMQ

SOAP

A SOAP message is an ordinary XML document containing the following elements:

  • Envelope - Identifies the XML document as a SOAP message. (Required)
  • Header - Contains header information. (Optional)
  • Body - Contains call, and response information. (Required)
  • Fault - Provides information about errors that occurred while processing the message. (Optional)

Authentication

SOAP endpoints use SSL client certificate authentication. You must have a valid client certificate issued by HX installed in your HTTP client.

SOAP Endpoints

Environment URLs:

  • Production: https://bookings.travelhx.com:8082/ota/ws
  • UAT: https://staging.bookings.travelhx.com:8082/ota/ws
  • Test/Development: https://dev.bookings.travelhx.com:8082/ota/ws
  • WSDL: https://bookings.travelhx.com:8082/ota/sw-ota.wsdl

Example SOAP Message

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:ns="http://www.opentravel.org/OTA/2003/05" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:OTA_CruiseCategoryAvailRQ EchoToken="1447052346728.738378"
            PrimaryLangID="ENG" Version="1.481">
            <ns:POS>
                <ns:Source PseudoCityCode="KK11">
                    <ns:BookingChannel Type="1">
                        <ns:CompanyName>SABRE</ns:CompanyName>
                    </ns:BookingChannel>
                </ns:Source>
            </ns:POS>
            <ns:Guest/>
            <ns:Guest/>
            <ns:GuestCounts>
                <ns:GuestCount Code="10" Quantity="2"/>
            </ns:GuestCounts>
            <ns:SailingInfo>
                <ns:SelectedSailing VoyageID="CS1619">
                    <ns:CruiseLine ShipCode="CS"/>
                </ns:SelectedSailing>
            </ns:SailingInfo>
            <ns:SelectedFare/>
        </ns:OTA_CruiseCategoryAvailRQ>
    </soapenv:Body>
</soapenv:Envelope>

WSDL

The WSDL for the SwOTA installation can be found at the /sw-ota.wsdl web path (e.g. https://bookings.travelhx.com:8082/ota/sw-ota.wsdl).

JMS

In reverse access (only) part of SwOTA there is support for JMS ActiveMQ protocol that can be used instead of HTTP (SOAP or REST) to send OTA_CruisePNR_UpdateNotifRQ messages.