{"introduction":"This document provides a reference for both query and response for the Get Booking APIs version 1.0. This document includes a series of notes and instructions that outline the Get Booking API.","audience":{"label":"Audience","description":"This document is aimed for Get Booking API customers, partners and software developers who would like to consume the Get Booking API."},"overview":{"label":"Overview","description":"Egencia Get Booking SPI will notify the partner when a booking event happens in Egencia. Then partner can use the Get Booking API which offers an interface to retrieve trip details for a booking from Egencia. The push notification will contain either the receipt or the invoice information depending on the company's configuration as it is available. The Get Booking API is organised around REST /JSON over HTTPS for booking data retrieval. This API accepts JSON requests and returns JSON responses, and uses standard HTTPs response codes, authentication, and verbs. You can call this endpoint once you receive the Booking Notification SPI Push message when a booking is created or updated in Egencia. These APIs can be used by a non Egencia system for getting booking messages. Partners must pass the authentication in order to use the API. The API provides users with a simple, standardised, resource-oriented, RESTful interface with JSON-formatted responses that make it easy to fetch, filter and retrieve booking data."},"versioning":{"versions":[{"id":"1.0","change_description":"First stable version."}]},"error_codes":[{"code":"EGE-ER-OS-4002","description":"Resource not found, you are trying to access an invalid or non existent resource."},{"code":"EGE-ER-OS-4008","description":"Receipt is unavailable for this booking item."},{"code":"EGE-ER-OS-5001","description":"Unable to process your request right now. Please try again later."}],"api_details":{"label":"Booking and receipt/invoice details","subheadings":[{"label":"Get Booking SPI","description":"Egencia provides an \"Expense capability\" that will push the update notification near realtime to the connected client system. Get Booking SPI will notify the partner when a booking is created or updated in Egencia.\n\n\t1. When a booking is created or updated in Egencia the Get Booking SPI will send a push notification to the connected Partner system (web service).The web service to consume this data has to be built by the client consumer. This web service allows Egencia to notify the partner when a booking is created or updated in the Egencia tools by sending the mission number and the booking ID.\n\t2.When a booking event (booking, update, cancel) occurs, Egencia uses this web service to notify the partner by sending the mission number and the booking ID.\n\t3. The push notification contains a list of booking details along with the booking ID so you can fetch the details of a particular item by simply passing it in the Booking API call.\n\t4. The push notification will contain either the receipt or the invoice information depending on the company's configuration as it is available.\n\t5. The web service returns a success message if the notification has been taken into account or not.\n\n Note: For T& E partners, The Get Booking SPI is created to replace the legacy T&E solution \"receiveDossierExpedia\".","subheadings":[{"label":"Booking SPI payload","description":"Below is an example of the Booking SPI payload that Egencia will share to the external clients.\n\n\n{\r\n  \"mission_number\": \"1234\",\r\n  \"booking_id\": \"8000-2573-465\",\r\n  \"company_id\": \"10944\",\r\n  \"organization_parent_id\": 323532,\r\n  \"items\": [\r\n    {\r\n      \"id\": \"86a508692d9282afa0d96e5f6af\",\r\n      \"traveler_id\": \"6619886\",\r\n      \"product_type\": \"FLIGHT\",\r\n      \"status\": \"BOOKED\",\r\n      \"booking_date_time\": \"2021-09-30T12:35:20.000Z\",\r\n      \"is_agent_assisted\": false\r\n    },\r\n    {\r\n      \"id\": \"86a508692d9282afa0d96e5ddddf\",\r\n      \"traveler_id\": \"6619886\",\r\n      \"product_type\": \"CAR\",\r\n      \"status\": \"BOOKED\",\r\n      \"receipt_info\": {\r\n           \"id\": \"123\",\r\n           \"status\": \"AVAILABLE\",\r\n           \"version\": 1\r\n      },\r\n      \"booking_date_time\": \"2021-09-30T12:35:20.000Z\",\r\n      \"is_agent_assisted\": false\r\n    }\r\n  ],\r\n \"partner\": {\r\n   \"name\": \"Partner A\"\r\n    }\r\n}"}]},{"label":"Get Booking API","description":"The Get Booking API offers you an interface to retrieve trip details for a booking from Egencia. The Get Booking API is organised around REST /JSON over HTTPS for booking data retrieval. This API accepts JSON requests and returns JSON responses, and uses standard HTTPs response codes, authentication, and verbs. You can call this endpoint once you receive the Booking Notification SPI Push message when a booking is created or updated in Egencia.\n\nNote: For T& E partners, The Get Booking API is created to replace the legacy T&E solution \"synchronizeMetaDossier\""},{"label":"Get Receipt and Invoice API","description":"The Get Receipt API downloads the document associated to a booking item. Pre-built receipt API calls are returned by Expense SPI whenever a new receipt or invoice is available for that booking.\nWhen the booking has a receipt associated, the receipt API downloads directly the PDF document. If new payments happen for that booking Egencia updates the receipt document, so you only get one document per booking no matter how many payments or reimbursements occur.\nWhen an invoice is available, each payment or reimbursement generates its own invoice or credit note. As a result, each booking can have a collection of invoices and credit notes. Receipt API then downloads an archive which contains all the documents of that booking regrouped so once you've completed the download you must unarchive to retrieve the documents.\nWhen the document doesn't exist, receipt API informs you clearly. In such case, please check online on the Egencia site before asking for support, most likely the invoice or receipt you're looking for doesn't exist."}]},"enumerations":{"Product Type":[{"name":"FLIGHT","description":"Air - Line of business"},{"name":"CAR","description":"Car - Line of business"},{"name":"HOTEL","description":"Hotel - Line of business"},{"name":"TRAIN","description":"Rail - Line of business"},{"name":"GROUND","description":"Ground - Line of business"},{"name":"FEE","description":"Fee - Line of business"}],"Transportation Vehicle Type":[{"name":"TAXI","description":"Taxi"},{"name":"BUS","description":"Bus"}],"Location Type":[{"name":"AIRPORT","description":"Airport"},{"name":"CITY","description":"City"},{"name":"TRAIN_STATION","description":"Train station"},{"name":"ADDRESS","description":"Address"},{"name":"HOTEL","description":"Hotel"}],"Approval Status":[{"name":"PENDING","description":"Pending"},{"name":"APPROVED","description":"Approved"},{"name":"DENIED","description":"Denied"},{"name":"CANCELLED","description":"Cancelled"}],"CO2 Emission Unit":[{"name":"KG","description":"Kilograms"},{"name":"LB","description":"Pounds"}],"Payment Method":[{"name":"COMPANY_FORM_OF_PAYMENT","description":"Booking paid by company (central bill card). Receipt issued by Egencia."},{"name":"CREDIT_CARD","description":"Booking paid by individual credit card. Receipt issued by Egencia or supplier."},{"name":"LODGED_CARD","description":"Booking paid by company (lodge card). Receipt issued by Egencia."},{"name":"ON_ACCOUNT","description":"Booking paid by company (through invoicing). Receipt issued by Egencia."},{"name":"PAY_AT_COUNTER","description":"Booking paid by individual to the supplier directly. Receipt issued by supplier."},{"name":"DIRECT_BILLING","description":"Booking invoiced directly by the supplier to the company (Car only use case). Receipt issued by supplier."},{"name":"ACCREDITIVE","description":"Booking paid by individual to the supplier directly (APAC Car only use case). Receipt issued by supplier."}],"Booking Status":[{"name":"DRAFT","description":"Booking saved to be booked later"},{"name":"BOOKED","description":"Booking confirmed"},{"name":"CANCELLED","description":"Booking Cancelled"},{"name":"DELETED","description":"Draft booking deleted"},{"name":"AWAITING_CONFIRMATION","description":"Awaiting Confirmation"}],"Rate Type":[{"name":"PRIVATE","description":"Private"},{"name":"EGENCIA","description":"Egencia"},{"name":"PUBLIC","description":"Public"},{"name":"EXPEDIA","description":"Expedia"},{"name":"CORPORATE","description":"Corporate"},{"name":"PUBLISHED","description":"Published"},{"name":"HOTEL_ROOM_RATE_PUB_NAME_CHECKOUT","description":"Hotel Public Rate"},{"name":"HOTEL_ROOM_RATE_ESR_NAME_CHECKOUT","description":"Hotel ESR Rate"},{"name":"HOTEL_ROOM_RATE_EPR_NAME_CHECKOUT","description":"Hotel EPR Rate"},{"name":"NEGOTIATED","description":"Negotiated"},{"name":"SUBSCRIPTION","description":"Subscription"}]},"http_verbs":[{"label":"Booking SPI Implementation","description":"Egencia will send booking notification to the consumers, the client consumer has to build the web service to consume this data. Below are the further details","values":[{"name":"Endpoint","description":"/v1/bookings/"},{"name":"Method","description":"POST"},{"name":"Accept","description":"application/json"},{"name":"Content-Type","description":"application/json"}]},{"label":"Booking SPI Request Attributes","values":[{"name":"mission_number","description":"Partner mission order number - to be sent only for T&E partners."},{"name":"booking_id","description":"Unique Id corresponding to the booking."},{"name":"company_id","description":"Company Id"},{"name":"organization_parent_id","description":"Organization Id of the company."},{"name":"items","description":"List of bookings/trip items"},{"name":"id","description":"Item id corresponding to each booked product."},{"name":"product_type","description":"LOB type"},{"name":"status","description":"Booking status: PENDING, BOOKED, CANCELLED, DRAFT, DELETED etc."},{"name":"booking_date_time","description":"The date and time the booking occurred on an itinerary, ISO 8601 format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z' Example: 2021-09-30T12:35:00.000Z"},{"name":"is_agent_assisted","description":"Flag indicating whether the booking was done by agent or not."},{"name":"receipt_info","description":"Receipt information which contains receipt Id, status and version if it is available."}]}],"documentation_link":"https://apis.egencia.com/openconnect/docs/api-docs/GetBookingAPI","api_updates":[{"date":"2026-03-03T00:00:00.000Z","updates":[{"label":"Guest travelers tag","description":"A new \"isGuest\" flag now appears in the travelers' payload. As its name suggests, when the traveler is a guest this flag is set to true, and when the traveler is a regular employee or contractor then the flag comes in \"false\". With that flag you can easily identify if the traveler will submit an expense.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2026-02-17T00:00:00.000Z","updates":[{"label":"Hotel property source details","description":"If like us you're connected to Hotel distribution systems this is for you. We now add two new attributes that allow you to link the hotel property booked in Egencia with the distribution system where we booked it. The first attribute \"provider\" tells you the distribution system that shared that offer, where the second attribute \"property_id\" is the unique identifier of that property in this distribution system.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2026-02-09T00:00:00.000Z","updates":[{"label":"Receipt provision available flag","description":"New Egencia receipt flag. You asked us to inform ahead of the payment whether an Egencia receipt will be available for a booking or if the traveler will have to download its receipt from the supplier. We heard you and are proud to announce a new flag in the payload. The flag name is \"receipt_provision_available\". It's \"true\" when Egencia will edit the receipt. When it comes \"false\", you can immediately inform the traveler that he/she will have to ask the supplier to provide a payment receipt or an invoice.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-07-29T00:00:00.000Z","updates":[{"label":"Invoice download","description":"Invoices now available for download! The receipt document download link in expense SPI payload now offers links to download invoices as well. Whenever an invoice is added to a booking (aka visible on the Egencia Trip summary), a new expense SPI message comes in with a receipt link where you can download all the invoices and credit notes with the 'Receipt API' like you do with receipts document. So far, the metadata are limited to the 'last invoice reference' and 'date' (aka receipt_info.id and receipt_info.receipt_date) but we're working on this so stay tuned.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-05-01T00:00:00.000Z","updates":[{"label":"Best fare option","description":"The price of the policy benchmark flight is now available in the payload of the flight bookings in the \"policy_compliance\" object. With that new information you get a perfect visibility on all the elements that defines the policy compliance of a booking. The new element in the json payload is \"best_fare\". It contains a \"currency\" and the actual price point in the element \"amount\".","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]},{"label":"Low cost carrier flag","description":"New \"low_cost_carrier\" attribute added to the description of an airline carrier. The element is available as part of the \"marketing_carrier\" object.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-04-29T00:00:00.000Z","updates":[{"label":"Receipt Metadata","description":"Receipt metadata now available! Along with the receipt document download link expense SPI now gives you the key informations available in the receipt. No need to open and read the document, you can get the data right from the json payload.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-03-17T00:00:00.000Z","updates":[{"label":"Associated booking reference for Fee","description":"Associated booking reference now available. Every fee item is now tagged with the booking that generated it.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]}]}