Book

Book overview


This method is used to make booking or hold booking .

You will have the possibility of customizing the bookings according to the different business scenarios such residents discounts, unaccompanied minors, large families discount, additional information such docs , doca for trips to USA and all possible scenarios thanks to api flexibility.

 


Booking on hold and emit on book

 

You also have the possibility to make a booking on hold ( issuance pending ) only getting PNR or reservation number .

In some airlines when you add Anciliaries services like baggages and seats its not possible to keep holding book and you need to book and issue the tickets into the same process this scenario is Emit on Book

Low cost Carriers like Easyjet , Ryanar dot not have possibility to keep hold booking because the Book and issuance need to be done simoultaneously

 

 

Important advice : You need to add on Book Request the same token returned from Avail response also used in Pricing , Catalogue , policy , Multi Family

 

Mandatory parameters to make a booking

 

On book query you need to add the following parameters returned from Avail response

 

API KEY = Your password

Token = Remember to use the same token returned from avail response

SolutionID = The solution from Avail response that contains the journeys you want to book

Journeys= the journeys into Solution ID contain the flights you select to book

 

Standard book request Sample

 

Header

{
"json": true,
"headers": {
"Content-Type": "application/json",
"x-api-key": "your api key xxxxxx",
"Authorization": "Basic cxxxxxxxxxxxxxxxxxx"
}

Book request

{ "query": { "solutions": [ { "id": "qW5d6e37f21a2f1", "journeys": ["IB063120191127"] } ], "holder": { "name": "Miguel", "surnames": [ "Perezuno", "Perezdos" ], "contact": { "mails": [ "om@lleego.com" ], "phones": [ { "countryPref": "+34", "number": "661866354" } ] } }, "travellers": [ { "type": "ADT", "gender": "Male", "title": "Mr", "name": "Miguel", "surnames": ["Perezuno", "Perezdos"], "birthDate": "1979-12-12", "contact": { "type": "Emergency", "name": "Fernando", "surnames": ["Perezuno", "Perezdos"], "phones": [ { "countryPref": "+34", "number": "661866354" } ] }, "documents": [ { "type": "FF", "number": "IB79283746" }, { "type": "PP", "number": "70243789", "city": "", "country": "ESP", "nationality": "ESP", "issuedDate": "", "expiryDate": "" } ] } ] } }

 

Front Reservation Sample

 

The minimun mandatory methods to get a Reservation number or PNR

 

  • Avail

  • Pricing

  • Book

 

You have the possibility to enrich the book content using Standalone Catalogue to add baggages during booking process.

You have the possibility to get all Fare family aplicability and available fares options for selected flight using Multi Family Method during booking process.

You have the possibility to get the fare policy conditions for selected flight using Policy during booking process.

 

Particular Scenarios to take in account

 

  • Spanish Residents, you need to include residents data on Book query like DNI and resident town

  • Some suppliers needs Docs before emit ( USA Destination )

  • UNMR unaccompanied minor needs parents contact on book query RM or CTC with parents contact

  • Large Families need family card on book query

  • Dynamics parameters for Low Cost Carriers on book

 

Scenarios

 

  • Spanish Resident specifications on BOOK

The following mandatory information need to be added on Book Request for resident

 

Document{

Type

Document Type - NI: National identity document - TR: Resident Card -
[ NI, TR, ]

Number title: Document Number

City Municipality of residence. Mandatory for resident discount.

Country Document emission country

nationality Document nationality

issue_date Document issue date

expiry_date Document expiration date

validated Indicates if the document was validated by the provider.

Used by residents, validation S.A.R.A.

 

Check our “Residents documentation” Residentes

 

  • Docs

Some suppliers may need extended information for Passport number and traveller personal information

Specially when the passenger travels to USA , Canadar or outside European Community

 

Sample

 

 

  • Unaccompanied minor

It is the child travelling alone and who is requested a special accompaniement service

important not all providers have this service available

the contact details for responsible person need to be added at origin and destination city by Remarks or other format requested by supplier.

 

Example

 

 

  • Large Family

Special discount for families with three or more childrens

the discount average arround 5 and 10 % only apply traveling into Spain

 

 

 

BOOK RESPONSE

 


 

Reservation status

 

RSVD = RESERVED The order is reserved but not issued

CNFD = CONFIRMED The order is confirmed (issued)

VOID = VOID Tickets cancelled during the first hours after issuance ( only if supplier allows it )

CNLD = CANCELLED Reservation is cancelled

RFND = REFUNDED The order is refunded

ONRQ = ORDER ON REQUEST This status is applicable for low cost bookings when the order is not completed during the booking process. This is a temporary status that will end in:

  • CNFD: If the order is finally completed on the provider/airline side

  • CNLD: If the order is not completed on the provider/airline side

  • MANL: If after some time the reservation does not end in any of the previous status.

MANL = MANUAL. Applicable for low cost bookings. Starting from ONRQ status, the booking will change to MANL status if after some time the reservation does not end in any of the previous status: CNFD / CNLD.

PAYG = PAYING. Applicable for low cost booking. This is a temporary status while the order is being paid by 3DS.

 

The reservation status would apply to all providers, which must be taken into account that for low cost providers such TravelFusion, at the time the reservation is made is also paid and issued this proccess is call Emit on Book , then the status with Travelfusion will be CNFD (Confirmed and issued) if the order is completed successfully.

With respect to GDS, once the reservation is made, it will return the status RSVD = RESERVED Not issued, once you do the emit, the status changes to CNFD = von signed and issued.

CANCEL It is also important before canceling a reservation it has to be in status RSVD = ReservedYou can never execute a cancel on an Issued CNFD reservation.

VOID you have the possibility to VOID and CANCEL the tickets issued during the first 24 hrs after issuence only if the carrier allow it

Important ! Vueling and Low cost carriers cannot be VOID

 

Special cases - ONRQ:

  • The travelfusion orders might not be completed in a reasonable time amid the booking process.

  • For these cases, the booking transaction will return the booking line in status ONRQ.

  • This status means that the order is still being completed from the supplier side.

  • For these cases, Lleego will keep checking in background the order status in order to know how the flow is completed on the supplier and update obviously the final status.

  • Once the supplier had completed its flow, the temporary status ONRQ will change to:

    • CNFD: If the order is finally completed on the provider/airline side

    • CNLD: If the order is not completed on the provider/airline side

    • MANL: If after some time the reservation does not end in any of the previous status.

  • A notification will be sent automatically to inform about this update:

  • If the order is retrieved via API or FRONT, this will be returned with the updated data (status / locator).

 

Book Response structure

 

Is important to understand the book reply with all the nodes related traveller and journey reserved

 

Token = Your token

solution ID= solution id selected to make reservation

creation date = date of PNR creation

Booking reference = PNR or Reservation number ex WCYYYXX

third locator= Supplier Locator: sometime the airline may have different locator and its depends of hosting system used

Status = RSVD reserved

External View = Link to the supplier to check the booking on front

Holder = Reservation holder

Contact = agency or passenger contact

Phone = phone number

Travellers = passengers

documents = type , number , all info related documments

Travel ID = the solution you previously selected to book

Provider = PNR Host supplier amadeus , galileo , ndc , renfe

ID examplle UX215220210922 = Segment who contains all info related flight fare, class etc

Origin =ID with all info departure city/airport

Destination =ID with all info arrival city /airport

departure date time = all info related departure

arrival date time = all info related arrival

Opetaring company = the carrier who operate the flight

transport number = flight number

class of service = the class maped into the fare

cabin = type of cabin Eco Business First

equipment = Aircraft type

status = Booking status HK

baggage = inlcuded or not

fare type = type of fare Public / private

 

book response sample

 

"token": "Ey611a2db303302", "version": 2, "_doc_version": 1, "booking": { "id": "f2bdc091-fe7", "created": "2021-08-16T11:40:10", "modified": "2021-08-16T11:40:10", "lines": [ { "id": "f2bddb7c-fe75-11eb-ac13-06d5738e1992", "created": "2021-08-16T11:40:10", "booking_reference": { "locator": "XXX11223", "status": "RSVD", "external_view": "https://www.iberia.com/web/retrievePNR.do?apellido=SACRISTANTORRALBA&localizador=N5T1D&market=ES&language=es&mmb=true", "source_i_d": "IB7f398fe09f7b493d92b1053f136093f8OC" }, "holder": { "type": "ADT", "gender": "Male", "title": "Mr", "name": "TEST", "surnames": [ "TEST APELLIDO" ], "contact": { "type": "Passenger", "name": "TEST", "surnames": "TEST2", "mails": [ "TEST@TEST.es" ], "phones": [ { "country_pref": "+34", "number": "12121212121", "country_code": "ES" } ] }, "documents": [ {} ], "in_booking": true, "index": 0

 

traveller structure

 

}, "travellers": [ { "code": "970964", "source_i_d": "ADULT_01", "type": "ADT", "gender": "Male", "title": "Mr", "name": "test", "surnames": [ "test2" ], "contact": { "type": "Passenger", "name": "test", "surnames": "test", "mails": [ "test@mail" ], "phones": [ { "country_pref": "+34", "number": "91212", "country_code": "ES" }

 travel ID with all info related travel like flights departure arrival etc

 

"travel": { "id": "ne611a2db40c7f20018", "source_i_d": "Qm9va2luZ0BHVy0xNjI5MTA1NTg3MTQ2LTBGSU4w#IB7f398fe09f7b493d92b1053f136093f8OC-3-2", "services_groups": [ { "source_i_d": "MADMAH", "services": [ { "source_i_d": "MADMAH20210918111500", "segments": [ { "source_i_d": "IB379420210918", "origin": { "id": "52e6e452090b", "short_name": "BARAJAS ADOLFO SUÁREZ", "long_name": "BARAJAS ADOLFO SUÁREZ", "type": "Airport", "iata": "MAD", "latitude": 40.4722222222, "longitude": -3.56083333333, "geonames": "", "time_zone": "Europe/Madrid", "country": "ES", "country_name": "ESPAÑA", "city_name": "MADRID", "iata_city": "MAD", "localizacion": "ESP" }, "destination": { "id": "52e6e4520cc1", "short_name": "MENORCA", "long_name": "MENORCA", "type": "Airport", "iata": "MAH", "latitude": 39.8333333, "longitude": 4.2666667, "geonames": "", "time_zone": "Europe/Madrid", "country": "ES", "country_name": "ESPAÑA", "city_name": "MENORCA", "iata_city": "MAH", "localizacion": "BID" },

Price with all breakdownn of fare taxes etc

 

"price": { "currency": "EUR", "base": 180, "total_taxes": 28.45, "total_external_fees": 0, "fee": 0, "commission_percentage": "0.00", "commission_amount": "0.00", "amount": 208.45, "total": 208.45, "fares": [ { "source_i_d": "IB7f398fe09f7b493d92b1053f136093f8OC_01", "tags": [ { "source_i_d": "RP" } ], "context": 0, "passenger_type": "ADT", "passenger_refs": [ "ADULT_01" ], "quantity": 1, "currency": "EUR", "base": 180, "total_taxes": 28.45, "taxes": [ { "tax_code": "QV", "amount": 3.53 }, { "tax_code": "OG", "amount": 0.65 }, { "tax_code": "JD", "amount": 15.62 }, { "tax_code": "QV", "amount": 3 }, { "tax_code": "OG", "amount": 0.55 }, { "tax_code": "JD", "amount": 5.1 } ], "fee": 0, "markup": 0, "amount": 208.45, "total": 208.45, "validating_company": { "id": "5522e2516a51", "short_name": "IBERIA", "long_name": "Iberia Lineas Aereas de Espana S.A.", "iata": "IB", "icao": "IBE", "need_doc": false }, "last_ticket_date": {}, "last_date": "2021-08-16T23:59:00", "public": true, "refundable": false }