openapi: 3.0.3
info:
title: Airline Analytics Cancel For Any Reason (CFAR) API
version: v1.1
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.
servers:
- url: https://airlines-api.hopper.com/airline/v1.1
tags:
- description: "**What is Cancel For Any Reason?**\n\nCancel For Any Reason (CFAR) enables airlines to offer refundability as an ancillary with HTS powering the dynamic pricing and supporting the refund cost.\n\n****\n\n**How it works**\n\nThere are two distinct flows for CFAR:\n\n- The _purchase flow_, enabling customers to purchase the product within the airline’s booking flow.\n- The _exercise flow_, enabling customers to cancel their booking and get a refund.\n\nFor each of these flows, the first step is to [Create a Session](#operation/postSessions)\n\nBoth 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.\n\n****\n\n**Purchase flow**\n\nCFAR follows the industry standard of a two step purchase process.\n\n1. 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\n\n - the price for the product (`premium`),\n - the refundable amount (`coverage`),\n - the UTC date and time until when the cancellation can be requested (`contract_expiry_date_time`)\n - and the description of the offer in the available languages (`contents`).\n\n2. 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:\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 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.\n 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.\n\nThe details of a CFAR contract can be retrieved at any time through the Get a CFAR Contract endpoint.\n\n****\n\n**Exercise flow**\n\nCFAR exercise follows a two step process.\n\n1. 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.\n2. 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.\n"
name: Cancel For Any Reason (CFAR)
paths:
/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```\nHere 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)
components:
schemas:
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
passenger_type:
enum:
- adult
- child
- seated_infant
- lap_infant
title: passenger_type
type: string
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
opera:
properties:
version:
type: string
type:
enum:
- opera
type: string
required:
- type
title: opera
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
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
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
other_browser:
properties:
name:
type: string
version:
type: string
type:
enum:
- other_browser
type: string
required:
- name
- type
title: other_browser
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
request_type:
enum:
- post_booking
- reprice
- ancillary
- bundle
- fare
title: request_type
type: string
internet_explorer:
properties:
version:
type: string
type:
enum:
- internet_explorer
type: string
required:
- type
title: internet_explorer
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
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
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
modification_type:
description: The type of modifications in question in this fare rule
enum:
- cancellation
- change
title: modification_type
type: string
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
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-01 18:30:00+00:00
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
cfar_status:
enum:
- created
- confirmed
- charged_back
- voided
- canceled
title: cfar_status
type: string
safari:
properties:
version:
type: string
type:
enum:
- safari
type: string
required:
- type
title: safari
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
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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
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
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
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
cfar_itinerary_slice_segment:
description: An object detailing a segment of a fare slice
example:
validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 18:34:30
type: string
arrival_date_time:
description: The local date and time of arrival in ISO Local Date Time format
example: 2022-04-02 19: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
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_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
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
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
platform:
discriminator:
mapping:
app: '#/components/schemas/app'
web: '#/components/schemas/web'
propertyName: type
oneOf:
- $ref: '#/components/schemas/app'
- $ref: '#/components/schemas/web'
title: platform
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 18:34:30+00:00
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-20 12:15:48+00:00
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-20 12:15:48+00:00
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-02 18:34:30+00:00
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
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
modification_time:
description: The time at which the modification is requested
enum:
- after_departure
- anytime
- before_departure
title: modification_time
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
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 18:34:30+00:00
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-20 12:15:48+00:00
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 18:34:30+00:00
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-20 12:15:48+00:00
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-08 14:36:56+00:00
exercise_url: exercise_url
premium: '80.00'
currency: USD
id: 1ec9ef29-be31-6ed3-beec-9f5ae0d164ee
pnr_reference: ABC123
expiry_date_time: 2022-06-01 15:00:00+00:00
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-08 14:36:56+00:00
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-01 15:00:00+00:00
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
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
linux:
properties:
version:
example: 15.0.2
type: string
type:
enum:
- linux
example: i_os
type: string
required:
- type
title: linux
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
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-02 18:34:30+00:00
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
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
direct:
description: Direct channel — the partner sells directly to the end customer
properties:
type:
enum:
- direct
type: string
required:
- type
title: direct
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
firefox:
properties:
version:
type: string
type:
enum:
- firefox
type: string
required:
- type
title: firefox
type: object
chrome:
properties:
version:
type: string
type:
enum:
- chrome
type: string
required:
- type
title: chrome
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
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
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
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
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
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
windows:
properties:
version:
example: 15.0.2
type: string
type:
enum:
- windows
example: i_os
type: string
required:
- type
title: windows
type: object
app:
properties:
operating_system:
$ref: '#/components/schemas/operating_system'
type:
enum:
- app
example: app
type: string
required:
- type
title: app
type: object
edge:
properties:
version:
type: string
type:
enum:
- edge
type: string
required:
- type
title: edge
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
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
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
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
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
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
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
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
airline_refund_method:
enum:
- ftc
- cash
title: airline_refund_method
type: string
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-02 18:34:30
type: string
arrival_date_time:
description: The local date and time of arrival in ISO Local Date Time format
example: 2022-04-02 19: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
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
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
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
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-08 15:20:30+00:00
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-08 15:20:30+00:00
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
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-31 23:59:59+00:00
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-15 10:30:00+00:00
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
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
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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18:34:30
fare_class: basic_economy
origin_airport: BOS
destination_airport: LGA
- validating_carrier_code: B6
arrival_date_time: 2022-04-02 19:12:30
fare_brand: fare_brand
flight_number: JB776
departure_date_time: 2022-04-02 18: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
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_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
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
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
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
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
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