FAB_BasketRS

The FAB_BasketRS will be the result of any FAB_BasketRQ and is an example of a FABRequestResponse. It will additionally contain a element of CurrentBasket.

CurrentBasket

CurrentBasket has the following structure:

Attribute or elementMandatory?DefinitionNote
@CurrentlyActiveYestrue or false, if true then FAB is still attempting to process the basket (e.g waiting for a supplier response)An active basket is not ready to book or to display to consumers, instead you must check the basket until it becomes inactive. See section check basket
@BasketIdYesString identifying current basketUsed for subsequent basket actions
@StatusNoText indicating the basket’s current status.-
@TargetBookingStageYespassenger_details or confirmed_costing or bookedMay differ from CurrentBookingStage if you didn’t provide PassengerDetails resulting in FAB only reaching passenger_details not your target of confirmed_costing.
@CurrentBookingStageYespassenger_details or confirmed_costing or bookedPassengerDetails must be provided to proceed from passenger_details to confirmed_costing. Only a basket at confirmed_costing can proceed to book.
@ConsumersReferenceNoReference set from request-
PartyInfoYesSee FAB_BasketRQ-
ItineraryYesDetails the requested itinerary-
PassengerDetailsNoSee PassengerDetails in BasketRQ for structure-
Itinerary@PassengerIdRequiredNo, default falseboolean, if true then ID information must be provided to the supplier before departure-
Itinerary@PassengerIdMandatoryNo, default falseboolean, if true then ID information must be provided to the supplier before booking-
Itinerary@NationalityRequiredNo, default falseboolean, if true then nationality information must be provided to the supplier before departure-
Itinerary@NationalityMandatoryNo, default falseboolean, if true then Nationality attribute must be set for each passenger before booking-
Itinerary@PassengerFullMiddleNameMandatoryNo, default falseboolean, if true then passengers must have MiddleInitials set to their full middle name(s) if they have oneNote this attribute is not widely supported, it is best to always set MiddleInitials to the passenger’s middle name(s) if they have one.
Itinerary@ItineraryIdYesthe id associated with the Itinerary-
Itinerary@StartDateYesyyyyMMdd the start date for this Itinerary-
Itinerary@EndDateYesyyyyMMdd the end date for this Itinerary-
Itinerary@NumNightsNothe duration in number of nights of this Itinerary-
Itinerary@AvailabilityYesavailable or unavailable or unknown Indicates whether or not a particular itinerary is available-
Itinerary@BookableByFabYesboolean, if true then FAB is capable of booking this itinerary-
Itinerary@CurrencyYesISO 4217 alphabetic currency of PerPassengerCost-
Itinerary@PerPassengerCostNoThe cost per passenger of this itinerary-
Itinerary/ItineraryCostYesContains details of the itinerary costs, including both totals and a breakdown-
Itinerary/ItineraryCost@TotalCostYesTotal cost of itinerary-
Itinerary/ItineraryCost@CurrencyYesISO 4217 alphabetic currency of TotalCost and DepositRequiredAtBooking-
Itinerary/ItineraryCost@CostingStageYesestimate or quick or confirmed or bookedSee “FAB Costing Stages” table
Itinerary/ItineraryCost@CostingAccuracyYesindicates the accuracy, as a percentage, of the associated cost structureDeprecated
Itinerary/ItineraryCost@BasedOnNoHuman readable description of the itinerary
Itinerary/ItineraryCost@PartyInfoCheckYesHuman readable description of the party-
Itinerary/ItineraryCost@DepositRequiredAtBookingNoIndicates booking deposit costNot widely supported
Itinerary/ItineraryCost@CostingValidYesboolean, if true then the costing is validDeprecated
Itinerary/Component[*]YesContains some info in relation to the suppliers of the itinerary-
Itinerary/Component[*]@SupplierYesSupplier code of component-
Itinerary/Component[*]@BookingChannelNo-Advised to ignore
Itinerary/Component[*]@BookingChannelNameNoString indicating the supplier integration of hte componentShould not be mapped as it is not stable
Itinerary/FOIDAllowed[*]NoLists acceptable forms of identificationUseful if you need/want to set FOID request attribute
Itinerary/FOIDAllowed[*]/FOID[*]YesSee FAB_BasketRQ FOID-
Itinerary/ItineraryCost/Component[*]@SupplierYesSupplier (code) of component-
Itinerary/ItineraryCost/Component[*]@TotalCostYesTotal cost of component-
Itinerary/ItineraryCost/Component[*]@CurrencyYesISO 4217 alphabetic currency of TotalCost and DepositRequiredAtBooking-
Itinerary/ItineraryCost/Component[*]@CostingStageYesestimate or quick or confirmed or bookedSee “FAB Costing Stages” table
Itinerary/ItineraryCost/Component[*]@DepositRequiredAtBookingNoIndicates booking deposit costNot widely supported
Itinerary/ItineraryCost/Component[*]@UpdatedTimeYesyyyyMMdd HHmm indicates when costing was producedUK local time
Itinerary/ItineraryCost/Component[*]@HostSystemRequiresPaymentCardNo, default falsetrue or false. If true then this component must be paid by card-
Itinerary/ItineraryCost/Component[*]/Detail[*]YesA Component’s cost is broken down into one or more cost detailsNote that the list of details is dynamic so care must be taken to not hard-code an expectation that a certain Detail will always be present.
Itinerary/ItineraryCost/Component[*]/Detail[*]@DescriptionYesA description of the Detail-
Itinerary/ItineraryCost/Component[*]/Detail[*]@UnitCostYesUnit costFollowing any currency conversion and/or syndicator markup
Itinerary/ItineraryCost/Component[*]/Detail[*]@QuantityYesquantity of this cost item-
Itinerary/ItineraryCost/Component[*]/Detail[*]@ExtendedCostYesUnit cost multiplied by quantity-
Itinerary/ItineraryCost/Component[*]/Detail[*]@CurrencyYesISO 4217 alphabetic currency of UnitCost and ExtendedCost-
Itinerary/ItineraryCost/Component[*]/Detail[*]@PriceDescriptionNoAdditional description of Detail-
Itinerary/ItineraryCost/Component[*]/Detail[*]@PriceCodeNoCategorises the cost line itemDerived from the fab price code.
Itinerary/ItineraryCost/Component[*]/Detail[*]@FPCYesFAB Price Code categorises the cost line itemsee fpcs
Itinerary/ItineraryCost/Component[*]/Detail[*]@ExtraCodeNoCode of related optional extra-
Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetailNoContains information about costs before any markup/discounts or currency conversion had been applied.Can generally be ignored
Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@SourceUnitCostYesUnit cost before any currency conversion or syndicator markup-
Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@SourceCurrencyYesISO 4217 alphabetic currency of SourceUnitCost-
Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@UnitCostYesUnit cost after any currency conversionIn currency of Detail
Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@UnitMarkupYesUnit syndicator markup, if anyIn currency of Detail
Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]NoInfo about what card types are accepted by the supplier of this component and the charge for eachNever currency normalised
Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@CardTypeYesCard type, see FAB_BasketRQ-
Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@AmountYesCard charge amount-
Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@CurrencyYesISO 4217 alphabetic currency of Amount-
Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]/AcceptableAuthMode[*]YesWhat auth modes are acceptedSee FAB_BasketRQ “FAB Card Authorisation Modes”
Itinerary/ItineraryCost/PaymentCardCharge[*]NoIntersection of PaymentCardCharges from each Component, with Amount summedi.e lists cards and charges that can be used to pay for all relevant components. May have been currency normalised.
Itinerary/ItineraryCost/PaymentCardCharge[*]@CardTypeYesCard type, see FAB_BasketRQ-
Itinerary/ItineraryCost/PaymentCardCharge[*]@AmountYesCard charge amount-
Itinerary/ItineraryCost/PaymentCardCharge[*]@CurrencyYesISO 4217 alphabetic currency of Amount-
Itinerary/ItineraryCost/PaymentCardCharge[*]/AcceptableAuthMode[*]YesWhat auth modes are acceptedSee FAB_BasketRQ “FAB Card Authorisation Modes”
ImportantInformation/Errata[*]@TextNoFreetext information about an itinerary component.Can include information like fare rules or bag dimensions. This information is usually set by the supplier so Paxport does not guarantee that the information is appropriate to expose to the consumer.
ImportantInformation/Errata[*]@CodeNoCode identifying the errata-
ImportantInformation/Errata[*]@SupplierYesSupplier code that Errata applies to-
Itinerary/TravelSegments/TravelSegment[*]NoA travel segment of the itinerarye.g an inbound flight
Itinerary/TravelSegments/TravelSegment[*]@DeparturePointYesDeparture airport IATA code-
Itinerary/TravelSegments/TravelSegment[*]@ArrivalPointYesArrival airport IATA code-
Itinerary/TravelSegments/TravelSegment[*]@TypeYesoutbound homebound transfer-
Itinerary/TravelSegments/TravelSegment[*]@DepartureDateYesyyyyMMdd-
Itinerary/TravelSegments/TravelSegment[*]@DepartureTimeYesHHmm-
Itinerary/TravelSegments/TravelSegment[*]@ArrivalDateYesyyyyMMdd-
Itinerary/TravelSegments/TravelSegment[*]@ArrivalTimeYesHHmm-
Itinerary/TravelSegments/TravelSegment[*]@SupplierYesSupplier code of segment-
Itinerary/TravelSegments/TravelSegment[*]@ItineraryIdYesItineraryId of segment-
Itinerary/TravelSegments/TravelSegment[*]@CurrencyYesISO 4217 alphabetic currency of segment-
Itinerary/TravelSegments/TravelSegment[*]@ITFareNo, default falseboolean indicating if this flight result is an IT (Inclusive Tour) fare and therefore should only be used when using the flight as part of an “inclusive package”.-
Itinerary/TravelSegments/TravelSegment[*]@CAT35FareNo, default falseboolean indicating if this flight result is a CAT35 fare
Itinerary/TravelSegments/TravelSegment[*]@FareTypeYesPublished Private NoFrills NegoCorporate-
Itinerary/TravelSegments/TravelSegment[*]@OperatedByNoOperating carrier name-
Itinerary/TravelSegments/TravelSegment[*]@MarketedByNoMarketing carrier name-
Itinerary/TravelSegments/TravelSegment[*]@OperatingCarrierNoOperating carrier codeCan be IATA or ICAO, depending on the supplier’s preference
Itinerary/TravelSegments/TravelSegment[*]@MarketingCarrierYesMarketing carrier codeCan be IATA or ICAO, depending on the supplier’s preference
Itinerary/TravelSegments/TravelSegment[*]@JourneyMinsNoDuration of journey in minutesIncludes any layover time
Itinerary/TravelSegments/TravelSegment[*]@FareClassNoIndicates the fare class of the first legGenerally a single letter, e.g “Y”
Itinerary/TravelSegments/TravelSegment[*]@FlightClassNoIndicates the fare class of the first legGenerally a single letter, e.g “Y”
Itinerary/TravelSegments/TravelSegment[*]@NumStopsNo, default zeroNumber of stops-
Itinerary/TravelSegments/TravelSegment[*]@DeparturePointNameNoDeparture airport name-
Itinerary/TravelSegments/TravelSegment[*]@ArrivalPointNameNoArrival airport name-
Itinerary/TravelSegments/TravelSegment[*]@SupplierNameNoSupplier name-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfoNoContains information about ticket collection, check-in, and the suchlikeThis is rarely populated beyond FlightNumber for lowcost carriers
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInDateNoyyyyMMdd-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInTimeNoHHmm-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInDetailsNodetails of where/how to check in-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CollectionDetailsNodetails of where/how to pick up ticket-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@FlightNumberNoFlight number for ticket info-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@TicketOnDepartureNoboolean, if true then the ticket is supposed to be collected on at the airport just before departure-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@DepartureTerminalNodetails about the departure airport terminal-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@ArrivalTerminalNodetails about the arrival airport terminal-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@LastTicketDateNoyyyyMMdd last date at which this fare can be ticketed-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@LastTicketTimeNoHHmm last time at which this fare can be ticketed-
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@DefaultTicketingStatusNoIndicates default ticketing status for the booking. Set to held for held booking or confirmed for a standard bookingThe default status can be overridden using TargetTicketingStatus parameter in BasketRQ if SupportsTargetTicketingStatus is set to true
Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@SupportsTargetTicketingStatusNoboolean indicating if the handler supports the TargetTicketingStatus attribute in BasketRQIf set to false then the handler can ignore the TargetTicketingStatus parameter set during booking.
Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowanceNoIndicates included baggage allowanceOnly supported by select suppliers
Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@PerYesPassenger or Adult or Youth or Child or Infant-
Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@UnitYesPiece or kg or lb or Unknown-
Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@QuantityYesInteger-
Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@TypeYesHold or Hand-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]NoIf segment is multileg/indirect one or more subsegments/legs will be listed-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]/BaggageAllowanceNoSame structure as TravelSegment[*]/BaggageAllowance. Indicates included baggage allowance for the leg/subsegmentOnly supported by select suppliers
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DeparturePointYesDeparture airport IATA code-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalPointYesArrival airport IATA code-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureDateYesyyyyMMdd-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureTimeYesHHmm-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalDateYesyyyyMMdd-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalTimeYesHHmm-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OperatedByNoOperating carrier name-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OperatingCarrierNoOperating carrier codeCan be IATA or ICAO, depending on the supplier’s preference
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@MarketingCarrierNoMarketing carrier codeCan be IATA or ICAO, depending on the supplier’s preference
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@JourneyMinsNoDuration of journey in minutesIncludes any layover time
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@FlightClassNoFare classGenerally a single letter, e.g “Y”
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@NumStopsNo, default zeroNumber of stops-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OriginAirportNameNoDeparture airport name-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DestinationAirportNameNoArrival airport name-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@FlightNumberYesFlight number-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureTerminalNoDeparture terminal-
Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalTerminalNoArrival terminal-
Itinerary/SeatOptions[*]NoSeat selection optionsOnly supported by select flight suppliers.
Itinerary/SeatOptions[*]@FlightNumberYesFlight number (designator) of flight relevant to this SeatOption-
Itinerary/SeatOptions[*]@AircraftTypeNoIndicates aircraft type-
Itinerary/SeatOptions[*]@NumberOfBlocksYesIndicates the number of divisions within a row of seats. For example, an aircraft with a single aisle seat configuration will have two ‘blocks’.-
Itinerary/SeatOptions[*]@CurrencyYesISO 4217 alphabetic currency of Price-
Itinerary/SeatOptions[*]@SupplierNoSupplier code of this SeatOption-
Itinerary/SeatOptions[*]@DeparturePointNoDeparture airport IATA code of flight relevant to this SeatOption-
Itinerary/SeatOptions[*]/SeatBand[*]YesContains pricing information and description. Seat selection can be broken down into different categories of seats with different prices associated with each. The SeatBand element describes one of these categories.-
Itinerary/SeatOptions[*]/SeatBand[*]@IdYesID used to correlate between SeatBand and Seat-
Itinerary/SeatOptions[*]/SeatBand[*]@DescriptionYesText description of seat band-
Itinerary/SeatOptions[*]/SeatBand[*]@PriceYesPrice of a seat in this band-
Itinerary/SeatOptions[*]/Seat[*]Yes--
Itinerary/SeatOptions[*]/Seat[*]@NumYesSeat identifier, includes row number. E.g 1A-
Itinerary/SeatOptions[*]/Seat[*]@AvailabileYesBoolean, indicates if seat is available for selectionAttribute has typo
Itinerary/SeatOptions[*]/Seat[*]@BandIdYesID used to correlate between SeatBand and Seat-
Itinerary/SeatOptions[*]/Seat[*]@BlockYesBlock numberSee NumberOfBlocks
Itinerary/SeatOptions[*]/Seat[*]@RowYesRow number-
Itinerary/SeatOptions[*]/Seat[*]@AllowInfantYesboolean, if false then adult with infant cannot sit here-
Itinerary/SeatOptions[*]/Seat[*]@AllowChildYesboolean, if false then child cannot sit here-
Itinerary/SeatOptions[*]/Seat[*]@ExitRowYesboolean, if true then seat is on an exit row-
Itinerary/SeatOptions[*]/Seat[*]@PositionYesAisle Middle Window-
Itinerary/SeatOptions[*]/Seat[*]@AccessYesRegular Special RestrictedRestricted - additional restrictions apply to what passengers can sit here beyond those restrictions already indicated by AllowInfant/AllowChild. These additional restrictions will be described by the Text of Errata@Code="Seat Selection - Restricted".
Itinerary/SeatOptions[*]/Seat[*]@UpperDeckNo, default falseboolean. If true then seat is on the upper deck of the aircraft-
Itinerary/OptionalExtrasYesContains selected optional extras, if anyUsed for itinerary extras, per pax selected extras are shown under PassengerDetails
Itinerary/OptionalExtras/OptionalExtra[*]NoAn optional extra-
Itinerary/OptionalExtras/OptionalExtra[*]@CodeYesCode of extra-
Itinerary/OptionalExtras/OptionalExtra[*]@SupplierYesSupplier (code) of extra-
Itinerary/OptionalExtras/OptionalExtra[*]@QuantityYesThe number of units of the extra that have been selected-
Itinerary/OptionalExtras/OptionalExtra[*]@DirectionNooutbound or homebound. If set then the extra only applies to that specific direction-
Itinerary/ItineraryOptionsNoDescribes a set of options (e.g bags) available for the associated Itinerary-
Itinerary/ItineraryOptions/OptionalExtra[*]NoAn optional extra-
Itinerary/ItineraryOptions/OptionalExtra[*]@DirectionNooutbound or homebound. If set then the extra only applies to that specific direction-
Itinerary/ItineraryOptions/OptionalExtra[*]@DescriptionYesText description of the extra-
Itinerary/ItineraryOptions/OptionalExtra[*]@CodeYesString identifying the extra, used for selectionThe value is generally based on data from the supplier (e.g an airline SSR code) so it may change over time. You are therefore advised to make any mapping of Code in your integration configurable.
Itinerary/ItineraryOptions/OptionalExtra[*]@IDYesString identifying the extraRarely used.
Itinerary/ItineraryOptions/OptionalExtra[*]@SupplierYesSupplier (code) of the extra-
Itinerary/ItineraryOptions/OptionalExtra[*]@FPCYesFAB Price Code categorises the extrasee fpcs
Itinerary/ItineraryOptions/OptionalExtra[*]@TypeYesSee FABOptionalExtraType-
Itinerary/ItineraryOptions/OptionalExtra[*]@QuantityAvailableYesThe number of units of this extra that are availableDoes not account for units that are already selected
Itinerary/ItineraryOptions/OptionalExtra[*]@UnitCostYesUnit cost-
Itinerary/ItineraryOptions/OptionalExtra[*]@CurrencyCodeYesISO 4217 alphabetic currency of UnitCost-
Itinerary/ItineraryOptions/OptionalExtra[*]@ApplyToYesIndicates how the extra applies to the passengers, see FABApplyToType-
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]NoRules indicate how OptionalExtras can be combined-
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@RuleCodeYesCode indicating ruleSee later FABGroupRuleCode section
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@SupplierYesSupplier code rule applies to-
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@QuantityPerBookingYes if RuleCode="PerBookingLimit"See later FABGroupRuleCode section for PerBookingLimit-
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]/ID[*]YesList of IDs in the groupUsed to ID relevant OptionalExtras
Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]/ID[*]@DirectionNooutbound or homebound. If set then ID applies to an extra of a specific direction-
RemarksNoSee Remarks in BasketRQ for structure-
WarningsNoList of Warning that are relevant to the CurrentBasketNote that warnings may also be set a level up so check both locations, see FABRequestResponse
Warnings/Warning[*]NoWarning text-
ErrorsNoList of Error that are relevant to the CurrentBasketNote that errors may also be set a level up so check both locations, see FABRequestResponse
Errors/Error[*]@ErrorTextYes if Error element is being seta generic human readable description of the errorLikely not appropriate to expose to consumers
Errors/Error[*]@ErrorCodeYes if Error element is being setstring error codesee Error Codes

