openapi: 3.0.3 info: title: Airline API version: v1.1 servers: - url: https://airlines-api.hopper.com/airline/v1.1 tags: - description: |- **Hopper Technology Solutions (HTS) Ancillaries for Airlines** HTS (Hopper Technology Solutions) is providing airlines with its ancillary services. Airlines can integrate these ancillaries within their booking flow to offer additional benefits to their customers. Not only do these ancillaries generate sizable incremental revenue to the airlines, but they also delight their customers by offering them more flexibility and peace of mind. Two services are currently available through the HTS Ancillaries for Airlines API: - Cancel For Any Reason™ (CFAR), enabling airlines to offer refundability as an ancillary with HTS powering the dynamic pricing and supporting the refund cost. - Disruption Guarantee™ (DG), offering a premium disruption assistance service to customers in case of flight disruption, including rebooking options on any airline or a refund option. name: HTS Ancillaries for Airlines - description: |- This API is authenticated with OAuth 2, Client Credentials grant.\ Clients should use their `client_id` and `client_secret` to obtain an `access_token`.\ The `access_token` should be included in every request, as a `Bearer` token on an `Authorization` header.\ Note that `access_token`s eventually expire, requiring a new token to be fetched. see [authentication](#tag/Authentication) name: Authentication - description: "Hopper uses a unique ID to correlate API calls and events produced\ \ by a user's interaction with an airline application.\nThe duration of the user's\ \ interactions is called a \"session\", and the correlation ID is called a `session_id`.\n\ \nA session begins immediately before the airline’s first API call to Hopper,\ \ and the airline must call the Create a Session endpoint at this time. \nA `session_id`\ \ is returned from this call; it must be included with each subsequent API call\ \ via the `HC-Session-ID` header. \nNo airline action is required to end the session.\n" name: Sessions - description: | **What is Cancel For Any Reason?** Cancel For Any Reason (CFAR) enables airlines to offer refundability as an ancillary with HTS powering the dynamic pricing and supporting the refund cost. **** **How it works** There are two distinct flows for CFAR: - The _purchase flow_, enabling customers to purchase the product within the airline’s booking flow. - The _exercise flow_, enabling customers to cancel their booking and get a refund. For each of these flows, the first step is to [Create a Session](#operation/postSessions) Both the purchase and the exercise of CFAR should be tracked by the airline in the airline’s Passenger Name Record (PNR) according to the applicable industry standards. **** **Purchase flow** CFAR follows the industry standard of a two step purchase process. 1. Once the user is landing on the page displaying the CFAR offer, the airline will call the [Create CFAR Offers](#operation/postCfar_offers) endpoint. CFAR Offers can be created at multiple granular levels. The request must include a description of the Itinerary for which the offers are requested. The response will contain - the price for the product (`premium`), - the refundable amount (`coverage`), - the UTC date and time until when the cancellation can be requested (`contract_expiry_date_time`) - and the description of the offer in the available languages (`contents`). 2. If a user is attaching CFAR to his booking, the airline will call the [Create CFAR Contract](#operation/postCfar_contracts) endpoint. The request must include the selected `offer_id`(s) and a description of the Itinerary for which the contract is requested, which must match the one of the Offer(s). At this stage, the CFAR Contract is only _created_. It will be confirmed once the customer has made the payment, which can be done in two ways: 1. If the airline is the Merchant of Records (MoR), it will capture the payment for the total amount of the booking, including the CFAR fee amount. Upon a successful payment, the airline will call the Update CFAR Contract Status endpoint to set the CFAR contract to _confirmed_. The airline will track this purchase in its PNR following the industry standards that apply to ticketing or ticketless carriers. 2. If HTS is the Merchant of Records (MoR), the airline will capture the payment for the amount of the booking excluding the CFAR fee, while HTS will capture the payment for the CFAR fee amount. Upon a successful payment of its portion, the airline will call the Process CFAR Payment endpoint for HTS to capture the payment for the CFAR fee amount. Once successful, the CFAR contract will be set to _confirmed_. The airline will track this purchase in its PNR. The details of a CFAR contract can be retrieved at any time through the Get a CFAR Contract endpoint. **** **Exercise flow** CFAR exercise follows a two step process. 1. The user will request the exercise from the “Manage My Bookings” (MMB) page of the airline, through a dedicated Call to action displayed based on the tracker added to the PNR at the time of booking. Once the user is requesting the exercise, the airline will call the [Create CFAR Exercise](#operation/postCfar_contract_exercises) endpoint to authorize the exercise. The request must include the Contract ID, the Itinerary at the time of the exercise request and some optional information on the refund option that may be offered by the airline. If eligible to the exercise, the response will contain the refundable amounts, both in cash and Future Travel Credit (FTC) if applicable. 2. Once the user has followed the steps of the refund portal and confirmed the cancellation request, HTS will make a call back to the airline to launch the PNR update flow on the airline’s end. The actual PNR update flow depends on each airline’s specifics and is not described here. Upon a successful update of the PNR, the airline will confirm the exercise to HTS by calling the [Complete CFAR Exercise](#operation/putCfar_contract_exercisesIdMark_completed) endpoint. name: Cancel For Any Reason (CFAR) - description: "**What is Disruption Guarantee?**\n\nDisruption Guarantee (DG) offers\ \ a premium disruption assistance service to customers in case of flight disruption,\ \ including rebooking options on any airline or a refund option.\n\n****\n\n**How\ \ it works**\n\nThere are two distinct flows for DG:\n\n- The _purchase flow_,\ \ enabling customers to purchase the product within the airline’s booking flow.\n\ - The _exercise flow_, enabling customers to benefit from the premium disruption\ \ assistance service in case of a flight disruption.\n\nFor the _purchase flow_,\ \ the first step is to [Create a Session](#operation/postSessions)\n\nBoth the\ \ purchase and the exercise of DG should be tracked by the airline in the airline’\ s Passenger Name Record (PNR) according to the applicable industry standards.\n\ \n****\n\n**Purchase flow**\n\nDG follows the industry standard of a two step\ \ purchase process.\n\n1. Once the user is landing on the page displaying the\ \ DG offer, the airline will call the [Create DG Offers](#operation/postDg_offers)\ \ endpoint. DG Offers can be created at multiple granular levels. The request\ \ must include a description of the Itinerary for which the offers are requested.\ \ The response will contain\n\n - the price for the product (`premium`),\n \ \ - the refundable amount (`coverage`),\n - the maximum price per passenger\ \ for a new flight (`service_cap`),\n - the delay threshold to trigger the policy\ \ (`min_minuted_delay`),\n - the start of the timeframe to trigger the policy\ \ (`max_hours_before_departure`)\n - and the description of the offer in the\ \ user’s language (`contents`).\n\n2. If a user is attaching DG to his booking,\ \ the airline will call the [Create DG Contract](#operation/postDg_contracts)\ \ endpoint. The request must include the selected offer\\_id(s) and a description\ \ of the Itinerary for which the contract is requested, which must match the one\ \ of the Offer. At this stage, the DG Contract is only _created_. It will be confirmed\ \ once the customer has made the payment, which can be done in two ways:\n\n \ \ 1. If the airline is the Merchant of Records (MoR), it will capture the payment\ \ for the total amount of the booking, including the DG fee amount. Upon a successful\ \ payment, the airline will call the Update DG Contract Status endpoint to set\ \ the DG contract to _confirmed_. The airline will track this purchase in its\ \ PNR following the industry standards that apply to ticketing or ticketless carriers.\n\ \ 2. If HTS is the Merchant of Records (MoR), the airline will capture the payment\ \ for the amount of the booking excluding the DG fee, while HTS will capture the\ \ payment for the DG fee amount. Upon a successful payment of its portion, the\ \ airline will call the Process DG Payment endpoint for HTS to capture the payment\ \ for the DG fee amount. Once successful, the DG contract will be set to _confirmed_.\ \ The airline will track this purchase in its PNR.\n \nThe details of a DG contract\ \ can be retrieved at any time through the [Get a DG Contract](#operation/getDg_contractsId)\ \ endpoint.\n\n****\n\n**Exercise flow**\n\nIn this version of the API, the DG\ \ exercise is powered by HTS as a standalone flow, without any endpoint publicly\ \ exposed.\\\nIn a future version of the API, the DG exercise will be initialized\ \ from the “Manage My Bookings” (MMB) page of the airline. New endpoints will\ \ be released to that purpose.\n" name: Disruption Guarantee (DG) - description: "In order to measure and continuously improve HTS Ancillaries performance,\ \ specific events occurring during a customer session can be sent by the partner\ \ airlines using some dedicated endpoints." name: Analytics paths: /events: post: description: Events can be send directly from partner backend using the same authentication as the other endpoints operationId: postEvents parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/event' required: true responses: "204": description: The event has been successfully created headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Send a Backend Event tags: - Analytics /sessions: post: description: Create a new session for which events will be collected. operationId: postSessions requestBody: content: application/json: schema: $ref: '#/components/schemas/create_airline_session_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/airline_session' description: The created airline session headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The airline session creation request was not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create a Session tags: - Sessions /cfar_offers: post: description: Create CFAR offers for a user's trip operationId: postCfar_offers parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/create_cfar_offer_request' required: true responses: "201": content: application/json: schema: items: $ref: '#/components/schemas/cfar_offer' type: array description: The created CFAR offers headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple HTS-Session-ID: description: "The ID of the current session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create CFAR Offers tags: - Cancel For Any Reason (CFAR) /cfar_offers/external: post: description: Create a CFAR offer with externally provided pricing and coverage details (temporal API for data migration) operationId: postCfar_offersExternal parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/create_external_cfar_offer_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/cfar_offer' description: The created CFAR offer headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple HTS-Session-ID: description: "The ID of the current session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create External CFAR Offer tags: - Cancel For Any Reason (CFAR) /cfar_contracts: post: description: Create a CFAR contract from selected CFAR offer(s). operationId: postCfar_contracts requestBody: content: application/json: schema: $ref: '#/components/schemas/create_cfar_contract_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/cfar_contract' description: The created CFAR contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The CFAR contract creation request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create a CFAR Contract tags: - Cancel For Any Reason (CFAR) /cfar_contracts/{id}: get: description: Get a CFAR contract operationId: getCfar_contractsId parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_contract' description: The requested CFAR contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Get a CFAR Contract tags: - Cancel For Any Reason (CFAR) /cfar_contracts/{id}/update_status: put: description: Update the CFAR contract operationId: putCfar_contractsIdUpdate_status parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/update_cfar_contract_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_contract' description: The updated CFAR contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The CFAR contract status update request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Update CFAR Contract Status tags: - Cancel For Any Reason (CFAR) /cfar_contracts/{id}/forms_of_payment: put: description: Update forms of payment linked with a CFAR contract operationId: putCfar_contractsIdForms_of_payment parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/update_cfar_form_of_payment_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_contract' description: The updated CFAR contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: Forms of payment update request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Update forms of payment of a CFAR Contract tags: - Cancel For Any Reason (CFAR) /cfar_contracts/{id}/payment: post: description: "When HTS is the Merchant of Record (MoR), the customer's credit\ \ card is charged by HTS for the CFAR fee.\n\nHTS is relying on an external\ \ payment gateway to process the payments, it allows the partner airline to\ \ tokenize the customer's credit card details and then pass the generated\ \ token in HTS Ancillaries for Airlines API payment endpoints in order to\ \ process the payment and confirm the contract related to the purchased product.\n\ \n**Token URL**: https://core.spreedly.com/v1/payment_methods.json\n \n**Example\ \ Token Request**: \n \n``` \ncurl --request POST --url https://core.spreedly.com/v1/payment_methods.json\ \ --header 'content-type: application/json' -u \"login:password\" --data\ \ '{\n\t\"payment_method\": {\n\t\t\"email\": \"aaa@bbb.ccc\",\n\t\t\"credit_card\"\ : {\n\t\t\t\"number\": \"4111111111111111\",\n\t\t\t\"month\": \"09\",\n\t\ \t\t\"year\": \"2029\",\n\t\t\t\"first_name\": \"John\",\n\t\t\t\"last_name\"\ : \"Smith\",\n\t\t\t\"address1\": \"123 12th St\",\n\t\t\t\"address2\": \"\ Building B\",\n\t\t\t\"city\": \"Quebec City\",\n\t\t\t\"state\": \"QC\",\n\ \t\t\t\"zip\": \"G1R 4S9\",\n\t\t\t\"country\": \"CA\",\n\t\t\t\"verification_value\"\ : \"123\"\n\t\t}\n\t}\n}'\n```\n**Example Token Response**: \n``` \n{\n\t\ \"transaction\": {\n\t\t\"token\": \"KtToV20m9qT1Yi8pbTeLNz0Ypns\",\n\t\t\ \"created_at\": \"2023-11-29T13:31:56Z\",\n\t\t\"updated_at\": \"2023-11-29T13:31:56Z\"\ ,\n\t\t\"succeeded\": true,\n\t\t\"transaction_type\": \"AddPaymentMethod\"\ ,\n\t\t\"retained\": false,\n\t\t\"state\": \"succeeded\",\n\t\t\"message_key\"\ : \"messages.transaction_succeeded\",\n\t\t\"message\": \"Succeeded!\",\n\ \t\t\"payment_method\": {\n\t\t\t\"token\": \"MxyYEhDK12CUAA18bJDkAq0ab3y\"\ ,\n\t\t\t\"created_at\": \"2023-11-29T13:31:56Z\",\n\t\t\t\"updated_at\"\ : \"2023-11-29T13:31:56Z\",\n\t\t\t\"email\": \"aaa@bbb.ccc\",\n\t\t\t\"\ data\": null,\n\t\t\t\"storage_state\": \"cached\",\n\t\t\t\"test\": true,\n\ \t\t\t\"metadata\": null,\n\t\t\t\"callback_url\": null,\n\t\t\t\"last_four_digits\"\ : \"1111\",\n\t\t\t\"first_six_digits\": \"411111\",\n\t\t\t\"card_type\"\ : \"visa\",\n\t\t\t\"first_name\": \"John\",\n\t\t\t\"last_name\": \"Smith\"\ ,\n\t\t\t\"month\": 9,\n\t\t\t\"year\": 2029,\n\t\t\t\"address1\": \"123\ \ 12th St\",\n\t\t\t\"address2\": \"Building B\",\n\t\t\t\"city\": \"Quebec\ \ City\",\n\t\t\t\"state\": \"QC\",\n\t\t\t\"zip\": \"G1R 4S9\",\n\t\t\t\ \"country\": \"CA\",\n\t\t\t\"phone_number\": null,\n\t\t\t\"company\":\ \ null,\n\t\t\t\"full_name\": \"John Smith\",\n\t\t\t\"eligible_for_card_updater\"\ : true,\n\t\t\t\"shipping_address1\": null,\n\t\t\t\"shipping_address2\"\ : null,\n\t\t\t\"shipping_city\": null,\n\t\t\t\"shipping_state\": null,\n\ \t\t\t\"shipping_zip\": null,\n\t\t\t\"shipping_country\": null,\n\t\t\t\ \"shipping_phone_number\": null,\n\t\t\t\"issuer_identification_number\"\ : \"41111111\",\n\t\t\t\"click_to_pay\": false,\n\t\t\t\"managed\": true,\n\ \t\t\t\"payment_method_type\": \"credit_card\",\n\t\t\t\"errors\": [],\n\ \t\t\t\"bin_metadata\": {\n\t\t\t\t\"message\": \"BIN Metadata is available\ \ only to Advanced Vault enrolled customers and payment methods. Reach out\ \ to your account representative for more details.\"\n\t\t\t},\n\t\t\t\"fingerprint\"\ : \"7ccffcf38900f224fc946cf2a9c8e260072b\",\n\t\t\t\"verification_value\"\ : \"XXX\",\n\t\t\t\"number\": \"XXXX-XXXX-XXXX-1111\"\n\t\t}\n\t}\n}\n```\n\ Here the returned payment method token **MxyYEhDK12CUAA18bJDkAq0ab3y** has\ \ to be used in the Process CFAR Payment request below." operationId: postCfar_contractsIdPayment parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/process_cfar_payment_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_payment' description: The result of the transaction headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Process CFAR Payment tags: - Cancel For Any Reason (CFAR) /cfar_contracts/{id}/itinerary_slices: put: description: Update itinerary slices of a CFAR contract. operationId: putCfar_contractsIdItinerary_slices parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/update_cfar_contract_itinerary_slices_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_contract' description: The updated CFAR contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The CFAR Contract Itinerary Slices update request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Update CFAR Contract Itinerary Slices tags: - Cancel For Any Reason (CFAR) /cfar_contract_exercises: post: description: Record that a request to exercise a CFAR contract has occurred. operationId: postCfar_contract_exercises parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/create_cfar_contract_exercise_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/cfar_contract_exercise' description: The created CFAR contract exercise headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create CFAR Exercise tags: - Cancel For Any Reason (CFAR) /cfar_contract_exercises/{id}/mark_completed: put: description: Record that a request to exercise a CFAR contract has been completed operationId: putCfar_contract_exercisesIdMark_completed parameters: - description: A unique identifier for a exercise explode: false in: path name: id required: true schema: type: string style: simple - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/mark_cfar_contract_exercise_complete_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/cfar_contract_exercise' description: The updated CFAR contract exercise headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Complete CFAR Exercise tags: - Cancel For Any Reason (CFAR) /customer/cfar/payout/receipt: get: description: Download payout receipt as PDF operationId: getCustomerCfarPayoutReceipt parameters: - explode: false in: header name: verification-code required: false schema: type: string style: simple responses: "200": content: application/pdf: schema: format: binary type: string description: PDF receipt file headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple Content-Type: explode: false required: true schema: type: string style: simple Content-Disposition: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - {} - SessionAuth: [] summary: Get payout receipt PDF tags: - Cancel For Any Reason (CFAR) /dg_offers: post: description: Create DG offers for a user's trip operationId: postDg_offers parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/create_dg_offers_request' required: true responses: "201": content: application/json: schema: items: $ref: '#/components/schemas/create_dg_offer_item_response' type: array description: The created DG offers headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple HTS-Session-ID: description: "The ID of the current session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create DG Offers tags: - Disruption Guarantee (DG) /dg_contracts: post: description: Create a DG contract from selected DG offer(s). operationId: postDg_contracts requestBody: content: application/json: schema: $ref: '#/components/schemas/create_dg_contract_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/dg_contract' description: The created DG contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The DG contract creation request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create a DG Contract tags: - Disruption Guarantee (DG) /dg_contracts/{id}: get: description: Get a DG contract operationId: getDg_contractsId parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/dg_contract' description: The requested DG contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Get a DG contract tags: - Disruption Guarantee (DG) /dg_contracts/{id}/payment: post: description: "When HTS is the Merchant of Record (MoR), the customer's credit\ \ card is charged by HTS for the DG fee.\n\nHTS is relying on an external\ \ payment gateway to process the payments, it allows the partner airline to\ \ tokenize the customer's credit card details and then pass the generated\ \ token in HTS Ancillaries for Airlines API payment endpoints in order to\ \ process the payment and confirm the contract related to the purchased product.\n\ \n**Token URL**: https://core.spreedly.com/v1/payment_methods.json\n \n**Example\ \ Token Request**: \n \n``` \ncurl --request POST --url https://core.spreedly.com/v1/payment_methods.json\ \ --header 'content-type: application/json' -u \"login:password\" --data\ \ '{\n\t\"payment_method\": {\n\t\t\"email\": \"aaa@bbb.ccc\",\n\t\t\"credit_card\"\ : {\n\t\t\t\"number\": \"4111111111111111\",\n\t\t\t\"month\": \"09\",\n\t\ \t\t\"year\": \"2029\",\n\t\t\t\"first_name\": \"John\",\n\t\t\t\"last_name\"\ : \"Smith\",\n\t\t\t\"address1\": \"123 12th St\",\n\t\t\t\"address2\": \"\ Building B\",\n\t\t\t\"city\": \"Quebec City\",\n\t\t\t\"state\": \"QC\",\n\ \t\t\t\"zip\": \"G1R 4S9\",\n\t\t\t\"country\": \"CA\",\n\t\t\t\"verification_value\"\ : \"123\"\n\t\t}\n\t}\n}'\n```\n**Example Token Response**: \n``` \n{\n\t\ \"transaction\": {\n\t\t\"token\": \"KtToV20m9qT1Yi8pbTeLNz0Ypns\",\n\t\t\ \"created_at\": \"2023-11-29T13:31:56Z\",\n\t\t\"updated_at\": \"2023-11-29T13:31:56Z\"\ ,\n\t\t\"succeeded\": true,\n\t\t\"transaction_type\": \"AddPaymentMethod\"\ ,\n\t\t\"retained\": false,\n\t\t\"state\": \"succeeded\",\n\t\t\"message_key\"\ : \"messages.transaction_succeeded\",\n\t\t\"message\": \"Succeeded!\",\n\ \t\t\"payment_method\": {\n\t\t\t\"token\": \"MxyYEhDK12CUAA18bJDkAq0ab3y\"\ ,\n\t\t\t\"created_at\": \"2023-11-29T13:31:56Z\",\n\t\t\t\"updated_at\"\ : \"2023-11-29T13:31:56Z\",\n\t\t\t\"email\": \"aaa@bbb.ccc\",\n\t\t\t\"\ data\": null,\n\t\t\t\"storage_state\": \"cached\",\n\t\t\t\"test\": true,\n\ \t\t\t\"metadata\": null,\n\t\t\t\"callback_url\": null,\n\t\t\t\"last_four_digits\"\ : \"1111\",\n\t\t\t\"first_six_digits\": \"411111\",\n\t\t\t\"card_type\"\ : \"visa\",\n\t\t\t\"first_name\": \"John\",\n\t\t\t\"last_name\": \"Smith\"\ ,\n\t\t\t\"month\": 9,\n\t\t\t\"year\": 2029,\n\t\t\t\"address1\": \"123\ \ 12th St\",\n\t\t\t\"address2\": \"Building B\",\n\t\t\t\"city\": \"Quebec\ \ City\",\n\t\t\t\"state\": \"QC\",\n\t\t\t\"zip\": \"G1R 4S9\",\n\t\t\t\ \"country\": \"CA\",\n\t\t\t\"phone_number\": null,\n\t\t\t\"company\":\ \ null,\n\t\t\t\"full_name\": \"John Smith\",\n\t\t\t\"eligible_for_card_updater\"\ : true,\n\t\t\t\"shipping_address1\": null,\n\t\t\t\"shipping_address2\"\ : null,\n\t\t\t\"shipping_city\": null,\n\t\t\t\"shipping_state\": null,\n\ \t\t\t\"shipping_zip\": null,\n\t\t\t\"shipping_country\": null,\n\t\t\t\ \"shipping_phone_number\": null,\n\t\t\t\"issuer_identification_number\"\ : \"41111111\",\n\t\t\t\"click_to_pay\": false,\n\t\t\t\"managed\": true,\n\ \t\t\t\"payment_method_type\": \"credit_card\",\n\t\t\t\"errors\": [],\n\ \t\t\t\"bin_metadata\": {\n\t\t\t\t\"message\": \"BIN Metadata is available\ \ only to Advanced Vault enrolled customers and payment methods. Reach out\ \ to your account representative for more details.\"\n\t\t\t},\n\t\t\t\"fingerprint\"\ : \"7ccffcf38900f224fc946cf2a9c8e260072b\",\n\t\t\t\"verification_value\"\ : \"XXX\",\n\t\t\t\"number\": \"XXXX-XXXX-XXXX-1111\"\n\t\t}\n\t}\n}\n```\n\ Here the returned payment method token **MxyYEhDK12CUAA18bJDkAq0ab3y** has\ \ to be used in the Process DG Payment request below." operationId: postDg_contractsIdPayment parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/process_dg_payment_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/dg_payment' description: The contract has been paid headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Process DG payment tags: - Disruption Guarantee (DG) /dg_contracts/{id}/update_status: put: description: Update DG Contract Status operationId: putDg_contractsIdUpdate_status parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/update_dg_contract_status_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/dg_contract' description: The Updated DG contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The DG contract status update request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Update DG Contract Status tags: - Disruption Guarantee (DG) /dg_contracts/{id}/itinerary_slices: put: description: Update itinerary slices of a DG contract. operationId: putDg_contractsIdItinerary_slices parameters: - description: A unique identifier for a contract explode: false in: path name: id required: true schema: type: string style: simple requestBody: content: application/json: schema: items: $ref: '#/components/schemas/dg_itinerary_slice' minItems: 1 type: array required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/dg_contract' description: The Updated DG contract headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "204": description: The DG Contract Itinerary Slices update request was successfully validated but not performed headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Update DG Contract Itinerary Slices tags: - Disruption Guarantee (DG) /dg_contract_exercises: post: description: Record that a request to exercise a DG contract has occurred. operationId: postDg_contract_exercises parameters: - description: "The ID of the current airline session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false in: header name: HC-Session-ID required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/create_dg_contract_exercise_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/create_dg_contract_exercise_response' description: The created DG contract exercise headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple HTS-Session-ID: description: "The ID of the current session, see [Sessions](#tag/Sessions)" example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - PartnerAuth: [] apiKeyAuth: [] summary: Create DG Exercise tags: - Disruption Guarantee (DG) /customer/dg/payout/receipt: get: description: Download payout receipt as PDF operationId: getCustomerDgPayoutReceipt parameters: - explode: false in: header name: verification-code required: false schema: type: string style: simple responses: "200": content: application/pdf: schema: format: binary type: string description: PDF receipt file headers: Expires: explode: false required: true schema: type: string style: simple Cache-Control: explode: false required: true schema: type: string style: simple Content-Type: explode: false required: true schema: type: string style: simple Content-Disposition: explode: false required: true schema: type: string style: simple "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error security: - {} - SessionAuth: [] summary: Get payout receipt PDF tags: - Disruption Guarantee (DG) /customer/dg_exercises/{id}/session: get: description: Retrieve the session ID for a given DG exercise ID operationId: getCustomerDg_exercisesIdSession parameters: - description: A unique identifier for a exercise explode: false in: path name: id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/get_dg_exercise_session_response' description: The session ID for the DG exercise "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "404": description: The requested resource could not be found "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request "500": description: The server encountered an internal error summary: Get session ID by DG exercise ID tags: - Disruption Guarantee (DG) /auth: post: description: Get an authentication token operationId: postAuth requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_request' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/auth_response' description: The authentication response "400": content: application/json: schema: $ref: '#/components/schemas/bad_request' description: Syntactic errors were encountered while handling the request "401": description: The client could not be authenticated "403": description: The authenticated client does not have permission to call this endpoint "422": content: application/json: schema: $ref: '#/components/schemas/unprocessable_entity' description: Semantic errors were encountered while handling the request summary: Create an authentication token tags: - Authentication components: schemas: agent_reseller: description: Agent / reseller channel properties: agency_id: description: The agency identifier type: string agent_id: description: The agent identifier type: string type: enum: - agent_reseller type: string required: - agency_id - agent_id - type title: agent_reseller type: object airline_refund_method: enum: - ftc - cash title: airline_refund_method type: string airline_session: description: A airline session resource example: id: af585dfd-dddf-4726-9ef7-f1bb8909a79a properties: id: description: A unique identifier for a airline session example: af585dfd-dddf-4726-9ef7-f1bb8909a79a type: string required: - id title: airline_session type: object ancillary: example: passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance properties: total_price: description: Total price of ancillaries of this type example: "20.55" minimum: 0 type: string passenger_reference: description: Unique reference of the passenger associated to this ancillary example: "1" type: string type: $ref: '#/components/schemas/ancillary_type' covered: description: Is this ancillary covered by the product. By default true if not specified type: boolean required: - total_price - type title: ancillary type: object ancillary_type: description: The type of ancillary enum: - travel_insurance - bag_insurance - cabin_bag - checked_bag - seat - lounge - meal - fast_track - pet - change - bundle - payment_fee - other example: travel_insurance title: ancillary_type type: string android: properties: version: example: 15.0.2 type: string type: enum: - android example: i_os type: string required: - type title: android type: object api: description: API channel — a programmatic integration properties: client: description: The API client identifier type: string type: enum: - api type: string required: - client - type title: api type: object app: properties: operating_system: $ref: '#/components/schemas/operating_system' type: enum: - app example: app type: string required: - type title: app type: object auth_request: properties: client_id: type: string client_secret: type: string required: - client_id - client_secret title: auth_request type: object auth_response: example: access_token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImtjN2FjWmV4bHBvZk1QY3V6UF9HTyJ9.eyJpc3MiOiJodHRwczovL2hvcHBlci1hcGkuYXV0aDAuY29tLyIsInN1YiI6IlhVdWpRSlRCODFPdkVTODh1VDlPNHhIUzVNUkpZV2tCQGNsaWVudHMiLCJhdWQiOiJodHRwczovL3N0YWdpbmcuYXBpLmhvcHBlci5jb20iLCJpYXQiOjE2NTI5ODQ2ODEsImV4cCI6MTY1MzA3MTA4MSwiYXpwIjoiWFV1alFKVEI4MU92RVM4OHVUOU80eEhTNU1SSllXa0IiLCJzY29wZSI6ImFsbDpwcmljZWZyZWV6ZSBhbGw6Z2VuZXJhbCBhbGw6Y2ZhciIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.VlKuMHJkGpOA-L9oJn-UBEOD7VdzLXQSn2DiTrlROR521uHupkRnI-_tDjYD-sygmNmI0bIb0UEQ2ETOyalFZICge8-qWpxBccM_rfgPemZ6Rs9fZSY8XjZtaM9sQEJ4OqwXQiIU0tQDVMfegj-4wnKglHAKzJ7X7wb05nSCP_g2cXIXL9mapnLT8vf609CZIz2cRuWvww5E9qlJ6mUQxsYBv9xwJoyF3IK8TCWUFFvu2xSendMltvUlCHJHjWpddFDTdkl1ErHq_ta-3e1n2ZjU1HVVux9dwWoZQDYJFprtDYjPS-jVhEljGMASB74zf_xbcWCwoa_HJlxLlhBhoQ scope: all:general all:cfar token_type: Bearer expires_in: 86400 properties: access_token: description: The authentication token example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImtjN2FjWmV4bHBvZk1QY3V6UF9HTyJ9.eyJpc3MiOiJodHRwczovL2hvcHBlci1hcGkuYXV0aDAuY29tLyIsInN1YiI6IlhVdWpRSlRCODFPdkVTODh1VDlPNHhIUzVNUkpZV2tCQGNsaWVudHMiLCJhdWQiOiJodHRwczovL3N0YWdpbmcuYXBpLmhvcHBlci5jb20iLCJpYXQiOjE2NTI5ODQ2ODEsImV4cCI6MTY1MzA3MTA4MSwiYXpwIjoiWFV1alFKVEI4MU92RVM4OHVUOU80eEhTNU1SSllXa0IiLCJzY29wZSI6ImFsbDpwcmljZWZyZWV6ZSBhbGw6Z2VuZXJhbCBhbGw6Y2ZhciIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.VlKuMHJkGpOA-L9oJn-UBEOD7VdzLXQSn2DiTrlROR521uHupkRnI-_tDjYD-sygmNmI0bIb0UEQ2ETOyalFZICge8-qWpxBccM_rfgPemZ6Rs9fZSY8XjZtaM9sQEJ4OqwXQiIU0tQDVMfegj-4wnKglHAKzJ7X7wb05nSCP_g2cXIXL9mapnLT8vf609CZIz2cRuWvww5E9qlJ6mUQxsYBv9xwJoyF3IK8TCWUFFvu2xSendMltvUlCHJHjWpddFDTdkl1ErHq_ta-3e1n2ZjU1HVVux9dwWoZQDYJFprtDYjPS-jVhEljGMASB74zf_xbcWCwoa_HJlxLlhBhoQ type: string scope: description: Token's scope example: all:general all:cfar type: string expires_in: description: Token's expiration (in seconds) example: 86400 format: int32 type: integer token_type: $ref: '#/components/schemas/token_type' required: - access_token - expires_in - scope - token_type title: auth_response type: object bad_request: example: errors: - code: code messages: key: messages message: message - code: code messages: key: messages message: message properties: errors: items: $ref: '#/components/schemas/error' type: array required: - errors title: bad_request type: object booking_confirmed: properties: occurred_date_time: description: |- A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device example: 2022-01-24T15:34:30Z format: date-time type: string cfar_contract_id: description: "The purchased CFAR contract, if one is present" type: string dg_contract_id: description: "The purchased DG contract, if one is present" type: string type: enum: - booking_confirmed type: string required: - occurred_date_time - type title: booking_confirmed type: object browser: discriminator: mapping: chrome: '#/components/schemas/chrome' edge: '#/components/schemas/edge' firefox: '#/components/schemas/firefox' internet_explorer: '#/components/schemas/internet_explorer' opera: '#/components/schemas/opera' other_browser: '#/components/schemas/other_browser' safari: '#/components/schemas/safari' propertyName: type oneOf: - $ref: '#/components/schemas/chrome' - $ref: '#/components/schemas/edge' - $ref: '#/components/schemas/firefox' - $ref: '#/components/schemas/internet_explorer' - $ref: '#/components/schemas/opera' - $ref: '#/components/schemas/other_browser' - $ref: '#/components/schemas/safari' title: browser cabin: description: Service class of the segment enum: - economy - premium_economy - business - first title: cabin type: string cash: properties: amount: description: Amount charged on the form of payment minimum: 0 type: string currency: description: Currency of the form of payment example: CAD type: string type: enum: - cash type: string required: - amount - currency - type title: cash type: object cfar_contents: example: bullet_points: - bullet_points - bullet_points labels: key: labels properties: bullet_points: description: An array containing the bullet points to be displayed items: type: string type: array labels: additionalProperties: type: string title: map_string type: object required: - bullet_points - labels title: cfar_contents type: object cfar_contract: description: A CFAR contract example: offers: - coverage: "400.00" taxes_total: "3.90" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false itinerary: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure slices: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null total_price: "401.10" taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD currency: CAD passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z coverage_extension: "40.00" terms_conditions_url: terms_conditions_url premium: "40.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: 1ec9eed3-4486-6460-9d6c-2fb8469d35db entry_point: entry_point merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component - coverage: "400.00" taxes_total: "3.90" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false itinerary: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure slices: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null total_price: "401.10" taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD currency: CAD passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z coverage_extension: "40.00" terms_conditions_url: terms_conditions_url premium: "40.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: 1ec9eed3-4486-6460-9d6c-2fb8469d35db entry_point: entry_point merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component coverage: "98.64" taxes_total: "3.90" ext_attributes: key: ext_attributes coverage_percentage: "80.00" taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false itinerary: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure slices: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null total_price: "401.10" taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD currency: CAD passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD reference: 1FE5772642C77BAB created_date_time: 2022-01-08T14:36:56Z exercise_url: exercise_url premium: "80.00" currency: USD id: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee pnr_reference: ABC123 expiry_date_time: 2022-06-01T15:00:00Z status: created properties: id: description: Unique identifier for a contract example: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee type: string reference: description: Unique reference for a contract example: 1FE5772642C77BAB type: string offers: description: CFAR Offer(s) used to create the contract items: $ref: '#/components/schemas/cfar_offer' type: array itinerary: $ref: '#/components/schemas/cfar_itinerary' coverage_percentage: description: Percentage of the amount to be refunded to customer compared to flight tickets price example: "80.00" minimum: 0 type: string coverage: description: Total amount to be refunded upon CFAR exercise example: "98.64" minimum: 0 type: string premium: description: Total amount to be paid for CFAR example: "80.00" minimum: 0 type: string currency: description: Currency of contract example: USD type: string taxes_total: description: Part of the premium which are taxes example: "3.90" minimum: 0 type: string taxes: description: List of applicable taxes items: $ref: '#/components/schemas/cfar_tax' type: array created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a CFAR contract was created" example: 2022-01-08T14:36:56Z format: date-time type: string expiry_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ A UTC RFC3339 datetime; the date and time at which the CFAR contract\ \ will expire once purchased" example: 2022-06-01T15:00:00Z format: date-time type: string status: $ref: '#/components/schemas/cfar_status' pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string ext_attributes: additionalProperties: type: string title: map_string type: object exercise_url: description: URL to exercise the contract (if applicable) type: string required: - coverage - coverage_percentage - created_date_time - currency - expiry_date_time - ext_attributes - id - itinerary - offers - premium - reference - status - taxes_total title: cfar_contract type: object cfar_contract_exercise: description: An object containing exercise information for a contract example: ext_attributes: key: ext_attributes ftc_refund_allowance: "123.20" contract_id: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee cash_refund_allowance: "49.32" redirection_url: https://hts.hopper.com/ currency: CAD id: 1ec9ef4b-b3bf-64ae-8a3d-6b084d9f6b3c exercise_initiated_date_time: 2022-03-08T15:20:30Z redirection_token: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: id: description: Unique identifier for a CFAR exercise example: 1ec9ef4b-b3bf-64ae-8a3d-6b084d9f6b3c type: string contract_id: description: Unique identifier for a contract example: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee type: string exercise_initiated_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a contract exercise was initiated" example: 2022-03-08T15:20:30Z format: date-time type: string cash_refund_allowance: description: Refundable amount allowed in cash example: "49.32" minimum: 0 type: string ext_attributes: additionalProperties: type: string title: map_string type: object ftc_refund_allowance: description: Refundable amount allowed in future travel credit example: "123.20" type: string currency: description: The currency of the airline's refund allowance example: CAD type: string redirection_token: description: Token used to authenticate the redirection after filling refund information in claims portal format: uuid type: string redirection_url: description: URL on which the customer should be redirected to exercise (if applicable) example: https://hts.hopper.com/ type: string required: - cash_refund_allowance - contract_id - exercise_initiated_date_time - ext_attributes - id - redirection_token title: cfar_contract_exercise type: object cfar_create_exercise_itinerary: description: Itinerary of the user when the contract exercise was initiated (only active segments should be provided) properties: passenger_pricing: description: "List of passengers type, count and pricing for the itinerary" items: $ref: '#/components/schemas/cfar_create_exercise_passenger_pricing' minItems: 1 type: array currency: description: Currency of pricing fields example: CAD type: string slices: description: "List of slices of the itinerary; 1 (one way), 2 (round trip)\ \ or up to 10 (multi-destination) slices are allowed" items: $ref: '#/components/schemas/cfar_create_exercise_itinerary_slice' minItems: 1 type: array ancillaries: description: Ancillaries attached to the itinerary and their prices. Only ancillaries covered by CFAR must be filled items: $ref: '#/components/schemas/ancillary' type: array total_price: description: Total price to be covered by CFAR (including ancillaries if applicable) example: "401.10" minimum: 0 type: string passengers: description: Details of the passengers items: $ref: '#/components/schemas/cfar_passenger' type: array fare_rules: description: "The fare rules associated to the itinerary. If different fare\ \ rules apply to different slices in the itinerary, indicate the most\ \ restrictive." items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array required: - slices title: cfar_create_exercise_itinerary type: object cfar_create_exercise_itinerary_slice: description: An object containing the list of flight segments for a fare slice properties: segments: description: A list of segments which make up the slice items: $ref: '#/components/schemas/cfar_create_exercise_slice_segment' minItems: 1 type: array passenger_pricing: description: "List of passengers type, count and pricing for the slice" items: $ref: '#/components/schemas/passenger_pricing' minItems: 1 type: array total_price: description: The price of the slice for all the passengers example: "401.10" minimum: 0 type: string fare_brand: description: Name of the fare brand applied to the slice example: flex type: string fare_basis: description: Code of the fare basis applied to the slice example: YBA123US type: string fare_rules: description: The fare rules associated to the slice items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array other_fares: description: Other available fares in the same cabin items: $ref: '#/components/schemas/fare' minItems: 1 type: array required: - segments title: cfar_create_exercise_itinerary_slice type: object cfar_create_exercise_passenger_pricing: properties: passenger_count: $ref: '#/components/schemas/passenger_count' individual_price: description: Price per passenger (excluding ancillaries) example: "200.55" minimum: 0 type: string taxes: description: Taxes applicable per passenger items: $ref: '#/components/schemas/cfar_passenger_tax' type: array required: - passenger_count title: cfar_create_exercise_passenger_pricing type: object cfar_create_exercise_slice_segment: description: An object detailing a segment of a fare slice properties: origin_airport: description: IATA airport code of origin example: BOS pattern: "[A-Z]{3}" type: string destination_airport: description: IATA airport code of destination example: LGA pattern: "[A-Z]{3}" type: string departure_date_time: description: The local date and time of departure in ISO Local Date Time format example: 2022-04-02T18:34:30 type: string arrival_date_time: description: The local date and time of arrival in ISO Local Date Time format example: 2022-04-02T19:12:30 type: string flight_number: description: The number of the flight example: JB776 pattern: "([A-Z][0-9]{2,5}|[0-9]{1,4}|[0-9][A-Z][0-9]{1,4}|[A-Z]{2}[0-9]{1,4})" type: string validating_carrier_code: description: The IATA airline code of the validating carrier for this segment example: B6 pattern: "[A-Z0-9]{2}" type: string fare_class: $ref: '#/components/schemas/fare_class' fare_brand: description: Name of the fare brand applied to the segment (if applicable) type: string required: - arrival_date_time - departure_date_time - destination_airport - flight_number - origin_airport title: cfar_create_exercise_slice_segment type: object cfar_itinerary: example: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure slices: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null total_price: "401.10" taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD currency: CAD passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: passenger_pricing: description: "List of passengers type, count and pricing for the itinerary" items: $ref: '#/components/schemas/passenger_pricing' minItems: 1 type: array currency: description: Currency of pricing fields example: CAD type: string slices: description: "List of slices of the itinerary; 1 (one way), 2 (round trip)\ \ or up to 10 (multi-destination) slices are allowed" items: $ref: '#/components/schemas/cfar_itinerary_slice' minItems: 1 type: array ancillaries: description: Ancillaries attached to the itinerary and their prices. Only ancillaries covered by CFAR must be filled items: $ref: '#/components/schemas/ancillary' type: array total_price: description: Total price to be covered by CFAR (including ancillaries if applicable) example: "401.10" minimum: 0 type: string passengers: description: Details of the passengers items: $ref: '#/components/schemas/cfar_passenger' type: array fare_rules: description: "The fare rules associated to the itinerary. If different fare\ \ rules apply to different slices in the itinerary, indicate the most\ \ restrictive." items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array taxes: description: Taxes applicable to this itinerary items: $ref: '#/components/schemas/cfar_passenger_tax' type: array required: - currency - passenger_pricing - slices title: cfar_itinerary type: object cfar_itinerary_slice: description: An object containing the list of flight segments for a fare slice example: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: segments: description: A list of segments which make up the slice items: $ref: '#/components/schemas/cfar_itinerary_slice_segment' minItems: 1 type: array passenger_pricing: description: "List of passengers type, count and pricing for the slice" items: $ref: '#/components/schemas/passenger_pricing' minItems: 1 type: array total_price: description: The price of the slice for all the passengers example: "401.10" minimum: 0 type: string fare_brand: description: Name of the fare brand applied to the slice example: flex type: string fare_basis: description: Code of the fare basis applied to the slice example: YBA123US type: string fare_rules: description: The fare rules associated to the slice items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array other_fares: description: Other available fares in the same cabin items: $ref: '#/components/schemas/fare' minItems: 1 type: array required: - segments title: cfar_itinerary_slice type: object cfar_itinerary_slice_segment: description: An object detailing a segment of a fare slice example: validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA properties: origin_airport: description: IATA airport code of origin example: BOS pattern: "[A-Z]{3}" type: string destination_airport: description: IATA airport code of destination example: LGA pattern: "[A-Z]{3}" type: string departure_date_time: description: The local date and time of departure in ISO Local Date Time format example: 2022-04-02T18:34:30 type: string arrival_date_time: description: The local date and time of arrival in ISO Local Date Time format example: 2022-04-02T19:12:30 type: string flight_number: description: The number of the flight example: JB776 pattern: "([A-Z][0-9]{2,5}|[0-9]{1,4}|[0-9][A-Z][0-9]{1,4}|[A-Z]{2}[0-9]{1,4})" type: string validating_carrier_code: description: The IATA airline code of the validating carrier for this segment example: B6 pattern: "[A-Z0-9]{2}" type: string fare_class: $ref: '#/components/schemas/fare_class' fare_brand: description: Name of the fare brand applied to the segment (if applicable) type: string required: - arrival_date_time - departure_date_time - destination_airport - fare_class - flight_number - origin_airport - validating_carrier_code title: cfar_itinerary_slice_segment type: object cfar_offer: description: A successful CFAR offer response example: coverage: "400.00" taxes_total: "3.90" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false itinerary: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure slices: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure total_price: "401.10" other_fares: - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US - fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US fare_brand: flex fare_basis: YBA123US segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 fare_class: basic_economy origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null - passenger_reference: "1" last_name: Smith first_name: John passenger_type: null total_price: "401.10" taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD currency: CAD passenger_pricing: - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z coverage_extension: "40.00" terms_conditions_url: terms_conditions_url premium: "40.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: 1ec9eed3-4486-6460-9d6c-2fb8469d35db entry_point: entry_point merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component properties: id: description: Unique identifier for an offer example: 1ec9eed3-4486-6460-9d6c-2fb8469d35db type: string premium: description: Total amount to be paid for CFAR example: "40.80" minimum: 0 type: string coverage: description: Total amount to be refunded upon CFAR exercise example: "400.00" minimum: 0 type: string coverage_percentage: description: Percentage of the amount to be refunded to customer compared to flight tickets price example: "80.00" minimum: 0 type: string coverage_extension: description: Maximum amount added on top of the coverage to cover ancillaries example: "40.00" minimum: 0 type: string currency: description: Currency of offer example: CAD type: string taxes_total: description: 'Part of the premium which are taxes ' example: "3.90" minimum: 0 type: string taxes: description: List of applicable taxes items: $ref: '#/components/schemas/cfar_tax' type: array request_type: $ref: '#/components/schemas/request_type' entry_point: description: Information about product placement on partner's website type: string contract_expiry_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which the CFAR contract will expire once\ \ purchased" example: 2020-12-20T12:15:48Z format: date-time type: string created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a CFAR offer was created" example: 2020-11-02T18:34:30Z format: date-time type: string itinerary: $ref: '#/components/schemas/cfar_itinerary' contents: additionalProperties: $ref: '#/components/schemas/cfar_contents' description: One or more contents describing the offer and its conditions in the available languages title: map_cfar_contents type: object ext_attributes: additionalProperties: type: string title: map_string type: object experiments: additionalProperties: type: string title: map_string type: object terms_conditions_url: description: The terms and conditions for this offer type: string faq_url: description: The faq url for this offer type: string merchandising_url: description: The url for rendering offer merchandising type: string merchandising_url_web_component: description: The url for the web component SDK for rendering offer merchandising type: string required: - contents - contract_expiry_date_time - coverage - coverage_percentage - created_date_time - currency - experiments - ext_attributes - id - itinerary - premium - request_type - taxes_total title: cfar_offer type: object cfar_offer_itinerary: properties: passenger_pricing: description: "List of passengers type, count and pricing for the itinerary" items: $ref: '#/components/schemas/passenger_pricing' minItems: 1 type: array currency: description: Currency of pricing fields example: CAD type: string slices: description: "List of slices of the itinerary; 1 (one way), 2 (round trip)\ \ or up to 10 (multi-destination) slices are allowed" items: $ref: '#/components/schemas/cfar_itinerary_slice' minItems: 1 type: array ancillaries: description: Ancillaries attached to the itinerary and their prices. Only ancillaries covered by CFAR must be filled items: $ref: '#/components/schemas/ancillary' type: array total_price: description: Total price to be covered by CFAR (including ancillaries if applicable) example: "401.10" minimum: 0 type: string passengers: description: Details of the passengers items: $ref: '#/components/schemas/cfar_offer_passenger' type: array fare_rules: description: "The fare rules associated to the itinerary. If different fare\ \ rules apply to different slices in the itinerary, indicate the most\ \ restrictive." items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array required: - currency - passenger_pricing - slices title: cfar_offer_itinerary type: object cfar_offer_passenger: description: An object detailing the Passenger Information as part of offers creation properties: passenger_reference: description: Unique reference of the passenger example: "1" type: string passenger_type: $ref: '#/components/schemas/passenger_type' required: - passenger_reference - passenger_type title: cfar_offer_passenger type: object cfar_passenger: description: An object detailing the Passenger Information example: passenger_reference: "1" last_name: Smith first_name: John passenger_type: null properties: passenger_reference: description: Unique reference of the passenger example: "1" type: string passenger_type: $ref: '#/components/schemas/passenger_type' first_name: description: First name of the passenger example: John type: string last_name: description: Lastname of the passenger example: Smith type: string required: - passenger_reference - passenger_type title: cfar_passenger type: object cfar_passenger_tax: example: amount: "0.20" code: RC currency: CAD properties: code: description: Code of the tax example: RC type: string amount: description: The amount of the tax example: "0.20" minimum: 0 type: string currency: description: The currency of the tax example: CAD type: string required: - amount - code - currency title: cfar_passenger_tax type: object cfar_payment: example: succeeded: true properties: succeeded: description: Indicates if the transaction is successful example: true type: boolean required: - succeeded title: cfar_payment type: object cfar_status: enum: - created - confirmed - charged_back - voided - canceled title: cfar_status type: string cfar_tax: example: amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT estimated: false properties: name: description: Name of the tax example: VAT type: string rate: description: The rate of the tax example: "12.00" minimum: 0 type: string amount: description: The amount of the tax example: "20.00" minimum: 0 type: string estimated: description: "True if the tax amount is estimated, the real amount will\ \ be known only at contract confirmation" example: false type: boolean registration_number: description: Registration number of the tax if applicable example: 0123456ABCDEF type: string required: - amount - estimated - name - rate title: cfar_tax type: object channel: description: The partner's distribution channel discriminator: mapping: agent_reseller: '#/components/schemas/agent_reseller' api: '#/components/schemas/api' direct: '#/components/schemas/direct' online_booking_tool: '#/components/schemas/online_booking_tool' white_label: '#/components/schemas/white_label' propertyName: type oneOf: - $ref: '#/components/schemas/agent_reseller' - $ref: '#/components/schemas/api' - $ref: '#/components/schemas/direct' - $ref: '#/components/schemas/online_booking_tool' - $ref: '#/components/schemas/white_label' title: channel chrome: properties: version: type: string type: enum: - chrome type: string required: - type title: chrome type: object chrome_os: properties: version: example: 15.0.2 type: string type: enum: - chrome_os example: i_os type: string required: - type title: chrome_os type: object create_airline_cfar_session_request: description: An object containing information related to the user's session properties: user_info: $ref: '#/components/schemas/user_info' device: $ref: '#/components/schemas/device' session_id: description: "The custom identifier for the customer's session. If omitted,\ \ a new session ID will be generated." example: d93dd7c9-39c0-499d-903b-d837282231c7 type: string point_of_sale: description: An ISO 3166-1-alpha-2 country code; the point of sale of the user example: US type: string language: description: A ISO_639-1 country code; the language associated with the user example: es type: string channel: $ref: '#/components/schemas/channel' required: - language - point_of_sale title: create_airline_cfar_session_request type: object create_airline_dg_session_request: description: An object containing information related to the user's session properties: user_info: $ref: '#/components/schemas/user_info' device: $ref: '#/components/schemas/device' session_id: description: "The custom identifier for the customer's session. If omitted,\ \ a new session ID will be generated." example: d93dd7c9-39c0-499d-903b-d837282231c7 type: string point_of_sale: description: An ISO 3166-1-alpha-2 country code; the point of sale of the user example: US type: string language: description: A ISO_639-1 country code; the language associated with the user example: es type: string channel: $ref: '#/components/schemas/channel' required: - language - point_of_sale title: create_airline_dg_session_request type: object create_airline_session_request: properties: flow_type: $ref: '#/components/schemas/flow_type' user_info: $ref: '#/components/schemas/user_info' session_id: description: "The custom identifier for the customer's session. If omitted,\ \ a new session ID will be generated." example: d93dd7c9-39c0-499d-903b-d837282231c7 type: string device: $ref: '#/components/schemas/device' point_of_sale: description: An ISO 3166-1-alpha-2 country code; the point of sale of the user example: US type: string language: description: A ISO_639-1 country code; the language associated with the user example: es type: string product: $ref: '#/components/schemas/product' required: - flow_type - language - point_of_sale title: create_airline_session_request type: object create_cfar_contract_exercise_request: description: A create CFAR contract exercise request properties: contract_id: description: A unique identifier for a CFAR contract example: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee type: string itinerary: $ref: '#/components/schemas/cfar_create_exercise_itinerary' email_address: description: Email address of the user example: john@doe.com type: string pnr_reference: example: ABC123 type: string airline_refund_penalty: description: The penalty fee applied by the airline when issuing a refund for the booking example: "99.0" type: string airline_refund_method: $ref: '#/components/schemas/airline_refund_method' currency: description: The currency of the airline's refund allowance example: CAD type: string ext_attributes: additionalProperties: type: string title: map_string type: object session: $ref: '#/components/schemas/create_airline_cfar_session_request' callback_url: description: URL on which the customer should be redirected after the exercise (if applicable) example: https://hts.hopper.com/ type: string redirectback_url: description: URL on which the customer should be redirected if the exercise is aborted (if applicable) example: https://hts.hopper.com/ type: string first_name: description: First name of the cardholder example: John type: string last_name: description: Last name of the cardholder example: Smith type: string required: - ext_attributes - itinerary - pnr_reference title: create_cfar_contract_exercise_request type: object create_cfar_contract_request: description: Create a CFAR contract from selected CFAR offer(s). properties: offer_ids: description: Identifier of the offer(s) for which the contract is created example: 1ec9eed3-4486-6460-9d6c-2fb8469d35db items: description: Unique identifier for an offer example: 2e1006b3-aba6-4899-8682-b95bce693c27 type: string type: array itinerary: $ref: '#/components/schemas/cfar_itinerary' ext_attributes: additionalProperties: type: string title: map_string type: object pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string required: - ext_attributes - itinerary - offer_ids title: create_cfar_contract_request type: object create_cfar_offer_request: properties: itinerary: description: An object detailing the itinerary and fare used to create a CFAR offer items: $ref: '#/components/schemas/cfar_offer_itinerary' type: array request_type: $ref: '#/components/schemas/request_type' booking_date_time: description: A UTC RFC3339 datetime; the date and time at which the booking was made. To be used only with the request type "post_booking" example: 2022-01-01T18:30:00Z format: date-time type: string ext_attributes: additionalProperties: type: string title: map_string type: object session: $ref: '#/components/schemas/create_airline_cfar_session_request' entry_point: description: Information about product placement on partner's website type: string required: - ext_attributes - itinerary - request_type title: create_cfar_offer_request type: object create_dg_contract_exercise_request: description: A create DG contract exercise request properties: contract_id: description: A unique identifier for a DG contract example: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee type: string itinerary: $ref: '#/components/schemas/dg_exercise_itinerary' pnr_reference: description: "Reference of the PNR in the airline system. In case of a PNR\ \ created subsequently to a split, fill requesting PNR / parent PNR (e.g.\ \ DEF456/ABC123) " example: ABC123 type: string email_address: description: Email address of the user example: john@doe.com type: string callback_url: description: URL on which the customer should be redirected after the exercise (if applicable) example: https://hts.hopper.com/ type: string redirectback_url: description: URL on which the customer should be redirected if the exercise is aborted (if applicable) example: https://hts.hopper.com/ type: string session: $ref: '#/components/schemas/create_airline_dg_session_request' required: - contract_id - itinerary - pnr_reference title: create_dg_contract_exercise_request type: object create_dg_contract_exercise_response: description: An object containing exercise information for a contract example: redirection_url: https://hts.hopper.com/ id: 1ec9ef4b-b3bf-64ae-8a3d-6b084d9f6b3c properties: id: description: Unique identifier for a DG exercise example: 1ec9ef4b-b3bf-64ae-8a3d-6b084d9f6b3c type: string redirection_url: description: URL on which the customer should be redirected to exercise (if applicable) example: https://hts.hopper.com/ type: string required: - id title: create_dg_contract_exercise_response type: object create_dg_contract_request: description: A create DG contract request properties: offer_ids: description: Identifier of the offer(s) for which the contract is created example: 1ec9eed3-4486-6460-9d6c-2fb8469d35db items: type: string type: array itinerary: $ref: '#/components/schemas/dg_itinerary' ext_attributes: additionalProperties: type: string title: map_string type: object pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string required: - ext_attributes - itinerary - offer_ids title: create_dg_contract_request type: object create_dg_offer_item_response: description: A created Dg offer example: coverage: "400.00" taxes_total: "20.00" faq_url: faq_url ext_attributes: key: ext_attributes premium_per_passenger: "3.34" request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT itinerary: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z terms_conditions_url: terms_conditions_url premium: "40.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: 1ec9eed3-4486-6460-9d6c-2fb8469d35db service_cap: "1000.00" max_hours_before_departure: 24 entry_point: entry_point min_minutes_delay: 1 merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component properties: id: description: Unique identifier for an offer example: 1ec9eed3-4486-6460-9d6c-2fb8469d35db type: string premium: description: Total amount to be paid for DG example: "40.80" minimum: 0 type: string premium_per_passenger: description: Premium amount per paying passenger example: "3.34" minimum: 0 type: string coverage: description: Total amount to be refunded upon DG exercise example: "400.00" minimum: 0 type: string coverage_percentage: description: Percentage of the ticket’s value to be refunded upon DG exercise example: "80.00" minimum: 0 type: string service_cap: example: "1000.00" minimum: 0 type: string currency: description: Currency of offer example: CAD type: string taxes_total: description: Total of applicable taxes example: "20.00" minimum: 0 type: string taxes: description: List of applicable taxes items: $ref: '#/components/schemas/dg_tax' type: array request_type: $ref: '#/components/schemas/dg_request_type' entry_point: description: Information about product placement on partner's website type: string max_hours_before_departure: description: The number of hours before each flight or slice departure from which a purchased contract would start to cover disruptions example: 24 exclusiveMinimum: true format: int32 minimum: 0 type: integer min_minutes_delay: description: The minimum flight or slice departure delay in minutes to be covered example: 1 exclusiveMinimum: true format: int32 minimum: 0 type: integer created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a DG offer was created" example: 2020-11-02T18:34:30Z format: date-time type: string contract_expiry_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which the DG contract will expire once\ \ purchased" example: 2020-12-20T12:15:48Z format: date-time type: string itinerary: $ref: '#/components/schemas/dg_itinerary' ext_attributes: additionalProperties: type: string title: map_string type: object experiments: additionalProperties: type: string title: map_string type: object contents: additionalProperties: $ref: '#/components/schemas/dg_contents' title: map_dg_contents type: object terms_conditions_url: description: The terms and conditions for this offer type: string faq_url: description: The faq url for this offer type: string merchandising_url: description: The url for rendering offer merchandising type: string merchandising_url_web_component: description: The url for the web component SDK for rendering offer merchandising type: string required: - contents - contract_expiry_date_time - coverage - coverage_percentage - created_date_time - currency - experiments - ext_attributes - id - itinerary - max_hours_before_departure - min_minutes_delay - premium - premium_per_passenger - request_type - service_cap - taxes_total title: create_dg_offer_item_response type: object create_dg_offers_request: description: A create DG offers request properties: itinerary: description: An object detailing the itinerary and fare used to create a DG offer items: $ref: '#/components/schemas/dg_itinerary' type: array request_type: $ref: '#/components/schemas/dg_request_type' booking_date_time: description: A UTC RFC3339 datetime; the date and time at which the booking was made. To be used only with the request type "post_booking" example: 2022-01-01T18:30:00Z format: date-time type: string session: $ref: '#/components/schemas/create_airline_dg_session_request' ext_attributes: additionalProperties: type: string title: map_string type: object entry_point: description: Information about product placement on partner's website type: string required: - ext_attributes - itinerary - request_type title: create_dg_offers_request type: object create_external_cfar_offer_request: description: Create a CFAR offer with externally provided pricing and coverage properties: external_id: description: External identifier for this offer example: external-offer-123 type: string country_code: description: Two-character country code in ISO 3166-1 format example: US type: string currency: description: Currency of the offer example: USD type: string to_usd_exchange_rate: description: Exchange rate from offer currency to USD example: "1.0" exclusiveMinimum: true minimum: 0 type: string premium_total_amount: description: Total premium amount (including taxes) example: "50.0" minimum: 0 type: string premium_percentage: description: Premium as a percentage of ticket price example: "0.05" exclusiveMinimum: true minimum: 0 type: string payout_total_amount: description: Total payout amount upon exercise example: "800.0" minimum: 0 type: string payout_percentage: description: Payout as a percentage of ticket price example: "0.8" minimum: 0 type: string taxes_total: description: Total taxes on the premium example: "5.0" minimum: 0 type: string contract_expiry_date_time: description: A UTC RFC3339 datetime; expiry date and time of the contract once purchased example: 2024-12-31T23:59:59Z format: date-time type: string booking_date_time: description: A UTC RFC3339 datetime; the date and time at which the booking was made example: 2024-01-15T10:30:00Z format: date-time type: string itinerary: $ref: '#/components/schemas/cfar_offer_itinerary' min_minutes_delay: description: Minimum delay in minutes required for CFAR exercise eligibility example: 120 exclusiveMinimum: true format: int32 minimum: 0 type: integer session: $ref: '#/components/schemas/create_airline_cfar_session_request' required: - contract_expiry_date_time - country_code - currency - external_id - itinerary - min_minutes_delay - payout_percentage - payout_total_amount - premium_percentage - premium_total_amount - taxes_total - to_usd_exchange_rate title: create_external_cfar_offer_request type: object desktop: properties: id: description: "A unique identifier for the end-user's device, generated by\ \ the partner" example: eb2dddb7-dc69-4521-9fbb-762b96eb921f type: string platform: $ref: '#/components/schemas/platform' ui_theme: type: string release_build: type: string type: enum: - desktop example: mobile type: string required: - id - type title: desktop type: object device: description: The end-user's device discriminator: mapping: desktop: '#/components/schemas/desktop' mobile: '#/components/schemas/mobile' tablet: '#/components/schemas/tablet' propertyName: type oneOf: - $ref: '#/components/schemas/desktop' - $ref: '#/components/schemas/mobile' - $ref: '#/components/schemas/tablet' title: device dg_ancillary: description: An object detailing the fare used to create a DG offer example: passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance properties: total_price: description: Total price of ancillaries of this type example: "20.55" minimum: 0 type: string passenger_reference: description: Unique reference of the passenger associated to this ancillary example: "1" type: string type: $ref: '#/components/schemas/dg_ancillary_type' covered: description: Is this ancillary covered by the product. By default true if not specified type: boolean required: - total_price - type title: dg_ancillary type: object dg_ancillary_type: description: The type of ancillary enum: - travel_insurance - bag_insurance - cabin_bag - checked_bag - seat - lounge - meal - fast_track - pet - change - bundle - payment_fee - other title: dg_ancillary_type type: string dg_contents: example: bullet_points: - bullet_points - bullet_points labels: key: labels properties: bullet_points: description: An array containing the bullet points to be displayed items: type: string type: array labels: additionalProperties: type: string title: map_string type: object required: - bullet_points - labels title: dg_contents type: object dg_contract: description: A DG contract example: offers: - coverage: "180.60" taxes_total: "20.00" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT itinerary: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z terms_conditions_url: terms_conditions_url premium: "20.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: id service_cap: "1000.00" max_hours_before_departure: 24 entry_point: entry_point min_minutes_delay: 1 merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component - coverage: "180.60" taxes_total: "20.00" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT itinerary: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z terms_conditions_url: terms_conditions_url premium: "20.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: id service_cap: "1000.00" max_hours_before_departure: 24 entry_point: entry_point min_minutes_delay: 1 merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component coverage: "400.00" taxes_total: "3.90" ext_attributes: key: ext_attributes coverage_percentage: "80.00" taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT itinerary: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD language: EN reference: 1FE5772642C77BAB created_date_time: 2022-01-08T14:36:56Z premium: "40.00" currency: CAD id: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee pnr_reference: ABC123 service_cap: "1000.00" max_hours_before_departure: 24 min_minutes_delay: 1 expiry_date_time: 2022-06-01T15:00:00Z status: created properties: id: description: Unique identifier for a contract example: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee type: string reference: description: Unique reference for a contract example: 1FE5772642C77BAB type: string status: $ref: '#/components/schemas/dg_status' offers: description: DG Offer(s) used to create the contract items: $ref: '#/components/schemas/dg_offer' type: array itinerary: $ref: '#/components/schemas/dg_itinerary' coverage_percentage: description: Percentage of the ticket’s value to be refunded upon DG exercise example: "80.00" minimum: 0 type: string coverage: description: Total amount to be refunded upon DG exercise example: "400.00" minimum: 0 type: string premium: description: Total amount to be paid for DG example: "40.00" minimum: 0 type: string service_cap: description: Allowed amount per passenger to book a new flight in case of disruption example: "1000.00" minimum: 0 type: string currency: description: Currency of contract example: CAD type: string taxes_total: description: Part of the premium which are taxes example: "3.90" minimum: 0 type: string taxes: description: List of applicable taxes items: $ref: '#/components/schemas/dg_tax' type: array max_hours_before_departure: description: The number of hours before each flight or slice departure from which a purchased contract would start to cover disruptions example: 24 exclusiveMinimum: true format: int32 minimum: 0 type: integer min_minutes_delay: description: The minimum flight or slice departure delay in minutes to be covered example: 1 exclusiveMinimum: true format: int32 minimum: 0 type: integer created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a CFAR contract was created" example: 2022-01-08T14:36:56Z format: date-time type: string expiry_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ A UTC RFC3339 datetime; the date and time at which the CFAR contract\ \ will expire once purchased" example: 2022-06-01T15:00:00Z format: date-time type: string language: description: Language of the booking example: EN type: string pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string ext_attributes: additionalProperties: type: string title: map_string type: object required: - coverage - coverage_percentage - created_date_time - currency - expiry_date_time - ext_attributes - id - itinerary - max_hours_before_departure - min_minutes_delay - offers - premium - reference - service_cap - status - taxes_total title: dg_contract type: object dg_exercise_itinerary: description: Itinerary of the user when the contract exercise was initiated (only active segments should be provided) properties: passenger_count: description: List of passengers type and count for the itinerary items: $ref: '#/components/schemas/dg_passenger_count' minItems: 1 type: array slices: description: "List of slices of the itinerary; 1 (one way), 2 (round trip)\ \ or up to 10 (multi-destination) slices are allowed" items: $ref: '#/components/schemas/dg_exercise_itinerary_slice' minItems: 1 type: array passengers: description: Details of the passengers items: $ref: '#/components/schemas/dg_passenger' type: array required: - passenger_count - slices title: dg_exercise_itinerary type: object dg_exercise_itinerary_slice: description: An object containing the list of flight segments for a fare slice properties: segments: description: A list of segments which make up the slice items: $ref: '#/components/schemas/dg_exercise_itinerary_slice_segment' minItems: 1 type: array irop: description: "Is the slice impacted by an unplanned short-term Irregularity.\ \ It includes delays and cancellations that occur on the day of departure\ \ of the first impacted flight. Also known as: Flight Irregularity, IROP\ \ or IREG." type: boolean invol: description: "Is the slice resulting from a rebooking following an unplanned\ \ short-term Irregularity. It includes delays and cancellations that occur\ \ on the day of departure of the first impacted flight. Also known as:\ \ Flight Irregularity, IROP or IREG." type: boolean previous_slice: $ref: '#/components/schemas/dg_exercise_itinerary_slice' required: - segments title: dg_exercise_itinerary_slice type: object dg_exercise_itinerary_slice_segment: description: An object detailing a segment of a fare slice properties: origin_airport: description: IATA airport code of origin example: BOS pattern: "[A-Z]{3}" type: string destination_airport: description: IATA airport code of destination example: LGA pattern: "[A-Z]{3}" type: string departure_date_time: description: The local date and time of departure in ISO Local Date Time format example: 2022-04-02T18:34:30 type: string arrival_date_time: description: The local date and time of arrival in ISO Local Date Time format example: 2022-04-02T19:12:30 type: string estimated_departure_date_time: description: The local date and time of estimated time of departure in ISO Local Date Time format example: 2022-04-02T20:34:30 type: string estimated_arrival_date_time: description: The local date and time of estimated time of arrival in ISO Local Date Time format example: 2022-04-02T21:12:30 type: string flight_number: description: The number of the flight example: JB776 pattern: "([A-Z][0-9]{2,5}|[0-9]{1,4}|[0-9][A-Z][0-9]{1,4}|[A-Z]{2}[0-9]{1,4})" type: string validating_carrier_code: description: The IATA airline code of the validating carrier for this segment example: B6 pattern: "[A-Z0-9]{2}" type: string cabin: $ref: '#/components/schemas/cabin' flight_status: $ref: '#/components/schemas/flight_status' checked_in: description: Is there at least one checked-in passenger on this flight type: boolean checked_in_bags: description: Is there at least one checked-in bag on this flight type: boolean checked_bag_allowance: description: Is there a checked bag allowance on this flight type: boolean boarded: description: Is there at least one passenger boarded on this flight type: boolean flown: description: Is this segment flown already type: boolean required: - arrival_date_time - cabin - departure_date_time - destination_airport - estimated_arrival_date_time - estimated_departure_date_time - flight_number - flight_status - origin_airport - validating_carrier_code title: dg_exercise_itinerary_slice_segment type: object dg_itinerary: example: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: passenger_pricing: description: "List of passengers type, count and pricing for the itinerary" items: $ref: '#/components/schemas/dg_passenger_pricing' minItems: 1 type: array currency: description: Currency of pricing fields example: CAD type: string slices: description: "List of slices of the itinerary; 1 (one way), 2 (round trip)\ \ or up to 10 (multi-destination) slices are allowed" items: $ref: '#/components/schemas/dg_itinerary_slice' minItems: 1 type: array ancillaries: description: Ancillaries attached to the itinerary and their prices items: $ref: '#/components/schemas/dg_ancillary' type: array total_price: description: Total price of the itinerary example: "401.10" minimum: 0 type: string passengers: description: Details of the passengers items: $ref: '#/components/schemas/dg_passenger' type: array required: - currency - passenger_pricing - slices title: dg_itinerary type: object dg_itinerary_slice: description: An object containing the list of flight segments for a fare slice example: fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: segments: description: A list of segments which make up the slice items: $ref: '#/components/schemas/dg_itinerary_slice_segment' minItems: 1 type: array fare_brand: description: Name of the fare brand on the slice example: flex type: string passenger_pricing: description: "List of passengers type, count and pricing for the current\ \ slice" items: $ref: '#/components/schemas/dg_passenger_pricing' minItems: 1 type: array required: - segments title: dg_itinerary_slice type: object dg_itinerary_slice_segment: description: An object detailing a segment of a fare slice example: validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA properties: segment_id: description: A unique identifier for the segment example: 60a128e4-a12d-42bf-b977-b6329392282d type: string origin_airport: description: IATA airport code of origin example: BOS pattern: "[A-Z]{3}" type: string destination_airport: description: IATA airport code of destination example: LGA pattern: "[A-Z]{3}" type: string departure_date_time: description: The local date and time of departure in ISO Local Date Time format example: 2022-04-02T18:34:30 type: string arrival_date_time: description: The local date and time of arrival in ISO Local Date Time format example: 2022-04-02T19:12:30 type: string flight_number: description: The number of the flight example: JB776 pattern: "([A-Z][0-9]{2,5}|[0-9]{1,4}|[0-9][A-Z][0-9]{1,4}|[A-Z]{2}[0-9]{1,4})" type: string validating_carrier_code: description: The IATA airline code of the validating carrier for this segment example: B6 pattern: "[A-Z0-9]{2}" type: string cabin: $ref: '#/components/schemas/cabin' fare_brand: description: Name of the fare brand applied to the segment (if applicable) type: string required: - arrival_date_time - cabin - departure_date_time - destination_airport - flight_number - origin_airport - validating_carrier_code title: dg_itinerary_slice_segment type: object dg_offer: description: A Dg offer example: coverage: "180.60" taxes_total: "20.00" faq_url: faq_url ext_attributes: key: ext_attributes request_type: post_booking coverage_percentage: "80.00" experiments: key: experiments taxes: - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT - amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT itinerary: slices: - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - fare_brand: flex segments: - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA - validating_carrier_code: B6 arrival_date_time: 2022-04-02T19:12:30 fare_brand: fare_brand flight_number: JB776 departure_date_time: 2022-04-02T18:34:30 cabin: economy segment_id: 60a128e4-a12d-42bf-b977-b6329392282d origin_airport: BOS destination_airport: LGA passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD ancillaries: - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance - passenger_reference: "1" total_price: "20.55" covered: true type: travel_insurance passengers: - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult - passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult total_price: "401.10" currency: CAD passenger_pricing: - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD - individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD created_date_time: 2020-11-02T18:34:30Z terms_conditions_url: terms_conditions_url premium: "20.80" contents: key: bullet_points: - bullet_points - bullet_points labels: key: labels contract_expiry_date_time: 2020-12-20T12:15:48Z currency: CAD id: id service_cap: "1000.00" max_hours_before_departure: 24 entry_point: entry_point min_minutes_delay: 1 merchandising_url: merchandising_url merchandising_url_web_component: merchandising_url_web_component properties: id: type: string premium: description: Total amount to be paid for DG example: "20.80" minimum: 0 type: string coverage: description: Total amount to be refunded upon DG exercise example: "180.60" minimum: 0 type: string coverage_percentage: description: Percentage of the amount to be refunded to customer compared to flight tickets price example: "80.00" minimum: 0 type: string service_cap: description: Allowed amount per passenger to book a new flight in case of disruption example: "1000.00" minimum: 0 type: string currency: description: Currency of offer example: CAD type: string taxes_total: description: Total of applicable taxes example: "20.00" minimum: 0 type: string taxes: description: List of applicable taxes items: $ref: '#/components/schemas/dg_tax' type: array request_type: $ref: '#/components/schemas/dg_request_type' entry_point: description: Information about product placement on partner's website type: string max_hours_before_departure: description: The number of hours before each flight or slice departure from which a purchased contract would start to cover disruptions example: 24 exclusiveMinimum: true format: int32 minimum: 0 type: integer min_minutes_delay: description: The minimum flight or slice departure delay in hours to be covered example: 1 exclusiveMinimum: true format: int32 minimum: 0 type: integer contract_expiry_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which the DG contract will expire once\ \ purchased" example: 2020-12-20T12:15:48Z format: date-time type: string created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a DG offer was created" example: 2020-11-02T18:34:30Z format: date-time type: string itinerary: $ref: '#/components/schemas/dg_itinerary' ext_attributes: additionalProperties: type: string title: map_string type: object experiments: additionalProperties: type: string title: map_string type: object contents: additionalProperties: $ref: '#/components/schemas/dg_contents' title: map_dg_contents type: object terms_conditions_url: description: The terms and conditions for this offer type: string faq_url: description: The faq url for this offer type: string merchandising_url: description: The url for rendering offer merchandising type: string merchandising_url_web_component: description: The url for the web component SDK for rendering offer merchandising type: string required: - contents - contract_expiry_date_time - coverage - coverage_percentage - created_date_time - currency - experiments - ext_attributes - id - itinerary - max_hours_before_departure - min_minutes_delay - premium - request_type - service_cap - taxes_total title: dg_offer type: object dg_passenger: description: An object detailing the Passenger Information example: passenger_reference: "1" gender: male nationality: US passport_issuance_date: 2018-04-02 passport_expiration_date: 2030-04-02 date_of_birth: 2000-04-02 passport_number: J12393496 last_name: Smith passport_country_issuance: US first_name: John passenger_type: adult properties: passenger_reference: description: Unique reference of the passenger example: "1" type: string passenger_type: $ref: '#/components/schemas/dg_passenger_type' first_name: description: Ancillaries attached to the itinerary and their prices example: John type: string last_name: description: Ancillaries attached to the itinerary and their prices example: Smith type: string date_of_birth: description: "The birth date in ISO Local Date format (yyyy-MM-dd). For\ \ encrypted partners, this contains the encrypted Base64 string." example: 2000-04-02 type: string gender: $ref: '#/components/schemas/gender' passport_number: description: "The passport number of the passenger. For encrypted partners,\ \ this contains the encrypted Base64 string." example: J12393496 type: string passport_country_issuance: description: "The country of issuance of the passenger's passport. Must\ \ be a valid ISO 3166-1 alpha-2 country code (2 uppercase letters, e.g.,\ \ 'US', 'JP', 'TH'). For encrypted partners, this contains the encrypted\ \ Base64 string." example: US type: string passport_issuance_date: description: "The date of issuance of the passenger's passport in ISO Local\ \ Date format (yyyy-MM-dd). For encrypted partners, this contains the\ \ encrypted Base64 string." example: 2018-04-02 type: string passport_expiration_date: description: "The passport expiration date of the passenger in ISO Local\ \ Date format (yyyy-MM-dd). For encrypted partners, this contains the\ \ encrypted Base64 string." example: 2030-04-02 type: string nationality: description: "The nationality of the passenger. Must be a valid ISO 3166-1\ \ alpha-2 country code (e.g., 'US', 'JP', 'TH'). For encrypted partners,\ \ this contains the encrypted Base64 string." example: US type: string required: - passenger_reference - passenger_type title: dg_passenger type: object dg_passenger_count: properties: count: description: Number of passenger type example: 3 exclusiveMinimum: true format: int32 minimum: 0 type: integer passenger_type: $ref: '#/components/schemas/dg_passenger_type' required: - count - passenger_type title: dg_passenger_count type: object dg_passenger_pricing: example: individual_price: "20.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: passenger_count: $ref: '#/components/schemas/passenger_count' individual_price: description: Price per passenger example: "20.55" minimum: 0 type: string taxes: description: Taxes applicable to this itinerary items: $ref: '#/components/schemas/dg_passenger_tax' type: array required: - individual_price - passenger_count title: dg_passenger_pricing type: object dg_passenger_tax: example: amount: "0.20" code: RC currency: CAD properties: code: description: Code of the tax example: RC type: string amount: description: The amount of the tax example: "0.20" minimum: 0 type: string currency: description: The currency of the tax example: CAD type: string required: - amount - code - currency title: dg_passenger_tax type: object dg_passenger_type: enum: - adult - child - seated_infant - lap_infant title: dg_passenger_type type: string dg_payment: example: succeeded: true properties: succeeded: description: Indicates if the transaction is successful example: true type: boolean required: - succeeded title: dg_payment type: object dg_request_type: enum: - post_booking - reprice - ancillary - bundle - fare title: dg_request_type type: string dg_status: enum: - created - confirmed - charged_back - voided - canceled - queued - failed title: dg_status type: string dg_tax: example: amount: "20.00" rate: "12.00" registration_number: 0123456ABCDEF name: VAT properties: name: description: Name of the tax example: VAT type: string rate: description: The rate of the tax example: "12.00" minimum: 0 type: string amount: description: The amount of the tax example: "20.00" minimum: 0 type: string registration_number: description: Registration number of the tax if applicable example: 0123456ABCDEF type: string required: - amount - name - rate title: dg_tax type: object direct: description: Direct channel — the partner sells directly to the end customer properties: type: enum: - direct type: string required: - type title: direct type: object edge: properties: version: type: string type: enum: - edge type: string required: - type title: edge type: object error: example: code: code messages: key: messages message: message properties: message: type: string code: type: string messages: additionalProperties: type: string title: map_string type: object required: - message title: error type: object event: discriminator: mapping: booking_confirmed: '#/components/schemas/booking_confirmed' offers_displayed: '#/components/schemas/offers_displayed' propertyName: type oneOf: - $ref: '#/components/schemas/booking_confirmed' - $ref: '#/components/schemas/offers_displayed' title: event fare: example: fare_rules: - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure - modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure fare_brand: flex price: "401.10" fare_basis: YBA123US properties: price: description: The price of the slice for all the passengers with this fare example: "401.10" minimum: 0 type: string fare_brand: description: Name of the fare brand of this fare example: flex type: string fare_basis: description: Code of the fare basis applied to this fare example: YBA123US type: string fare_rules: description: The fare rules associated to the fare items: $ref: '#/components/schemas/fare_rule' minItems: 1 type: array title: fare type: object fare_class: description: Fare class of the segment enum: - basic_economy - economy - premium_economy - business - first title: fare_class type: string fare_rule: example: modification_type: cancellation allowed: true fee: fee percentage: percentage refund_method: ftc currency: CAD modification_time: after_departure properties: modification_type: $ref: '#/components/schemas/modification_type' modification_time: $ref: '#/components/schemas/modification_time' allowed: description: Determines if that type of modifications at this time is allowed type: boolean fee: description: Amount to be paid as penalty fee to perform the modification minimum: 0 type: string percentage: description: Percentage of the fare to be paid as penalty to perform the modification minimum: 0 type: string refund_method: $ref: '#/components/schemas/airline_refund_method' currency: description: Currency of fee field. This will default to the contract currency if not specified. example: CAD type: string required: - allowed - modification_time - modification_type title: fare_rule type: object firefox: properties: version: type: string type: enum: - firefox type: string required: - type title: firefox type: object flight_status: description: The current flight status enum: - confirmed - cancelled title: flight_status type: string flow_type: description: The flow type for which the session is opened. enum: - purchase - exercise title: flow_type type: string form_of_payment: discriminator: mapping: cash: '#/components/schemas/cash' non_cash: '#/components/schemas/non_cash' payment_card: '#/components/schemas/payment_card' points: '#/components/schemas/points' propertyName: type oneOf: - $ref: '#/components/schemas/cash' - $ref: '#/components/schemas/non_cash' - $ref: '#/components/schemas/payment_card' - $ref: '#/components/schemas/points' title: form_of_payment gender: description: The gender of the passenger enum: - male - female - undisclosed - unspecified title: gender type: string get_dg_exercise_session_response: description: Response containing the session ID for a DG exercise example: session_id: af585dfd-dddf-4726-9ef7-f1bb8909a79a properties: session_id: description: The session ID associated with the DG exercise example: af585dfd-dddf-4726-9ef7-f1bb8909a79a type: string required: - session_id title: get_dg_exercise_session_response type: object i_os: properties: version: example: 15.0.2 type: string type: enum: - i_os example: i_os type: string required: - type title: i_os type: object internet_explorer: properties: version: type: string type: enum: - internet_explorer type: string required: - type title: internet_explorer type: object linux: properties: version: example: 15.0.2 type: string type: enum: - linux example: i_os type: string required: - type title: linux type: object mac_os: properties: version: example: 15.0.2 type: string type: enum: - mac_os example: i_os type: string required: - type title: mac_os type: object map_cfar_contents: additionalProperties: $ref: '#/components/schemas/cfar_contents' description: One or more contents describing the offer and its conditions in the available languages title: map_cfar_contents type: object map_dg_contents: additionalProperties: $ref: '#/components/schemas/dg_contents' title: map_dg_contents type: object map_string: additionalProperties: type: string title: map_string type: object mark_cfar_contract_exercise_complete_request: description: An update CFAR contract exercise request properties: refund_amount: description: Amount refunded to the customer example: "424.33" minimum: 0 type: string refund_method: $ref: '#/components/schemas/airline_refund_method' title: mark_cfar_contract_exercise_complete_request type: object mobile: properties: id: description: "A unique identifier for the end-user's device, generated by\ \ the partner" example: eb2dddb7-dc69-4521-9fbb-762b96eb921f type: string platform: $ref: '#/components/schemas/platform' ui_theme: type: string release_build: type: string type: enum: - mobile example: mobile type: string required: - id - type title: mobile type: object modification_time: description: The time at which the modification is requested enum: - after_departure - anytime - before_departure title: modification_time type: string modification_type: description: The type of modifications in question in this fare rule enum: - cancellation - change title: modification_type type: string non_cash: properties: amount: description: Amount charged on the form of payment minimum: 0 type: string currency: description: Currency of the form of payment example: CAD type: string type: enum: - non_cash type: string required: - amount - currency - type title: non_cash type: object offers_displayed: properties: occurred_date_time: description: |- A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device example: 2022-01-24T15:34:30Z format: date-time type: string type: enum: - offers_displayed type: string required: - occurred_date_time - type title: offers_displayed type: object online_booking_tool: description: Online booking tool channel properties: travel_management_company: description: The travel management company name type: string business: description: The business name type: string type: enum: - online_booking_tool type: string required: - business - travel_management_company - type title: online_booking_tool type: object opera: properties: version: type: string type: enum: - opera type: string required: - type title: opera type: object operating_system: discriminator: mapping: android: '#/components/schemas/android' chrome_os: '#/components/schemas/chrome_os' i_os: '#/components/schemas/i_os' linux: '#/components/schemas/linux' mac_os: '#/components/schemas/mac_os' other_os: '#/components/schemas/other_os' windows: '#/components/schemas/windows' propertyName: type oneOf: - $ref: '#/components/schemas/android' - $ref: '#/components/schemas/chrome_os' - $ref: '#/components/schemas/i_os' - $ref: '#/components/schemas/linux' - $ref: '#/components/schemas/mac_os' - $ref: '#/components/schemas/other_os' - $ref: '#/components/schemas/windows' title: operating_system other_browser: properties: name: type: string version: type: string type: enum: - other_browser type: string required: - name - type title: other_browser type: object other_os: properties: name: example: 15.0.2 type: string version: type: string type: enum: - other_os example: i_os type: string required: - name - type title: other_os type: object passenger_count: example: count: 3 type: adult properties: count: description: Number of passenger type example: 3 exclusiveMinimum: true format: int32 minimum: 0 type: integer type: $ref: '#/components/schemas/passenger_type' required: - count - type title: passenger_count type: object passenger_pricing: example: individual_price: "200.55" passenger_count: count: 3 type: adult taxes: - amount: "0.20" code: RC currency: CAD - amount: "0.20" code: RC currency: CAD properties: passenger_count: $ref: '#/components/schemas/passenger_count' individual_price: description: Price per passenger (excluding ancillaries) example: "200.55" minimum: 0 type: string taxes: description: Taxes applicable per passenger items: $ref: '#/components/schemas/cfar_passenger_tax' type: array required: - individual_price - passenger_count title: passenger_pricing type: object passenger_type: enum: - adult - child - seated_infant - lap_infant title: passenger_type type: string payment_card: properties: amount: description: Amount charged on the form of payment minimum: 0 type: string currency: description: Currency of the form of payment example: CAD type: string token: description: Token of the payment card generated by HTS Payment Gateway type: string last_four_digits: description: Last four digits of the payment card type: string expiration_month: description: the expiry month of the payment card example: "09" type: string expiration_year: description: the expiry year of the payment card example: "26" type: string type: enum: - payment_card type: string required: - amount - currency - type title: payment_card type: object platform: discriminator: mapping: app: '#/components/schemas/app' web: '#/components/schemas/web' propertyName: type oneOf: - $ref: '#/components/schemas/app' - $ref: '#/components/schemas/web' title: platform points: properties: amount: description: Amount charged on the form of payment minimum: 0 type: string type: enum: - points type: string required: - amount - type title: points type: object process_cfar_payment_request: description: A process CFAR payment request properties: payment_method_token: description: 'The Token of the Form of Payment used to pay for the CFAR fee. ' example: MxyYEhDK12CUAA18bJDkAq0ab3y type: string first_name: description: First name of the cardholder example: John type: string last_name: description: Last name of the cardholder example: Smith type: string address_line1: description: Address of the cardholder (first line) example: 123 12th St type: string address_line2: description: Address of the cardholder (second line) example: Building B type: string city: description: City of the cardholder example: Quebec City type: string state_or_province: description: State or province of the cardholder example: QC type: string postal_code: description: Postal code of the cardholder example: G1R 4S9 type: string country: description: Country of the cardholder example: CA type: string pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string email_address: description: Email address of the user example: aaa@bbb.ccc type: string required: - email_address - first_name - last_name - payment_method_token - pnr_reference title: process_cfar_payment_request type: object process_dg_payment_request: description: A process DG payment request properties: payment_token: description: 'The Token of the Form of Payment used to pay for the DG fee. ' example: MxyYEhDK12CUAA18bJDkAq0ab3y type: string first_name: description: First name of the cardholder example: John type: string last_name: description: Last name of the cardholder example: Smith type: string address_line1: description: Address of the cardholder (first line) example: 123 12th St type: string address_line2: description: Address of the cardholder (second line) example: Building B type: string city: description: City of the cardholder example: Quebec City type: string state_or_province: description: State or province of the cardholder example: QC type: string postal_code: description: Postal code of the cardholder example: G1R 4S9 type: string country: description: Country of the cardholder example: CA type: string pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string email_address: description: Email address of the user example: aaa@bbb.ccc type: string phone_number: description: Phone number of the customer example: "12345678900" type: string required: - email_address - payment_token - phone_number - pnr_reference title: process_dg_payment_request type: object product: description: The product for which the session is opened.
Required for sessions having flow_type "exercise". enum: - cfar - dg - all title: product type: string request_type: enum: - post_booking - reprice - ancillary - bundle - fare title: request_type type: string safari: properties: version: type: string type: enum: - safari type: string required: - type title: safari type: object tablet: properties: id: description: "A unique identifier for the end-user's device, generated by\ \ the partner" example: eb2dddb7-dc69-4521-9fbb-762b96eb921f type: string platform: $ref: '#/components/schemas/platform' ui_theme: type: string release_build: type: string type: enum: - tablet example: mobile type: string required: - id - type title: tablet type: object token_type: enum: - Bearer title: token_type type: string unprocessable_entity: example: errors: - code: code messages: key: messages message: message - code: code messages: key: messages message: message properties: errors: items: $ref: '#/components/schemas/error' type: array required: - errors title: unprocessable_entity type: object update_cfar_contract_itinerary_slice_request: description: An itinerary slice containing only flight segments properties: segments: description: A list of segments which make up the slice items: $ref: '#/components/schemas/cfar_itinerary_slice_segment' minItems: 1 type: array required: - segments title: update_cfar_contract_itinerary_slice_request type: object update_cfar_contract_itinerary_slices_request: description: Request to update CFAR contract itinerary slices properties: slices: description: List of itinerary slices with flight segments items: $ref: '#/components/schemas/update_cfar_contract_itinerary_slice_request' minItems: 1 type: array passenger_counts: description: List of passenger types and counts items: $ref: '#/components/schemas/passenger_count' minItems: 1 type: array pnr_reference: description: Reference of the PNR in the airline system example: ABC123 type: string required: - slices title: update_cfar_contract_itinerary_slices_request type: object update_cfar_contract_request: description: Update CFAR contract request properties: status: $ref: '#/components/schemas/cfar_status' pnr_reference: description: Reference of the PNR in the airline system.
Mandatory only if new status is "confirmed" example: ABC123 type: string email_address: description: Email address of the user example: john@doe.com type: string phone_number: description: Phone number of the customer example: "12345678900" type: string first_name: description: First name of the cardholder example: John type: string last_name: description: Last name of the cardholder example: Smith type: string address_line1: description: Address of the cardholder (first line) example: 123 12th St type: string address_line2: description: Address of the cardholder (second line) example: Building B type: string city: description: City of the cardholder example: Quebec City type: string state_or_province: description: State or province of the cardholder example: QC type: string postal_code: description: Postal code of the cardholder example: G1R 4S9 type: string country: description: Country of the cardholder example: CA type: string taxes_total: description: Total of taxes example: "20.00" minimum: 0 type: string taxes: description: List of taxes that is associated with a contract items: $ref: '#/components/schemas/cfar_tax' type: array currency: description: Updated currency in case it has changed at payment time example: USD type: string exchange_rate: description: "Exchange rate applied provided by partner if currency has\ \ changed at payment time, for instance, if a contract is created in EUR\ \ and the customer chose to pay in CAD on the partner's website, the partner\ \ will send us their exchange rate value from EUR to CAD." example: "0.75" type: string total_price: description: Updated total price to be covered by CFAR in case it can change at payment time example: "401.10" minimum: 0 type: string forms_of_payment: description: List of the forms of payment used to purchase the booking items: $ref: '#/components/schemas/form_of_payment' minItems: 1 type: array required: - status title: update_cfar_contract_request type: object update_cfar_form_of_payment_request: description: Request object related to the update of forms of payment for CFAR contract properties: forms_of_payment: description: List of the forms of payment used to purchase the booking items: $ref: '#/components/schemas/form_of_payment' minItems: 1 type: array required: - forms_of_payment title: update_cfar_form_of_payment_request type: object update_dg_contract_status_request: description: A update DG contract status request properties: status: $ref: '#/components/schemas/dg_status' pnr_reference: description: Reference of the PNR in the airline system.
Mandatory only if new status is "confirmed" example: ABC123 type: string email_address: description: Email address of the user example: john@doe.com type: string phone_number: description: Phone number of the customer example: "12345678900" type: string first_name: description: First name of the cardholder example: John type: string last_name: description: Last name of the cardholder example: Smith type: string address_line1: description: Address of the cardholder (first line) example: 123 12th St type: string address_line2: description: Address of the cardholder (second line) example: Building B type: string city: description: City of the cardholder example: Quebec City type: string state_or_province: description: State or province of the cardholder example: QC type: string postal_code: description: Postal code of the cardholder example: G1R 4S9 type: string country: description: Country of the cardholder example: CA type: string taxes_total: description: Total of taxes example: "20.00" minimum: 0 type: string taxes: description: List of taxes that is associated with a contract items: $ref: '#/components/schemas/dg_tax' type: array forms_of_payment: description: List of the forms of payment used to purchase the booking items: $ref: '#/components/schemas/form_of_payment' minItems: 1 type: array total_price: description: Updated total price of the itinerary in case it can change at payment time example: "401.10" minimum: 0 type: string currency: description: Currency of the total_price (ISO 4217). Defaults to contract currency if absent. example: USD type: string required: - status title: update_dg_contract_status_request type: object user_info: description: "An object containing information related to the airline's user.\ \ Should be included if known, but not if the user is anonymous." properties: airline_user_id: description: The airline's unique identifier for a user; can be an arbitrary string example: 2bcd6619-ac3e-403b-9982-3e12f2698a53 type: string created_date_time: description: "A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\ \ datetime; the date and time at which a user's account was created" example: 2020-11-02T18:34:30Z format: date-time type: string previous_bookings: description: Number of prior bookings a user has made example: 3 format: int32 minimum: 0 type: integer required: - airline_user_id title: user_info type: object web: properties: operating_system: $ref: '#/components/schemas/operating_system' browser: $ref: '#/components/schemas/browser' type: enum: - web example: app type: string required: - type title: web type: object white_label: description: White-label channel — the partner sells under a different brand properties: brand: description: The brand name under which the product is sold type: string type: enum: - white_label type: string required: - brand - type title: white_label type: object windows: properties: version: example: 15.0.2 type: string type: enum: - windows example: i_os type: string required: - type title: windows type: object securitySchemes: PartnerAuth: description: |- This API is authenticated with OAuth 2, Client Credentials grant.\ Clients should use their `client_id` and `client_secret` to obtain an `access_token`.\ The `access_token` should be included in every request, as a `Bearer` token on an `Authorization` header.\ Note that `access_token`s eventually expire, requiring a new token to be fetched. see [authentication](#tag/Authentication) scheme: bearer type: http SessionAuth: description: | # Header Parameters | headerName | description | |-----------------|----------------------------------------------------------------------------------------------------| | `HC-Session-ID` | string
**Example**: `9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f`
The ID of the current session | in: header name: HC-Session-ID type: apiKey