Ancillaries

High level example API flow for selecting or removing ancillaries

This functionality allows you to select or delete (remove) ancillaries within an order.

Selecting

Selecting an ancillary service takes 7 steps:

  1. Check what ancillaries are offered - GET /v1/servicing/ancillaryService/availability?supplierCode=BAE&supplierBookingReference=abcd

    • Set the request URL parameters as appropriate
    • NOTE request body has been omitted from this example
    • Response will list all available ancillaries for the order
  2. Quote - Request a quote for selecting or deleting ancillaries - POST /v1/servicing/ancillaryService/quote?supplierCode=BAE&supplierBookingReference=abcd

    • Set the request URL parameters as appropriate
    • NOTE request body has been omitted from this example
    • The request body must specify the ancillaries you wish to select and the relevant passenger(s) and segment(s).
      • Ancillary services are identified by their DID. To find the DID check the availability response.
      • Passengers and segments are identified by their DID. To find the DIDs check the availability response or order retrieve response.
    • Each object in your ancillaryServices array must match an object from the availability response selectionOptions array for the ancillaryServiceDid you are trying to select
      • passengerDids must exactly match passengerRefIds (after being transformed to DIDs)
      • segmentDids must exactly match flightSegmentRefIds ( after being transformed to DIDs)
      • quantity must be less than or equal to quantityAvailable
    • If initially successful the response will then need polling
  3. Poll for quote response - GET /v1/servicing/ancillaryService/quote/poll?asyncOperationToken=b3604d53-2e29-4d03-923d-565a98d7ad1e

    • asyncOperationToken is from previous response
    • Multiple polls may be required
  4. Prepare - Provide payment details to get a final price - POST /v1/servicing/ancillaryService/prepare?transactionId=78dfe432-5159-490f-82ea-a63b90e77693

    • NOTE request body has been omitted from this example
    • transactionId is from the previous response
  5. Poll for prepare response - GET /v1/servicing/ancillaryService/prepare/poll?asyncOperationToken=79c2b2e0-b982-4d27-8179-d03cbdd64142

    • asyncOperationToken is from previous response
    • Multiple polls may be required
  6. Execute - Request ancillary selection be performed - POST /v1/servicing/ancillaryService/execute?transactionId=78dfe432-5159-490f-82ea-a63b90e77693

    • NOTE request body has been omitted from this example
    • expectedPriceAmount & expectedPriceAmountCurrency in request body must be correctly set based on totalPrice from previous response
      • This validates that you agree with PaxFaB Servicing’s calculations
    • expectedPaymentAmount & expectedPaymentAmountCurrency in request body must be correctly set based on newPayment.totalAmount from previous response.
      • This validates that you agree with PaxFaB Servicing’s calculations
    • Payment details must be provided in request. If these differ than at prepare undefined behaviour may occur.
  7. Poll for execute response - GET /v1/servicing/ancillaryService/execute/poll?asyncOperationToken=0f2430a8-7500-416f-9877-923370f5ddb6

    • asyncOperationToken is from previous response
    • Multiple polls may be required