changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "description": "Open slots over the booking horizon (Pacific time). `recommended` is what to offer; `days[].windows` encodes every bookable start losslessly: the k-th start is startUnixFrom + k*stepSec for k < startCount.",
+ "properties": {
+ "afterHoursSurchargeCents": {
+ "description": "Mobile services only: the surcharge an afterHours slot adds.",
+ "type": "integer"
+ },
+ "days": {
+ "items": {
+ "properties": {
+ "closed": {
+ "description": "Present only on a day with no bookable slot: closed | full.",
+ "type": "string"
+ },
+ "date": {
+ "description": "YYYY-MM-DD, Pacific.",
+ "type": "string"
+ },
+ "windows": {
+ "items": {
+ "properties": {
+ "afterHours": {
+ "type": "boolean"
+ },
+ "fit": {
+ "description": "great | good | fair | far.",
+ "type": "string"
+ },
+ "from": {
+ "description": "HH:MM of the first start.",
+ "type": "string"
+ },
+ "startCount": {
+ "type": "integer"
+ },
+ "startUnixFrom": {
+ "type": "integer"
+ },
+ "stepSec": {
+ "type": "integer"
+ },
+ "until": {
+ "description": "HH:MM end of the last slot.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "until",
+ "fit",
+ "startUnixFrom",
+ "startCount",
+ "stepSec"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "date",
+ "windows"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "recommended": {
+ "items": {
+ "properties": {
+ "date": {
+ "type": "string"
+ },
+ "durationMin": {
+ "type": "integer"
+ },
+ "fit": {
+ "description": "great | good | fair | far.",
+ "type": "string"
+ },
+ "start": {
+ "description": "HH:MM Pacific.",
+ "type": "string"
+ },
+ "startUnix": {
+ "description": "Pass to request_booking as desired_time_unix (or to book_appointment as scheduled_at).",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "date",
+ "start",
+ "startUnix",
+ "durationMin",
+ "fit"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "resolved": {
+ "properties": {
+ "country": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "distanceMiles": {
+ "description": "Straight-line miles from the Bothell office (display only, not a routed leg).",
+ "type": "number"
+ },
+ "label": {
+ "description": "Formatted address, or null when the address could not be resolved.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "message": {
+ "description": "Why the place is not bookable as given, or null.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precise": {
+ "description": "False when a street and city are still needed to pin the spot.",
+ "type": "boolean"
+ },
+ "region": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "withinServiceArea": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "withinServiceArea",
+ "precise"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "resolved",
+ "days",
+ "recommended"
+ ],
+ "type": "object"
+}