BookingInfo

Responses to a BookBasketRequest have an additional element of BookingInfo within CurrentBasket

Attribute or elementMandatory?DefinitionNote
BookingInfoYes for response to BookBasketRequestContains details about the booking attempt-
BookingInfo@SuccessYestrue false pending indicates booking success of itinerarySee later section
BookingInfo@PaymentModeYesIndicates requested PaymentModeSee FAB_BasketRQ
BookingInfo@PaidOnlyDepositYesbooleanDeprecated
BookingInfo@PaymentTakenAtBookingYesindicates the amount that has been/should be taken from the end user.-
BookingInfo@PaymentTakenByFABAtBookingNototal amount debited by payment systems directly invoked by FAB with a provided payment card-
BookingInfo@CurrencyYesISO 4217 alphabetic currency of PaymentTakenAtBooking and PaymentTakenByFABAtBooking-
BookingInfo@ThirdPartyHandoffBookingIdNoReference to the information registered on a third-party system by a handoff handler-
BookingInfo/BookingComponent[*]YesA booking component-
BookingInfo/BookingComponent[*]@SupplierYesSupplier code of booking component-
BookingInfo/BookingComponent[*]@SuccessYestrue false pending indicates booking success of componentSee later section
BookingInfo/BookingComponent[*]@BookingReferenceNoIf successful, this will contain the suppliers booking reference for this component. Unset if failed. Set to “PENDING” if pending-
BookingInfo/BookingComponent[*]@DepositYesAmount of deposit (taken at booking).-
BookingInfo/BookingComponent[*]@TotalCostYesTotal cost of component-
BookingInfo/BookingComponent[*]@ExpectedTotalCostNoMay be used to indicate a price change that was within toleranceNot widely supported
BookingInfo/BookingComponent[*]@BookingChannelNo-Advised to ignore
BookingInfo/BookingComponent[*]@BookingUsernameNoA username relevant to the bookingNot widely supported.
BookingInfo/BookingComponent[*]@BookingPasswordNoA password relevant to the bookingNot widely supported.
BookingInfo/BookingComponent[*]@CurrencyYesISO 4217 alphabetic currency of TotalCost and Deposit-
BookingInfo/BookingComponent[*]/PaymentAuthNoContains information about payment made with a passed in card-
BookingInfo/BookingComponent[*]/PaymentAuth@AmountYesAmount authorised from card-
BookingInfo/BookingComponent[*]/PaymentAuth@CurrencyYesISO 4217 alphabetic currency of Amount-
BookingInfo/BookingComponent[*]/PaymentAuth@Last4DigitsOfCardNumberUsedNoLast 4 digits of card used for payment-
BookingInfo/BookingComponent[*]/PaymentAuth@CardNameUsedYesCard holder name used-
BookingInfo/BookingComponent[*]/PaymentAuth@SupplierCodeYesSupplier (code) who took the payment-
BookingInfo/BookingComponent[*]/LodgedCardPaymentAuthNoSame structure as PaymentAuth but contains information about payment made with Pax2Pay virtual card-
BookingInfo/BookingComponent[*]/Reference[*]NoContains additional references relevant to the booking.Only supported by select suppliers
BookingInfo/BookingComponent[*]/Reference[*]@TypeYesString identifier for referenceE.g PNR
BookingInfo/BookingComponent[*]/Reference[*]@ValueYesValue of reference-
BookingInfo/BookingComponent[*]/Reference[*]@SourceNoString indicating source of referenceOptionally used to further clarify source of the reference. E.g could be the IATA code for the airline that issued the reference.
BookingInfo/BookingComponent[*]/@CurrentTicketingStatusNoheld or confirmed. Indicates ticket status if TargetTicketingStatus was used in the request.See example
BookingInfo/BookingComponent[*]/ETicket[*]NoContains ticket documentsAn ETicket can represent a ticket, EMD, etc
BookingInfo/BookingComponent[*]/ETicket[*]@ETicketNumberNoThe full ticket number-
BookingInfo/BookingComponent[*]/ETicket[*]@PassengerNameYes--
BookingInfo/BookingComponent[*]/ETicket[*]@DateOfIssueYesyyyyMMdd-
BookingInfo/BookingComponent[*]/ETicket[*]@FormOfPaymentNo--
BookingInfo/BookingComponent[*]/ETicket[*]@IssuingAgencyNo--
BookingInfo/BookingComponent[*]/ETicket[*]@PlaceOfIssue1No--
BookingInfo/BookingComponent[*]/ETicket[*]@PlaceOfIssue2No--
BookingInfo/BookingComponent[*]/ETicket[*]@IssuingAgentNo--
BookingInfo/BookingComponent[*]/ETicket[*]@EndorsementsNo--
BookingInfo/BookingComponent[*]/ETicket[*]@LegalNoticesNo--
BookingInfo/BookingComponent[*]/ETicket[*]@TypeNo--
BookingInfo/BookingComponent[*]/ETicket[*]@NumberOfBookletsNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]No--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@AirlineYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FlightNumberYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DepartureDateYesyyyyMMdd-
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DepartureTimeYesHHmm-
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OriginYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OriginNameNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OriginTerminalNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DestinationNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DestinationNameNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DestinationTerminalNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FlightClassNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@BaggageAllowanceNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FareBasisNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@ReservationStatusNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@NotValidBeforeAfterNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@NumericAirlineCodeNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OperatedByNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@RefNo--
BookingInfo/BookingComponent[*]/ETicket[*]/CostNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost@FareCalculationNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost@BaseFareYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost@TotalYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost@CurrencyYesISO 4217 alphabetic currency-
BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]No--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@AmountYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@CodeNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@CurrencyYesISO 4217 alphabetic currency-
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]NoA coupon within the ticket-
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]@NumberYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWithNoAllows a coupon to link to another ETicketE.g link a seat EMD to the main fare ticket.
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWith@ETicketNumberYes-Link to ETicket@ETicketNumber
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWith@FlightRefYes-Link to Flight@Ref
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuanceNo--
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuance@CodeYes--
BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuance@SubCodeYes--

