components: schemas: Assessment: description: The assessment of a certain attribute enum: - Neutral - Benefit - Fee - Restriction type: string Error: properties: href: type: string title: type: string uuid: type: string required: - uuid - title - href type: object Errors: items: $ref: '#/components/schemas/Error' type: array Exists3: description: Used to summarize if an Amenity is available for all, some or none of the flights in a leg. enum: - 'yes' - 'no' - partial type: string HubAttributes: properties: categories: items: pattern: ^[a-z]+$ type: string type: array fare_source: pattern: ^[A-Z0-9]{1,3}$ type: string legs: items: $ref: '#/components/schemas/HubLeg' type: array pcc: pattern: ^[A-Z0-9]+$ type: string required: - legs type: object HubData: properties: attributes: $ref: '#/components/schemas/HubAttributes' type: pattern: ^legs_search$ type: string required: - type - attributes type: object HubDecriptorSummary: properties: descriptor: type: string id: type: integer required: - id - descriptor type: object HubDisplayTextSummary: properties: display_text: type: string exists: $ref: '#/components/schemas/Exists3' id: type: string required: - id - display_text type: object HubLeg: properties: segments: items: $ref: '#/components/schemas/HubLegSegment' type: array required: - segments type: object HubLegSegment: properties: arr: description: Leg segment's airport of arrival pattern: ^[A-Z]{3}$ type: string cabin_id: maximum: 4 minimum: 1 type: integer carrier: description: Carrier for the leg segment pattern: ^([A-Z][0-9]|[0-9][A-Z]|[A-Z]{2})$ type: string dep: description: Leg segment's airport of departure pattern: ^[A-Z]{3}$ type: string dep_date: description: Leg's departure date pattern: ^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|30|31)$ type: string fare_basis_code: description: Fare basis code pattern: ^^([A-Z0-9]{1,18})(/[A-Z0-9]{1,8}){0,2}$$ type: string flt_no: description: Flight number of the leg segment pattern: ^[0-9]{1,4}$ type: string required: - carrier - dep - arr - flt_no - cabin_id - dep_date type: object HubReq: properties: data: $ref: '#/components/schemas/HubData' required: - data type: object HubResp: properties: data: $ref: '#/components/schemas/HubRespData' included: items: $ref: '#/components/schemas/HubRespDataInclude' type: array meta: $ref: '#/components/schemas/HubRespMeta' required: - meta - data - included type: object HubRespData: properties: id: type: string relationships: $ref: '#/components/schemas/HubRespRelationship' type: pattern: ^legs_search$ type: string required: - type - id - relationships type: object HubRespDataInclude: description: A response which includes either 'relationships' or 'attributes' properties: attributes: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataAttributes' id: type: string relationships: $ref: '#/components/schemas/HubRespDataIncludeRelationships' type: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataType' required: - type - id type: object HubRespDataIncludeDataFeeType: properties: amount: type: number amount_max: type: number amount_min: type: number currency_code: type: string required: - currency_code type: object HubRespDataIncludeRelationshipData: properties: id: type: string type: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataType' required: - type - id type: object HubRespDataIncludeRelationshipDataAttributes: properties: assessment: $ref: '#/components/schemas/Assessment' assessment_code: type: string att_descr: type: string bag_limits: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataAttributesBagLimits' brand_codes: items: type: string type: array brand_name: type: string caption: type: string categories: items: type: string type: array code: type: string cta_text: type: string cta_url: type: string description: type: string embed_url: type: string fee: $ref: '#/components/schemas/HubRespDataIncludeDataFeeType' fees: items: $ref: '#/components/schemas/HubRespDataIncludeDataFeeType' type: array group_code: type: string headline: type: string image_medium_square_url: type: string image_thumb_url: type: string large_icon_url: type: string large_url: type: string medium_square_url: type: string mk_flt_no: type: string small_icon_url: type: string sub_group_code: type: string thumb_url: type: string url: type: string type: object HubRespDataIncludeRelationshipDataAttributesBagLimits: properties: size_lcm: type: string size_lin: type: string weight_kg: type: string weight_lb: type: string type: object HubRespDataIncludeRelationshipDataElement: properties: data: $ref: '#/components/schemas/HubRespDataIncludeRelationshipData' type: object HubRespDataIncludeRelationshipDataElements: properties: data: items: $ref: '#/components/schemas/HubRespDataIncludeRelationshipData' type: array type: object HubRespDataIncludeRelationshipDataHolder: properties: data: $ref: '#/components/schemas/HubRespDataIncludeRelationshipData' type: object HubRespDataIncludeRelationshipDataRelationship: properties: id: type: string type: type: string type: object HubRespDataIncludeRelationshipDataType: enum: - leg - leg_fare - fare - leg_fare_segment - upa - uta - photo - photo_attachment - video - video_attachment - tour - tour_attachment - cancellation_policy - change_policy - optional_service_identifier type: string HubRespDataIncludeRelationships: properties: cancellation_policy: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataHolder' change_policy: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataHolder' fare: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataHolder' leg_fare_segments: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' leg_fares: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' legs: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' optional_service_identifier: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElement' photo: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElement' photo_attachments: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' tour: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElement' tour_attachments: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' upas: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' utas: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' video: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElement' video_attachments: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataElements' type: object HubRespMeta: properties: not_matched_leg_indexes: items: minimum: 0 type: integer type: array required: - not_matched_leg_indexes type: object HubRespRelationship: properties: legs: $ref: '#/components/schemas/HubRespRelationshipLegs' required: - legs type: object HubRespRelationshipLegs: properties: data: items: $ref: '#/components/schemas/HubRespRelationshipLegsData' type: array required: - data type: object HubRespRelationshipLegsData: properties: id: type: string meta: $ref: '#/components/schemas/HubRespRelationshipLegsDataMeta' type: $ref: '#/components/schemas/HubRespDataIncludeRelationshipDataType' required: - id - type - meta type: object HubRespRelationshipLegsDataMeta: properties: index: minimum: 0 type: integer required: - index type: object HubScoreSummary: properties: id: type: integer word_score: type: string required: - id - word_score type: object securitySchemes: bearerAuth: bearerFormat: JWT scheme: bearer type: http info: description: Consolidated Retailing API title: Consolidated Retailing API version: 0.0.12 openapi: 3.0.3 paths: /hub/legs_searches: post: deprecated: true operationId: legs_searches parameters: - allowReserved: true in: query name: include required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HubReq' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HubResp' description: Hub API response '400': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Unsupported language '401': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Access token is missing or invalid '403': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Not found '415': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Unsupported media '500': content: application/json: schema: $ref: '#/components/schemas/Errors' description: Processing the query has failed at some point by returning an error security: - bearerAuth: [] summary: Hub API endpoint for backwards compatibility tags: - hubapi /hub/schema: get: operationId: get_schema responses: '200': content: application/yaml: schema: type: string description: The Hub BC OpenAPI schema summary: The schema of the Hub backwards-compatible API servers: - url: https://prod.apis.atpco.net/routehappy/consolidated