Table of Contents

Cancellation of a Booking

Cancellation Pricing

Cancellation Pricing message pair OTA_CruiseCancellationPricingRQ/RS is sent to Seaware to request the penalties that would be charged if the requested reservation is canceled. It does not actually cancel the booking.

Pricing Request Example

<OTA_CruiseCancellationPricingRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="3cd7d503-8df2-4b69-a683-736afe428d2e" PrimaryLangID="ENG" Version="1">
  <POS>
    <Source>
      <RequestorID Type="5" ID_Context="IATA" ID="12345"/>
      <CompanyName>OPENTRAVEL</CompanyName>
    </Source>
  </POS>
  <ReservationID ID="33333" Type="14" ID_Context="SEAWARE"/>
</OTA_CruiseCancellationPricingRQ>

Pricing Response Example

<vx:OTA_CruiseCancellationPricingRS [..]>
    <vx:Success/>
    <vx:ReservationID ID="10029" ID_Context="SEAWARE" Type="14" [..]>
        [..]
    </vx:ReservationID>
    <vx:SailingInfo>
        [.. info on selected sail, and cabin ..]
    </vx:SailingInfo>
    <vx:CancellationFees>
        <vx:BookingPrices>
            <vx:BookingPrice Amount="24.000" CodeDetail="Cruise fare" PriceTypeCode="45"/>
            <vx:BookingPrice Amount="10.000" CodeDetail="Net commission total" PriceTypeCode="11"/>
            <vx:BookingPrice Amount="20.000" CodeDetail="Amount received" PriceTypeCode="2"/>
            <vx:BookingPrice Amount="30.000" CodeDetail="Balance due" PriceTypeCode="3"/>
            <vx:BookingPrice Amount="40.000" CodeDetail="Pending payments" PriceTypeCode="58"/>
            <vx:BookingPrice Amount="50.000" CodeDetail="Commission received" PriceTypeCode="67"/>
            <vx:BookingPrice Amount="60.000" CodeDetail="Gross totals" PriceTypeCode="8"/>
        </vx:BookingPrices>
        <vx:GuestPrices>
            <vx:GuestPrice GuestRefNumber="1">
                <vx:PriceInfos>
                    <vx:PriceInfo Amount="30.000" CodeDetail="Gross totals" PriceTypeCode="8"/>
                    <vx:PriceInfo Amount="12.000" CodeDetail="Cruise fare" PriceTypeCode="45"/>
                </vx:PriceInfos>
            </vx:GuestPrice>
            <vx:GuestPrice GuestRefNumber="2">
                <vx:PriceInfos>
                    <vx:PriceInfo Amount="30.000" CodeDetail="Gross totals" PriceTypeCode="8"/>
                    <vx:PriceInfo Amount="12.000" CodeDetail="Cruise fare" PriceTypeCode="45"/>
                </vx:PriceInfos>
            </vx:GuestPrice>
        </vx:GuestPrices>
    </vx:CancellationFees>
</vx:OTA_CruiseCancellationPricingRS>

The result contains similar information as described in Booking Pricing article for the OTA_CruisePriceBookingRS message: per-booking and per-guest itemized pricing showing cancellation fees and penalties.

Cancelling a Booking

To cancel the booking (and also an alternative way to look up cancellation pricing) the OTA_CancelRQ/RS message pair is used.

Cancel Request Example

<OTA_CancelRQ xmlns="http://www.opentravel.org/OTA/2003/05" CancelType="Cancel" CorrelationID="5ed7d503-8df2-4b69-a683-736afe428d2e" PrimaryLangID="ENG" Version="1">
    <POS>
        <Source>
            <RequestorID Type="5" ID_Context="IATA" ID="12345"/>
            <CompanyName>OPENTRAVEL</CompanyName>
        </Source>
    </POS>
    <UniqueID ID="33333" Type="14" ID_Context="SEAWARE"/>
</OTA_CancelRQ>

Cancel Types

Booking to be cancelled is identified by UniqueID and optionally verified by information provided in the Verification node. The mandatory POS element determines whether the remote side has permission to cancel the reservation.

Depending on CancelType attribute value several different cancellation-related actions can be performed:

  • Initiate: Cancel booking but do not store. The pre-cancelled booking is then locked and kept in that state for some time interval, waiting for Ignore or Commit OTA_CancelRQ.
  • Ignore: Unlock temporary booking state (will roll back non-stored changes). The booking to be unlocked is picked up by reservation ID and agency ID (POS), so they must match a previous Initiate OTA_CancelRQ call.
  • Commit: Store temporary booking (will preserve all changes). The booking to be committed is picked up by reservation ID and agency ID (POS), so they must match a previous Initiate OTA_CancelRQ call.
  • Cancel: Cancel, and right away store cancelled booking.