changedOutput schema / properties / data / items / properties / offer / properties / economics / properties / benefits / items / oneOf
Previous value: -[
- {
- "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"
- }
-]New value: +[
+ {
+ "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"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ },
+ "minimum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "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"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ },
+ "minimum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "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"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ },
+ "minimum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "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"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "range",
+ "type": "string"
+ },
+ "maximum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ },
+ "minimum": {
+ "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "minimum",
+ "maximum"
+ ],
+ "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"
+ }
+]