Plane Cancellations

Step 1: Requesting the cancellation details

Before starting cancellation GetBookingDetails command (see GetBookingDetails request and response XML) need to be call in order to check if cancellation is possible to perform, to look up tax break down which contains all cancellation fees and to check the terms and conditions of the booking you wish to cancel before initiating cancellation. Request must contain the following CustomSupplierParameter IsBookingForCancellation in order to request cancellation details. Other CustomSupplierParameters are optional however they may affect the cancellation process.

GetBookingDetails request XML example

<CommandList>
  <GetBookingDetails>
    <LoginId>****</LoginId>
    <TFBookingReference>B1KL3B76P</TFBookingReference>
    <BookingProfile>
      <CustomSupplierParameterList>
      <CustomSupplierParameter>
        <Name>IsBookingForCancellation</Name>
        <Value>true</Value>
        </CustomSupplierParameter>
        // optional
        <CustomSupplierParameter>
          <Supplier>indigo</Supplier>
          <Name>AgentLogin</Name>
          <Value>****</Value>
        </CustomSupplierParameter>
        // optional
        <CustomSupplierParameter>
          <Supplier>indigo</Supplier>
          <Name>AgentPassword</Name>
          <Value>****</Value>
        </CustomSupplierParameter>
      </CustomSupplierParameterList>
    </BookingProfile>
  </GetBookingDetails>
</CommandList>

XML example for tax break down and price under the RouterHistory->BookingRouter->GroupList->Group->Price element in GetBookingDetails response

<Price>
  <Amount>44034.00</Amount>
  <Currency>INR</Currency>
  <TaxItemList>
    -- it will be always provided
    <TaxItem>
      <Name>Paid Amount</Name>
      <Amount>44034.00</Amount>
      <Currency>INR</Currency>
    </TaxItem>
    -- it will be always provided
    <TaxItem>
      <Name>Refund Amount</Name>
      <Amount>-17966.67</Amount>
      <Currency>INR</Currency>
    </TaxItem>
    <TaxItem>
      <Name>Supplier Charge</Name>
      <Amount>18000.00</Amount>
      <Currency>INR</Currency>
    </TaxItem>
    -- it is optional
    <TaxItem>
      <Name>Customer Charge</Name>
      <Amount>0.00</Amount>
      <Currency>INR</Currency>
    </TaxItem>
  </TaxItemList>
</Price>

Step 2: Starting the cancellation

The StartBookingCancelPlane XML request is used to initiate the booking cancellation. It requires the TFBookingReference. See the StartBookingCancelPlane request/response specification for more details. Optionally request contains CustomSupplierParameters which may affect the cancellation process.

StartBookingCancelPlane request XML example

<CommandList>
  <StartBookingCancelPlane>
    <LoginId>****</LoginId>
    <TFBookingReference>B1KL3B76P</TFBookingReference>
    // optional
    <BookingProfile>
      <CustomSupplierParameterList>
        // optional
        <CustomSupplierParameter>
          <Supplier>indigo</Supplier>
          <Name>AgentLogin</Name>
          <Value>****</Value>
        </CustomSupplierParameter>
        // optional
        <CustomSupplierParameter>
          <Supplier>indigo</Supplier>
          <Name>AgentPassword</Name>
          <Value>****</Value>
        </CustomSupplierParameter>
      </CustomSupplierParameterList>
    </BookingProfile>
  </StartBookingCancelPlane>
</CommandList>

The StartBookingCancelPlane request is asynchronous, so a response will be returned immediately (whilst the cancellation is still in progress in the 'background'). The response will contain no useful information. The CheckBookingCancelPlane request, described below in step 3, is used to retrieve the final status of the booking cancellation.

Step 3: Retrieving the booking cancellation status

The CheckBookingCancelPlane XML request is used to get the latest status of the cancellation. See the CheckBookingCancelPlane request/response specification for more details.


CheckBookingCancelPlane request XML example

<CommandList>
  <CheckBookingCancelPlane>
    <XmlLoginId>****</XmlLoginId>
    <LoginId>****</LoginId>
    <TFBookingReference>B1KL3B76P</TFBookingReference>
  </CheckBookingCancelPlane>
</CommandList>

The CheckBookingCancelPlane response returns the latest status of the cancellation. While Travelfusion is waiting for a response from the supplier, the status will be CancelInProgress. In this case, the CheckBookingCancelPlane request should be resubmitted after a few seconds delay. 

CheckBookingCancelPlane request XML example while booking is still in progress

<CommandList>
  <CheckBooking>
    <TFBookingReference>B1KL3B76P</TFBookingReference>
    <Status>BookingInProgress</Status>
  </CheckBooking>
</CommandList>

Once the cancellation is completed in the 'background', the CheckBookingCancelPlane response will contain a different status. For a successful cancellation the status will be CancelSucceeded. A failed cancellation will have status CancelFailed. There are also situations where the cancellation has completed but the status is uncertain. For more detail please see table below and also please see the Guidelines with particular reference to the Booking handling guide for booking process.

CheckBookingCancelPlane response XML example once booking is complete

<CommandList>
  <CheckBookingCancelPlane>
    <TFBookingReference>B1KL3B76P</TFBookingReference>
    <Status>CancelSucceeded</Status> 
    <SupplierConfirmationDataItemList>
      <SupplierConfirmationDataItem>
        <Name>Supplier Cancel Reference</Name>
        <Value>12345678</Value>
      </SupplierConfirmationDataItem>
    </SupplierConfirmationDataItemList>
  </CheckBookingCancelPlane>
</CommandList>

 Status Action
CancelSucceeded The traveller should be informed that the booking cancellation has succeeded and they should be presented with the supplier reference number (and optionally the Travelfusion reference number)
CancelFailedThe traveller should be informed that the booking cancellation failed and the reason for failure should be displayed to them. Note that reattempt for booking cancellation is impossible now please contact with Travelfusion for more details
CancelUnconfirmed The traveller should be informed that their booking cancellation may or may not have been made and that they should wait to be updated by email or phone, and to contact customer support if they require further assistance. Meanwhile, the CheckBookingCancelPlane request should continue to be submitted at a reduced frequency (every few minutes). This should continue indefinitely until the status changes to either CancelFailed or CancelSucceeded. Once this occurs, the traveller must be contacted to inform them of the status of their booking. Ideally, the XML client customer will handle all such customer support. Your customer care team should contact Travelfusion if a booking remains CancelUnconfirmed for an extended period of time.

Comments