Created
September 3, 2024 17:35
-
-
Save vineyardbovines/ddc7c2bbab4f31d5967eebd38ccecf8e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"type": "object", | |
"properties": { | |
"economy": { | |
"type": "object", | |
"properties": { | |
"full_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "last_seat", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "Y", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"high_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 75, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "after_full_flex", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"anyOf": [ | |
{ | |
"const": "B", | |
"type": "string" | |
}, | |
{ | |
"const": "M", | |
"type": "string" | |
} | |
] | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"mid_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 50, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 75, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "advance_purchase", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"anyOf": [ | |
{ | |
"const": "H", | |
"type": "string" | |
}, | |
{ | |
"const": "Q", | |
"type": "string" | |
}, | |
{ | |
"const": "K", | |
"type": "string" | |
} | |
] | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"low_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "restrictive_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "restrictive_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 25, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"const": 0, | |
"type": "number" | |
}, | |
"availability": { | |
"const": "advance_purchase", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"anyOf": [ | |
{ | |
"const": "L", | |
"type": "string" | |
}, | |
{ | |
"const": "V", | |
"type": "string" | |
} | |
] | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
} | |
}, | |
"required": [ | |
"full_flex", | |
"high_flex", | |
"mid_flex", | |
"low_flex" | |
] | |
}, | |
"business": { | |
"type": "object", | |
"properties": { | |
"full_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "last_seat", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "J", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"high_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "high", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "C", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"mid_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 75, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "advance_purchase", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "D", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"low_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "restrictive_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 50, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 75, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "advance_purchase", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "I", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"promo_special_offer": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"const": 0, | |
"type": "number" | |
}, | |
"seatSelection": { | |
"const": 0, | |
"type": "number" | |
}, | |
"minMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 25, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "restrictive", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "Z", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"award": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"const": 0, | |
"type": "number" | |
}, | |
"seatSelection": { | |
"const": 4, | |
"type": "number" | |
}, | |
"minMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "restrictive", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "R", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
} | |
}, | |
"required": [ | |
"full_flex", | |
"high_flex", | |
"mid_flex", | |
"low_flex", | |
"promo_special_offer", | |
"award" | |
] | |
}, | |
"first": { | |
"type": "object", | |
"properties": { | |
"full_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "last_seat", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "F", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"high_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "high", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "A", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"mid_flex": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 75, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 100, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "advance_purchase", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "P", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"promo_special_offer": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "restrictive_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "high_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"seatSelection": { | |
"const": 0, | |
"type": "number" | |
}, | |
"minMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 25, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "restrictive", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "R", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
}, | |
"award": { | |
"type": "object", | |
"properties": { | |
"refundability": { | |
"const": 0, | |
"type": "number" | |
}, | |
"seatSelection": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "full_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "no_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"minMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"maxMileageAccrualPercent": { | |
"const": 0, | |
"type": "number" | |
}, | |
"baggageAllowance": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"const": "partial_flex", | |
"type": "string" | |
}, | |
{ | |
"const": "low_fee", | |
"type": "string" | |
} | |
] | |
} | |
}, | |
"availability": { | |
"const": "restrictive", | |
"type": "string" | |
}, | |
"codes": { | |
"type": "array", | |
"items": { | |
"const": "J", | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"refundability", | |
"seatSelection", | |
"minMileageAccrualPercent", | |
"maxMileageAccrualPercent", | |
"baggageAllowance", | |
"availability", | |
"codes" | |
] | |
} | |
}, | |
"required": [ | |
"full_flex", | |
"high_flex", | |
"mid_flex", | |
"promo_special_offer", | |
"award" | |
] | |
} | |
}, | |
"required": [ | |
"economy", | |
"business", | |
"first" | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment