Skip to content

Instantly share code, notes, and snippets.

@vineyardbovines
Created September 3, 2024 17:35
Show Gist options
  • Save vineyardbovines/ddc7c2bbab4f31d5967eebd38ccecf8e to your computer and use it in GitHub Desktop.
Save vineyardbovines/ddc7c2bbab4f31d5967eebd38ccecf8e to your computer and use it in GitHub Desktop.
{
"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