changedOutput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "status": {
- "const": "invalid_request",
- "description": "Input does not match this operation.",
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bookingUrl": {
- "description": "Booking page for this locale.",
- "format": "uri",
- "type": "string"
- },
- "status": {
- "const": "unavailable",
- "description": "This read could not be completed safely.",
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bookingUrl": {
- "description": "Booking page for this locale.",
- "format": "uri",
- "type": "string"
- },
- "locations": {
- "description": "Areas this business currently publishes.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "areas": {
- "description": "Areas that can be quoted.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "Published area id.",
- "type": "string"
- },
- "label": {
- "description": "Area label for the locale.",
- "type": "string"
- }
- },
- "required": [
- "id",
- "label"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "countryCode": {
- "description": "Country code, when set.",
- "type": "string"
- },
- "key": {
- "description": "Service-location key.",
- "type": "string"
- },
- "label": {
- "description": "Location label for the locale.",
- "type": "string"
- },
- "timeZone": {
- "description": "Time zone of this location.",
- "type": "string"
- }
- },
- "required": [
- "key",
- "countryCode",
- "timeZone",
- "label",
- "areas"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "nextAction": {
- "description": "Use a published area. Do not invent a price.",
- "type": "string"
- },
- "reason": {
- "const": "outside_service_area",
- "description": "Price withheld because the request is outside the served area.",
- "type": "string"
- },
- "status": {
- "const": "outside_service_area",
- "description": "No price: outside the published areas.",
- "type": "string"
- },
- "timeZone": {
- "description": "Time zone used for this decision.",
- "type": "string"
- }
- },
- "required": [
- "status",
- "reason",
- "bookingUrl",
- "timeZone",
- "locations",
- "nextAction"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bookingUrl": {
- "description": "Booking page for this locale.",
- "format": "uri",
- "type": "string"
- },
- "retryAfterSeconds": {
- "description": "Seconds to wait before retrying.",
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "status": {
- "const": "rate_limited",
- "description": "Quote admission is rate-limited.",
- "type": "string"
- }
- },
- "required": [
- "status",
- "bookingUrl",
- "retryAfterSeconds"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bookingUrl": {
- "description": "Booking page for this locale.",
- "format": "uri",
- "type": "string"
- },
- "message": {
- "description": "Why review is required.",
- "type": "string"
- },
- "review": {
- "additionalProperties": false,
- "description": "Structured review, when present.",
- "properties": {
- "availabilityConfirmed": {
- "const": false,
- "description": "Availability is not confirmed.",
- "type": "boolean"
- },
- "code": {
- "description": "Which requirement needs review.",
- "enum": [
- "additional_requirements_review",
- "model_guarantee_review",
- "address_review",
- "service_scope_review",
- "booking_window_review",
- "route_review"
- ],
- "type": "string"
- },
- "customerContactRequired": {
- "const": false,
- "description": "No contact is required for this review.",
- "type": "boolean"
- },
- "nextAction": {
- "const": "review_requirements",
- "description": "Review the requirements before continuing.",
- "type": "string"
- }
- },
- "required": [
- "code",
- "customerContactRequired",
- "availabilityConfirmed",
- "nextAction"
- ],
- "type": "object"
- },
- "status": {
- "const": "review_required",
- "description": "The ride needs review. No price is confirmed.",
- "type": "string"
- }
- },
- "required": [
- "status",
- "bookingUrl",
- "message"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bookingConfirmed": {
- "const": false,
- "description": "A quote does not create a booking.",
- "type": "boolean"
- },
- "bookingUrl": {
- "description": "Booking page for this locale.",
- "format": "uri",
- "type": "string"
- },
- "nextAction": {
- "description": "Continue only if the customer asks for an offer.",
- "type": "string"
- },
- "quote": {
- "additionalProperties": false,
- "description": "Calculated price preview.",
- "properties": {
- "billableHoursPerServiceLine": {
- "description": "Billable hours per service line.",
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "calculatedAt": {
- "description": "When this preview was calculated.",
- "type": "string"
- },
- "currency": {
- "description": "Currency of the preview.",
- "type": "string"
- },
- "grossTotalCents": {
- "description": "Gross total in minor units.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "parkingIncluded": {
- "description": "Whether parking is included.",
- "type": "boolean"
- },
- "pricesIncludeVat": {
- "description": "Whether the price includes VAT.",
- "type": "boolean"
- },
- "revalidationRequired": {
- "const": true,
- "description": "Revalidate before an offer.",
- "type": "boolean"
- },
- "serviceLines": {
- "description": "Price by service line.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "direction": {
- "description": "Outbound or return leg.",
- "enum": [
- "outbound",
- "return"
- ],
- "type": "string"
- },
- "grossAmountCents": {
- "description": "Gross amount for this leg.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "direction",
- "grossAmountCents"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "tollsIncluded": {
- "description": "Whether tolls are included.",
- "type": "boolean"
- },
- "vatRateBasisPoints": {
- "description": "VAT rate in basis points.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "vehicleCount": {
- "description": "Vehicles used in the calculation.",
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- }
- },
- "required": [
- "currency",
- "grossTotalCents",
- "pricesIncludeVat",
- "vatRateBasisPoints",
- "parkingIncluded",
- "tollsIncluded",
- "vehicleCount",
- "billableHoursPerServiceLine",
- "serviceLines",
- "calculatedAt",
- "revalidationRequired"
- ],
- "type": "object"
- },
- "status": {
- "const": "quoted",
- "description": "A price preview. Revalidate before an offer.",
- "type": "string"
- }
- },
- "required": [
- "status",
- "bookingUrl",
- "bookingConfirmed",
- "quote",
- "nextAction"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "status": {
+ "const": "invalid_request",
+ "description": "Input does not match this operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bookingUrl": {
+ "description": "Booking page for this locale.",
+ "format": "uri",
+ "type": "string"
+ },
+ "status": {
+ "const": "unavailable",
+ "description": "This read could not be completed safely.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bookingUrl": {
+ "description": "Booking page for this locale.",
+ "format": "uri",
+ "type": "string"
+ },
+ "locations": {
+ "description": "Areas this business currently publishes.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "areas": {
+ "description": "Areas that can be quoted.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Published area id.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Area label for the locale.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "label"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "countryCode": {
+ "description": "Country code, when set.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Service-location key.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Location label for the locale.",
+ "type": "string"
+ },
+ "timeZone": {
+ "description": "Time zone of this location.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "countryCode",
+ "timeZone",
+ "label",
+ "areas"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "nextAction": {
+ "description": "Use a published area. Do not invent a price.",
+ "type": "string"
+ },
+ "reason": {
+ "const": "outside_service_area",
+ "description": "Price withheld because the request is outside the served area.",
+ "type": "string"
+ },
+ "status": {
+ "const": "outside_service_area",
+ "description": "No price: outside the published areas.",
+ "type": "string"
+ },
+ "timeZone": {
+ "description": "Time zone used for this decision.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "reason",
+ "bookingUrl",
+ "timeZone",
+ "locations",
+ "nextAction"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bookingUrl": {
+ "description": "Booking page for this locale.",
+ "format": "uri",
+ "type": "string"
+ },
+ "retryAfterSeconds": {
+ "description": "Seconds to wait before retrying.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "status": {
+ "const": "rate_limited",
+ "description": "Quote admission is rate-limited.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "bookingUrl",
+ "retryAfterSeconds"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bookingUrl": {
+ "description": "Booking page for this locale.",
+ "format": "uri",
+ "type": "string"
+ },
+ "message": {
+ "description": "Why review is required.",
+ "type": "string"
+ },
+ "review": {
+ "additionalProperties": false,
+ "description": "Structured review, when present.",
+ "properties": {
+ "availabilityConfirmed": {
+ "const": false,
+ "description": "Availability is not confirmed.",
+ "type": "boolean"
+ },
+ "code": {
+ "description": "Which requirement needs review.",
+ "enum": [
+ "additional_requirements_review",
+ "model_guarantee_review",
+ "address_review",
+ "service_scope_review",
+ "booking_window_review",
+ "route_review"
+ ],
+ "type": "string"
+ },
+ "customerContactRequired": {
+ "const": false,
+ "description": "No contact is required for this review.",
+ "type": "boolean"
+ },
+ "nextAction": {
+ "const": "review_requirements",
+ "description": "Review the requirements before continuing.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "customerContactRequired",
+ "availabilityConfirmed",
+ "nextAction"
+ ],
+ "type": "object"
+ },
+ "status": {
+ "const": "review_required",
+ "description": "The ride needs review. No price is confirmed.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "bookingUrl",
+ "message"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bookingConfirmed": {
+ "const": false,
+ "description": "A quote does not create a booking.",
+ "type": "boolean"
+ },
+ "bookingUrl": {
+ "description": "Booking page for this locale.",
+ "format": "uri",
+ "type": "string"
+ },
+ "nextAction": {
+ "description": "Continue only if the customer asks for an offer.",
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": false,
+ "description": "Calculated price preview.",
+ "properties": {
+ "billableHoursPerServiceLine": {
+ "description": "Billable hours per service line.",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "calculatedAt": {
+ "description": "When this preview was calculated.",
+ "type": "string"
+ },
+ "currency": {
+ "description": "Currency of the preview.",
+ "type": "string"
+ },
+ "grossTotalCents": {
+ "description": "Gross total in minor units.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "parkingIncluded": {
+ "description": "Whether parking is included.",
+ "type": "boolean"
+ },
+ "pricesIncludeVat": {
+ "description": "Whether the price includes VAT.",
+ "type": "boolean"
+ },
+ "pricingBasis": {
+ "description": "Preview basis: resolved route timings, provisional policy fallback or confirmed pricing policy.",
+ "enum": [
+ "google_routes",
+ "policy_fallback",
+ "tenant_policy",
+ "server_policy"
+ ],
+ "type": "string"
+ },
+ "pricingMode": {
+ "description": "Pricing method used: standard transfer, timed route or booked hours.",
+ "enum": [
+ "fixed_muc_transfer",
+ "hourly_route",
+ "hourly_home_market"
+ ],
+ "type": "string"
+ },
+ "revalidationRequired": {
+ "const": true,
+ "description": "Revalidate before an offer.",
+ "type": "boolean"
+ },
+ "serviceLines": {
+ "description": "Price by service line.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "direction": {
+ "description": "Outbound or return leg.",
+ "enum": [
+ "outbound",
+ "return"
+ ],
+ "type": "string"
+ },
+ "grossAmountCents": {
+ "description": "Gross amount for this leg.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "direction",
+ "grossAmountCents"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tollsIncluded": {
+ "description": "Whether tolls are included.",
+ "type": "boolean"
+ },
+ "vatRateBasisPoints": {
+ "description": "VAT rate in basis points.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "vehicleCount": {
+ "description": "Vehicles used in the calculation.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "grossTotalCents",
+ "pricesIncludeVat",
+ "vatRateBasisPoints",
+ "parkingIncluded",
+ "tollsIncluded",
+ "vehicleCount",
+ "billableHoursPerServiceLine",
+ "serviceLines",
+ "calculatedAt",
+ "revalidationRequired"
+ ],
+ "type": "object"
+ },
+ "status": {
+ "const": "quoted",
+ "description": "A price preview. Revalidate before an offer.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "bookingUrl",
+ "bookingConfirmed",
+ "quote",
+ "nextAction"
+ ],
+ "type": "object"
+ }
+]