Skip to main content
Already know OTA messages? Jump straight into testing.

OTA_CancelRQ API call

Skip & Hit the Playground.

Purpose

  • Cancel a confirmed reservation (CancelType="Commit").
  • Request a penalty quote without cancelling (CancelType="Quote").
  • Target the booking by either the client reference or Axis Data internal reference (UniqueID/@ID with ID_Context="Client" or ID_Context="Internal").

Structure - Root Element

<OTA_CancelRQ>
Key Attributes:

Structure - Core Elements

POS (Point of Sale)

Identifies the requesting party and contains credentials.
<POS>
  <Source>
    <RequestorID ID_Context="AxisData" ID="TST1" Type="22"/>
  </Source>
  <Source>
    <RequestorID Type="88" ID="TST1" MessagePassword="TST1password?"/>
  </Source>
</POS>

UniqueID

Required. Specifies the booking or component to be cancelled or quoted.
  • ID (required): booking reference number (client or Axis Data internal).
  • ID_Context: “Client” or “Internal”.
  • Type: “36”.
<UniqueID Type="36" ID="TEST_AXIS" ID_Context="Client"/>

Partial Cancellation

Add the component, not the whole booking.
  • ID (required): booking reference number (client or Axis Data internal).
  • ID_Context: “Client” or “Internal”.
  • Type: “37”.
<UniqueID Type="37" ID="TEST_AXIS_ac1" ID_Context="Client"/>

Behavior & Rules

  • CancelType="Commit" performs the cancellation if allowed.
  • CancelType="Quote" returns penalty information; no cancellation performed.
  • Partial cancellation: If you include a child item reference, only indicated item will be cancelled. If this removes the last valid item, the entire booking will be cancelled.
  • Response heads-up: OTA_CancelRS will return Status="Committed" after a successful cancel, or Status="Pending" for quotes, and may include CancelRule@CancelByDate indicating the timestamp the cancel was registered.

Complete Examples

<OTA_CancelRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="2008.1" CancelType="Quote">
  <POS>
    <Source>
      <RequestorID ID_Context="AxisData" ID="TST1" Type="22"/>
    </Source>
    <Source>
      <RequestorID Type="88" ID="TST1" MessagePassword="TST1password?"/>
    </Source>
  </POS>
  <UniqueID Type="36" ID="TEST_AXIS" ID_Context="Client"/>
</OTA_CancelRQ>

Best Practices

  1. Use the correct booking reference and matching ID_Context to avoid cancelling the wrong booking.
  2. Prefer CancelType="Quote" before Commit to surface penalties and cutoffs to the user.
  3. Keep credentials in POS/Source/RequestorID aligned with your test/production environment.

Playground

OTA_CancelRQ API call

Try our API playground in real time.
Use the examples to hit the test environment;