changedOutput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "outcome": {
- "enum": [
- "ok"
- ],
- "type": "string"
- },
- "providers": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "bio": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "service_ids": {
- "description": "The catalog service ids this provider performs (expanded — never empty for an active provider).",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "id",
- "name",
- "service_ids"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "services": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "duration_minutes": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "price_cents": {
- "description": "Parsed price in cents; null when the configured free-text price is unparseable.",
- "type": [
- "integer",
- "null"
- ]
- },
- "price_label": {
- "description": "The raw configured price text.",
- "type": "string"
- }
- },
- "required": [
- "id",
- "name",
- "duration_minutes",
- "price_cents",
- "price_label"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "tenant": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string"
- },
- "timezone": {
- "description": "IANA zone the schedule is expressed in; empty string when unset (UTC semantics).",
- "type": "string"
- }
- },
- "required": [
- "name",
- "timezone"
- ],
- "type": "object"
- }
- },
- "required": [
- "outcome",
- "tenant",
- "services",
- "providers"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "detail": {
- "description": "A short user-safe explanation.",
- "type": "string"
- },
- "outcome": {
- "description": "A stable failure category.",
- "enum": [
- "validation_error",
- "rate_limited",
- "internal_error"
- ],
- "type": "string"
- },
- "reason": {
- "description": "A stable machine-readable reason.",
- "type": "string"
- },
- "retry_after_sec": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "outcome",
- "reason",
- "detail"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "outcome": {
+ "enum": [
+ "ok"
+ ],
+ "type": "string"
+ },
+ "providers": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "bio": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "service_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "service_ids"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "services": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "add_ons": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "duration_minutes": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price_cents": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "deposit_cents": {
+ "type": "integer"
+ },
+ "duration_minutes": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "intake_form": {
+ "allOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "consent": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "type": {
+ "enum": [
+ "text",
+ "textarea",
+ "boolean",
+ "select",
+ "date"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "type",
+ "required"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "required",
+ "fields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "intake_required": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price_cents": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "price_label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "duration_minutes",
+ "price_label"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tenant": {
+ "additionalProperties": false,
+ "properties": {
+ "capabilities": {
+ "additionalProperties": false,
+ "properties": {
+ "add_ons": {
+ "type": "boolean"
+ },
+ "agent_booking": {
+ "type": "boolean"
+ },
+ "bookable": {
+ "type": "boolean"
+ },
+ "booking_mode": {
+ "enum": [
+ "instant",
+ "approval_required",
+ "external_booking_mode"
+ ],
+ "type": "string"
+ },
+ "deposits": {
+ "type": "boolean"
+ },
+ "intake": {
+ "type": "boolean"
+ },
+ "multi_service": {
+ "type": "boolean"
+ },
+ "native_booking": {
+ "type": "boolean"
+ },
+ "provider_selection": {
+ "type": "boolean"
+ },
+ "status_reason": {
+ "enum": [
+ "suspended",
+ "agent_booking_disabled",
+ "no_booking_section"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "native_booking",
+ "booking_mode",
+ "bookable"
+ ],
+ "type": "object"
+ },
+ "name": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "capabilities"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "outcome",
+ "tenant",
+ "services",
+ "providers"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "detail": {
+ "type": "string"
+ },
+ "outcome": {
+ "enum": [
+ "validation_error",
+ "rate_limited",
+ "internal_error"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "retry_after_sec": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "outcome",
+ "reason",
+ "detail"
+ ],
+ "type": "object"
+ }
+]