FAB Group Rule Codes - FABGroupRuleCode

FABGroupRuleCodeDescriptionNote
OneOfMust choose one of the group-
MandatoryOneOfPerPaxMust choose one of the group, per PassengerLike OneOf but per passenger.
OneOrNoneCan choose Only One of the group, or None-
OneOfPerPaxCan choose Only One of the group, or None, per PassengerNote that type name is misleading due to historic reasons.
You should think of it as if it were named OneOrNoneOfPerPax.
AllOrNoneMust choose all of the group, or None-
PerBookingLimitTotal (summed) selected quantity of these extras must not exceed QuantityPerBooking

FAB Optional Extra Types - FABOptionalExtraType

FABOptionalExtraTypeNote
Meal-
Transfer-
Flight-
Room-
Sports-
Insurance-
CarHire-
Baggage-
Excursion-
Donation-
Theatre-
Other-
BaggageTracking-
SeatOptions-
CheckIn-
Priority-
Lounge-
BaggageInsurance-
DutyFree-
FastTrack-
UnrecognisedCan be raised with Customer Services team to fix

FAB Apply To Types - FABApplyToType

FABApplyToTypeDescription
NoPaxNot related to passengers.
AllPaxApplies to all passengers.
SelectedPaxIndividual passengers must select this extra.

FAB Costing Stages - FABCostingStage

FABCostingStageDescription
estimateEstimated party price based on pricing information stored within the FAB system
quickLive quick cost produced by accessing a suppliers reservation system
confirmedLive confirmed cost produced by accessing a suppliers reservation system. One step away from booking, this represents the actual cost that will be incurred by booking this itinerary with the given party
bookedIndicates that this Itinerary has been booked

Booking success status

Further info on determining booking success status

  • true - component (BookingComponent[*]@Success) or itinerary (BookingInfo@Success) booked
  • false - component (BookingComponent[*]@Success) or itinerary (BookingInfo@Success) failed to book
  • pending
    • In the case of a component (BookingComponent[*]@Success) this indicates that FAB is unsure whether the component has booked or not. You would generally need to contact the supplier to investigate. You can also raise the issue with Paxport support team.
    • In the case of the itinerary (BookingInfo@Success) this indicates at least one component was not Success="true".
Last modified May 1, 2024