Properties
| Name | Type | Description |
|---|---|---|
| id | integer | |
| startDate | stringnull | |
| endDate | stringnull | |
| start_time | stringnull | |
| end_time | stringnull | |
| title | string | |
| description | string | |
| notes | stringnull | |
| status | string | |
| payment_status | string | |
| price_snapshot | stringnull | |
| currency | string | |
| cancellation_reason | stringnull | |
| payment_expires_at | string | |
| color | string | |
| user | object | Client info (for org dashboard) |
| client | object | |
| service | object | Service info |
| staff | objectnull | Staff info |
| branch | objectnull | Branch info |
| organization | object | Organization info (for client dashboard) |
| review | objectnull | Review info (for client history) |
| has_review | boolean | |
| can_cancel | boolean | |
| can_reschedule | boolean | |
| can_review | boolean | |
| cancellation_deadline | stringnull | ISO 8601 deadline for cancellation |
| reschedule_deadline | stringnull | ISO 8601 deadline for rescheduling |
| cancellation_policy | objectnull | |
| client_id | integer | Legacy fields |
| service_id | integernull | |
| staff_id | integernull | |
| created_at | string | |
| updated_at | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/bronjoy-com/json-schema/bronjoy-com-appointment-resource-schema.json",
"title": "AppointmentResource",
"x-generated": "2026-11-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/bronjoy-com-api-spec-openapi.json#/components/schemas/AppointmentResource",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"startDate": {
"type": [
"string",
"null"
]
},
"endDate": {
"type": [
"string",
"null"
]
},
"start_time": {
"type": [
"string",
"null"
]
},
"end_time": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"notes": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"payment_status": {
"type": "string"
},
"price_snapshot": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"cancellation_reason": {
"type": [
"string",
"null"
]
},
"payment_expires_at": {
"type": "string"
},
"color": {
"type": "string",
"enum": [
"green",
"yellow",
"red",
"blue",
"orange",
"gray"
]
},
"user": {
"type": "object",
"description": "Client info (for org dashboard)",
"properties": {
"id": {
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"Unknown Client"
]
}
]
},
"picturePath": {
"type": "null"
}
},
"required": [
"id",
"name",
"picturePath"
]
},
"client": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"phone": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"email",
"phone"
]
},
"service": {
"type": "object",
"description": "Service info",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"duration": {
"type": "integer"
},
"price": {
"type": "string"
},
"currency": {
"type": "string"
}
},
"required": [
"id",
"name",
"duration",
"price",
"currency"
]
},
"staff": {
"type": [
"object",
"null"
],
"description": "Staff info",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
},
"branch": {
"type": [
"object",
"null"
],
"description": "Branch info",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"phone": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"address",
"city",
"phone",
"latitude",
"longitude"
]
},
"organization": {
"type": "object",
"description": "Organization info (for client dashboard)",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
},
"slug": {
"type": "string"
},
"logo": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
],
"description": "ISO-3166 alpha-2 country code, e.g. \"UZ\""
},
"canonical_path": {
"type": "string",
"description": "The venue's canonical path, WITHOUT a locale prefix —\n`/tashkent/barber/britva` (ODI-182). Appointments are the one surface that links back to a\nvenue while holding nothing but a slug, and the flat\n`/{slug}` form 404s now. Rather than shipping the city\nand category separately and re-deriving the path in three\nclient components, the backend hands over the finished\npath it already computes for the venue page itself."
}
},
"required": [
"id",
"name",
"slug",
"logo",
"country",
"canonical_path"
]
},
"review": {
"type": [
"object",
"null"
],
"description": "Review info (for client history)",
"properties": {
"id": {
"type": "integer"
},
"rating": {
"type": "integer"
},
"comment": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rating",
"comment"
]
},
"has_review": {
"type": "boolean"
},
"can_cancel": {
"type": "boolean"
},
"can_reschedule": {
"type": "boolean"
},
"can_review": {
"type": "boolean"
},
"cancellation_deadline": {
"type": [
"string",
"null"
],
"description": "ISO 8601 deadline for cancellation"
},
"reschedule_deadline": {
"type": [
"string",
"null"
],
"description": "ISO 8601 deadline for rescheduling"
},
"cancellation_policy": {
"type": [
"object",
"null"
],
"properties": {
"cancellation_min_hours": {
"type": "integer"
},
"reschedule_min_hours": {
"type": "integer"
}
},
"required": [
"cancellation_min_hours",
"reschedule_min_hours"
]
},
"client_id": {
"type": "integer",
"description": "Legacy fields"
},
"service_id": {
"type": [
"integer",
"null"
]
},
"staff_id": {
"type": [
"integer",
"null"
]
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
}
},
"required": [
"id",
"startDate",
"endDate",
"start_time",
"end_time",
"title",
"description",
"notes",
"status",
"payment_status",
"price_snapshot",
"currency",
"cancellation_reason",
"payment_expires_at",
"color",
"user",
"has_review",
"can_cancel",
"can_reschedule",
"can_review",
"cancellation_deadline",
"reschedule_deadline",
"cancellation_policy",
"client_id",
"service_id",
"staff_id",
"created_at",
"updated_at"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/bronjoy-com-appointment-resource"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.