changedOutput schema / properties / data / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "canonical_url": {
- "format": "uri",
- "type": "string"
- },
- "category": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "entity_name": {
- "minLength": 1,
- "type": "string"
- },
- "entity_slug": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "offer": {
- "additionalProperties": false,
- "properties": {
- "access": {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "public",
- "referral",
- "membership",
- "invite",
- "automatic",
- "other"
- ],
- "type": "string"
- },
- "instructions": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- },
- "method": {
- "enum": [
- "form",
- "code",
- "contact",
- "automatic",
- "other"
- ],
- "type": "string"
- },
- "public_code": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "availability",
- "method"
- ],
- "type": "object"
- },
- "economics": {
- "additionalProperties": false,
- "properties": {
- "benefits": {
- "items": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "credit",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "minimum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "minimum",
- "maximum"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "applies_to": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "discount",
- "type": "string"
- },
- "percentage": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "minimum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "kind",
- "minimum_basis_points",
- "maximum_basis_points"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "percentage"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "cashback",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "money",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "minimum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "minimum",
- "maximum"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "percentage",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "minimum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "kind",
- "minimum_basis_points",
- "maximum_basis_points"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "waiver",
- "type": "string"
- },
- "waived_item": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "waived_item"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "free-service",
- "type": "string"
- },
- "service": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "service"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "other",
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind"
- ],
- "type": "object"
- }
- ]
- },
- "minItems": 1,
- "type": "array"
- },
- "consideration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "none",
- "type": "string"
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "fixed",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "variable",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "description"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "unknown",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "description"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "consideration",
- "benefits"
- ],
- "type": "object"
- },
- "effective_from": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "effective_until": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "eligibility": {
- "additionalProperties": false,
- "properties": {
- "rule": {
- "$ref": "#/definitions/__schema0"
- }
- },
- "required": [
- "rule"
- ],
- "type": "object"
- },
- "lifecycle": {
- "enum": [
- "active",
- "ended",
- "withdrawn"
- ],
- "type": "string"
- },
- "offer_id": {
- "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "program_id": {
- "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "provenance": {
- "additionalProperties": false,
- "properties": {
- "attestation_event_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "basis_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "coverage_policy_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "dispute": {
- "enum": [
- "none",
- "open",
- "resolved"
- ],
- "type": "string"
- },
- "fields": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "contradicting_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "type": "array"
- },
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "latest_observation_at": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "path": {
- "pattern": "^\\/.*",
- "type": "string"
- },
- "supporting_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "path",
- "supporting_event_ids",
- "contradicting_event_ids",
- "freshness"
- ],
- "type": "object"
- },
- "minItems": 1,
- "type": "array"
- },
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "freshness_policy_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "tier": {
- "enum": [
- "observed",
- "signed",
- "verified"
- ],
- "type": "string"
- },
- "verification_event_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- }
- },
- "required": [
- "tier",
- "freshness",
- "dispute",
- "coverage_policy_digest",
- "freshness_policy_digest",
- "basis_event_ids",
- "fields"
- ],
- "type": "object"
- },
- "revision_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "roles": {
- "additionalProperties": false,
- "properties": {
- "access_operator_entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "terms_authority_entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- }
- },
- "required": [
- "terms_authority_entity_id",
- "access_operator_entity_id"
- ],
- "type": "object"
- },
- "slug": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "summary": {
- "minLength": 1,
- "type": "string"
- },
- "terms_url": {
- "format": "uri",
- "type": "string"
- },
- "title": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "offer_id",
- "slug",
- "title",
- "summary",
- "economics",
- "eligibility",
- "roles",
- "access",
- "lifecycle",
- "effective_from",
- "revision_digest",
- "provenance"
- ],
- "type": "object"
- },
- "program_id": {
- "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "program_slug": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "program_title": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "entity_id",
- "entity_slug",
- "entity_name",
- "category",
- "offer",
- "canonical_url",
- "program_id",
- "program_slug",
- "program_title"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "canonical_url": {
- "format": "uri",
- "type": "string"
- },
- "category": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "entity_name": {
- "minLength": 1,
- "type": "string"
- },
- "entity_slug": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "offer": {
- "additionalProperties": false,
- "properties": {
- "access": {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "public",
- "referral",
- "membership",
- "invite",
- "automatic",
- "other"
- ],
- "type": "string"
- },
- "instructions": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- },
- "method": {
- "enum": [
- "form",
- "code",
- "contact",
- "automatic",
- "other"
- ],
- "type": "string"
- },
- "public_code": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "availability",
- "method"
- ],
- "type": "object"
- },
- "economics": {
- "additionalProperties": false,
- "properties": {
- "benefits": {
- "items": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "credit",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "minimum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "minimum",
- "maximum"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "applies_to": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "discount",
- "type": "string"
- },
- "percentage": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "minimum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "kind",
- "minimum_basis_points",
- "maximum_basis_points"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "percentage"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "cashback",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "money",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "minimum": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "minimum",
- "maximum"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "percentage",
- "type": "string"
- },
- "value": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "exact",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "up-to",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "kind": {
- "const": "at-least",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "basis_points"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "range",
- "type": "string"
- },
- "maximum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "minimum_basis_points": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "kind",
- "minimum_basis_points",
- "maximum_basis_points"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "waiver",
- "type": "string"
- },
- "waived_item": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "waived_item"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "duration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "exact",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "up-to",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "at-least",
- "type": "string"
- },
- "value": {
- "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- }
- ]
- },
- "kind": {
- "const": "free-service",
- "type": "string"
- },
- "service": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind",
- "service"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "benefit_id": {
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "other",
- "type": "string"
- }
- },
- "required": [
- "benefit_id",
- "description",
- "kind"
- ],
- "type": "object"
- }
- ]
- },
- "minItems": 1,
- "type": "array"
- },
- "consideration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "none",
- "type": "string"
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "additionalProperties": false,
- "properties": {
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- },
- "minor_units": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "minor_units"
- ],
- "type": "object"
- },
- "kind": {
- "const": "fixed",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "amount"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "variable",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "description"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "description": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "unknown",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "description"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "consideration",
- "benefits"
- ],
- "type": "object"
- },
- "effective_from": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "effective_until": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "eligibility": {
- "additionalProperties": false,
- "properties": {
- "rule": {
- "$ref": "#/definitions/__schema0"
- }
- },
- "required": [
- "rule"
- ],
- "type": "object"
- },
- "lifecycle": {
- "enum": [
- "active",
- "ended",
- "withdrawn"
- ],
- "type": "string"
- },
- "offer_id": {
- "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "program_id": {
- "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "provenance": {
- "additionalProperties": false,
- "properties": {
- "attestation_event_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "basis_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "coverage_policy_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "dispute": {
- "enum": [
- "none",
- "open",
- "resolved"
- ],
- "type": "string"
- },
- "fields": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "contradicting_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "type": "array"
- },
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "latest_observation_at": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "path": {
- "pattern": "^\\/.*",
- "type": "string"
- },
- "supporting_event_ids": {
- "items": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "path",
- "supporting_event_ids",
- "contradicting_event_ids",
- "freshness"
- ],
- "type": "object"
- },
- "minItems": 1,
- "type": "array"
- },
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "freshness_policy_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "tier": {
- "enum": [
- "observed",
- "signed",
- "verified"
- ],
- "type": "string"
- },
- "verification_event_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- }
- },
- "required": [
- "tier",
- "freshness",
- "dispute",
- "coverage_policy_digest",
- "freshness_policy_digest",
- "basis_event_ids",
- "fields"
- ],
- "type": "object"
- },
- "revision_digest": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "roles": {
- "additionalProperties": false,
- "properties": {
- "access_operator_entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- },
- "terms_authority_entity_id": {
- "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
- "type": "string"
- }
- },
- "required": [
- "terms_authority_entity_id",
- "access_operator_entity_id"
- ],
- "type": "object"
- },
- "slug": {
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
- "type": "string"
- },
- "summary": {
- "minLength": 1,
- "type": "string"
- },
- "terms_url": {
- "format": "uri",
- "type": "string"
- },
- "title": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "offer_id",
- "slug",
- "title",
- "summary",
- "economics",
- "eligibility",
- "roles",
- "access",
- "lifecycle",
- "effective_from",
- "revision_digest",
- "provenance"
- ],
- "type": "object"
- }
- },
- "required": [
- "entity_id",
- "entity_slug",
- "entity_name",
- "category",
- "offer",
- "canonical_url"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "canonical_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "category": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "entity_name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "entity_slug": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "offer": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "public",
+ "referral",
+ "membership",
+ "invite",
+ "automatic",
+ "other"
+ ],
+ "type": "string"
+ },
+ "instructions": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "method": {
+ "enum": [
+ "form",
+ "code",
+ "contact",
+ "automatic",
+ "other"
+ ],
+ "type": "string"
+ },
+ "public_code": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "availability",
+ "method"
+ ],
+ "type": "object"
+ },
+ "description": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "economics": {
+ "additionalProperties": false,
+ "properties": {
+ "benefits": {
+ "items": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "credit",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "minimum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "applies_to": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "discount",
+ "type": "string"
+ },
+ "percentage": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minimum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum_basis_points",
+ "maximum_basis_points"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "percentage"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "cashback",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "money",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "minimum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "percentage",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minimum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum_basis_points",
+ "maximum_basis_points"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "waiver",
+ "type": "string"
+ },
+ "waived_item": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "waived_item"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "free-service",
+ "type": "string"
+ },
+ "service": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "service"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "other",
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "consideration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "none",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "fixed",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "variable",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "description"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "unknown",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "description"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "consideration",
+ "benefits"
+ ],
+ "type": "object"
+ },
+ "effective_from": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "effective_until": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "eligibility": {
+ "additionalProperties": false,
+ "properties": {
+ "rule": {
+ "$ref": "#/definitions/__schema0"
+ }
+ },
+ "required": [
+ "rule"
+ ],
+ "type": "object"
+ },
+ "lifecycle": {
+ "enum": [
+ "active",
+ "ended",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "offer_id": {
+ "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "program_id": {
+ "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "provenance": {
+ "additionalProperties": false,
+ "properties": {
+ "attestation_event_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "basis_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "coverage_policy_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "dispute": {
+ "enum": [
+ "none",
+ "open",
+ "resolved"
+ ],
+ "type": "string"
+ },
+ "fields": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "contradicting_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "latest_observation_at": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "path": {
+ "pattern": "^\\/.*",
+ "type": "string"
+ },
+ "supporting_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "path",
+ "supporting_event_ids",
+ "contradicting_event_ids",
+ "freshness"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "freshness_policy_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "tier": {
+ "enum": [
+ "observed",
+ "signed",
+ "verified"
+ ],
+ "type": "string"
+ },
+ "verification_event_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tier",
+ "freshness",
+ "dispute",
+ "coverage_policy_digest",
+ "freshness_policy_digest",
+ "basis_event_ids",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "revision_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "roles": {
+ "additionalProperties": false,
+ "properties": {
+ "access_operator_entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "terms_authority_entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "terms_authority_entity_id",
+ "access_operator_entity_id"
+ ],
+ "type": "object"
+ },
+ "slug": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "summary": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "terms_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "title": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "offer_id",
+ "slug",
+ "title",
+ "summary",
+ "economics",
+ "eligibility",
+ "roles",
+ "access",
+ "lifecycle",
+ "effective_from",
+ "revision_digest",
+ "provenance"
+ ],
+ "type": "object"
+ },
+ "program_id": {
+ "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "program_slug": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "program_title": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "entity_id",
+ "entity_slug",
+ "entity_name",
+ "category",
+ "offer",
+ "canonical_url",
+ "program_id",
+ "program_slug",
+ "program_title"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "canonical_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "category": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "entity_name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "entity_slug": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "offer": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "public",
+ "referral",
+ "membership",
+ "invite",
+ "automatic",
+ "other"
+ ],
+ "type": "string"
+ },
+ "instructions": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "method": {
+ "enum": [
+ "form",
+ "code",
+ "contact",
+ "automatic",
+ "other"
+ ],
+ "type": "string"
+ },
+ "public_code": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "availability",
+ "method"
+ ],
+ "type": "object"
+ },
+ "description": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "economics": {
+ "additionalProperties": false,
+ "properties": {
+ "benefits": {
+ "items": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "credit",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "minimum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "applies_to": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "discount",
+ "type": "string"
+ },
+ "percentage": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minimum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum_basis_points",
+ "maximum_basis_points"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "percentage"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "cashback",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "money",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "minimum": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "percentage",
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "basis_points"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minimum_basis_points": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum_basis_points",
+ "maximum_basis_points"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "waiver",
+ "type": "string"
+ },
+ "waived_item": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "waived_item"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "duration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "exact",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "up-to",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "at-least",
+ "type": "string"
+ },
+ "value": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "free-service",
+ "type": "string"
+ },
+ "service": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind",
+ "service"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "benefit_id": {
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "other",
+ "type": "string"
+ }
+ },
+ "required": [
+ "benefit_id",
+ "description",
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "consideration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "none",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ },
+ "minor_units": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "minor_units"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "fixed",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "amount"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "variable",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "description"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "unknown",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "description"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "consideration",
+ "benefits"
+ ],
+ "type": "object"
+ },
+ "effective_from": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "effective_until": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "eligibility": {
+ "additionalProperties": false,
+ "properties": {
+ "rule": {
+ "$ref": "#/definitions/__schema0"
+ }
+ },
+ "required": [
+ "rule"
+ ],
+ "type": "object"
+ },
+ "lifecycle": {
+ "enum": [
+ "active",
+ "ended",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "offer_id": {
+ "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "program_id": {
+ "pattern": "^prg_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "provenance": {
+ "additionalProperties": false,
+ "properties": {
+ "attestation_event_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "basis_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "coverage_policy_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "dispute": {
+ "enum": [
+ "none",
+ "open",
+ "resolved"
+ ],
+ "type": "string"
+ },
+ "fields": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "contradicting_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "latest_observation_at": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "path": {
+ "pattern": "^\\/.*",
+ "type": "string"
+ },
+ "supporting_event_ids": {
+ "items": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "path",
+ "supporting_event_ids",
+ "contradicting_event_ids",
+ "freshness"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "freshness_policy_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "tier": {
+ "enum": [
+ "observed",
+ "signed",
+ "verified"
+ ],
+ "type": "string"
+ },
+ "verification_event_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tier",
+ "freshness",
+ "dispute",
+ "coverage_policy_digest",
+ "freshness_policy_digest",
+ "basis_event_ids",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "revision_digest": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "roles": {
+ "additionalProperties": false,
+ "properties": {
+ "access_operator_entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ },
+ "terms_authority_entity_id": {
+ "pattern": "^ent_[0-9a-hjkmnp-tv-z]{26}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "terms_authority_entity_id",
+ "access_operator_entity_id"
+ ],
+ "type": "object"
+ },
+ "slug": {
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "type": "string"
+ },
+ "summary": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "terms_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "title": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "offer_id",
+ "slug",
+ "title",
+ "summary",
+ "economics",
+ "eligibility",
+ "roles",
+ "access",
+ "lifecycle",
+ "effective_from",
+ "revision_digest",
+ "provenance"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "entity_id",
+ "entity_slug",
+ "entity_name",
+ "category",
+ "offer",
+ "canonical_url"
+ ],
+ "type": "object"
+ }
+]