API concepts
Supplier codes
A supplier code generally represents a specific supplier integration.
For flight suppliers this is often broken down further so that a supplier code represents a specific fare brand on a specific supplier integration.
E.g
| Supplier Code | Product | Integration | Fare brand |
|---|---|---|---|
| EZF | flights | easyJet | Flexi Fare |
| NOR | flights | Norwegian | LowFare |
| THF | flights | TUI UK | N/A |
Note that for flight suppliers, a supplier code may have multiple airlines/carriers; for example THF (TUI UK) mainly consists of TOM flights, but sometimes has D8 flights that are being resold by TUI.
Tip
For a full list of FAB supplier codes contact Customer Services.Syndicator
A syndicator is a FAB API user, identified by a syndicator ID.
A syndicator will have a collection of configuration that is internal to FAB and is managed by the Paxport Customer Service team.
Sessions
FAB is a semi-stateful API. Each FAB API request exists within a session and must therefore create or continue a session. Sessions are identified with a session ID and all FAB responses will include this session ID.
To create a new session include the following in your request:
<SessionInfo CreateNewSession="true"/>
To continue a session include the following in your request:
<SessionInfo FABSessionId="UXJVXwpw5LqxxxxraO9dMIjy" CreateNewSession="false"/>
Where FABSessionId is equal to the session ID you wish to continue.
Sessions expire 30 minutes after the last request made in them. Attempting to continue an expired session will result in one of the following responses:
For searches
<Warnings>
<Warning>Failed to find a session with the given id</Warning>
</Warnings>
For baskets
<Errors>
<Error ErrorText="Failed to find a session with the given id" ErrorCode="800" SupplierErrorText="Failed to find a session with the given id"/>
</Errors>
If you still wish to continue the booking journey you will need to:
- Start a new session
- Replay your request(s)
In many cases you can skip any searches (assuming the products are still available) and go straight to CreateBasketRequest. An exception to this shortcut is baskets where some or all of the Itinerary has been requested using a short ItineraryId (e.g si1004); flight only baskets will not have this problem.
Note
Once a BookBasketRequest has been successfully processed, your implementation should cease all further activity on this session, as it is now concluded. Any further FAB requests will require a new session, withCreateNewSession="true".Currency conversion
FAB supports optional currency conversion. It must be noted that this has no effect on the currency the supplier is paid in. FAB currency conversion is purely a “foreground” process that helps you present a friendlier currency to your consumer.
When enabled, FAB will default to using the spot rate. You can also choose to pass in your own custom rates. You can control what currency you want to convert to by setting this in your request.
If the pricing is already in the correct currency (e.g you want GBP and the supplier wants GBP) then no conversion is applied.
Also see the examples section