Authentication
Authorization: Bearer <HALLIFY_TABLE_GUEST_TOKEN>Guest-owned table membership capability constrained by its native venue, session, guest, current access epochs, presentation resource and browser origin.
Parameters
originHeader · RequiredActual browser-managed request origin used to validate approved presentation provenance and its current resource binding. Browser clients preserve this value; the separate join or membership credential supplies guest authorization.
string · uriFull definition
{ "type": "string", "format": "uri", "example": "https://example.test/resource" }sessionIdPath · RequiredNative primary table-service session that owns the public access, admission requests and guest memberships addressed by this operation.
string · uuidFull definition
{ "format": "uuid", "type": "string", "example": "9b6163a8-afea-4877-818b-8e2ae28a2845" }
Request body
Required
Published item/variant selections only; no client-selected guest, staff identity, tenant, order or authoritative amount.
application/json
Full definition
{
"$ref": "#/components/schemas/QuoteTablePublicOrderDto"
}Responses
200Exact native quote, effective expiry, current admission mode and opaque QR proof.
Full definition
{
"$ref": "#/components/schemas/TablePublicOrderQuoteDto"
}{
"quote": {
"version": 1,
"scope": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
},
"salesChannelId": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc",
"basisOrderId": null,
"basisOrderRevision": null,
"clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05",
"clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"financialPolicyVersionId": "b36de587-2415-41cd-8269-c8dc9aa8ee66",
"pricingHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"items": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
],
"currency": "GEL",
"lines": [
{
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
],
"amounts": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
},
"createdAt": "2026-01-15T13:00:00.000Z",
"expiresAt": "2026-12-31T18:00:00.000Z"
},
"mode": "DIRECT",
"expiresAt": "2026-12-31T18:00:00.000Z",
"proof": "example"
}400The supplied identifier, query or credential shape is invalid.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 400,
"error": "errors:http.badRequest",
"code": "HTTP_BAD_REQUEST",
"message": "errors:http.badRequest",
"translationKey": "errors:http.badRequest"
}401The QR credential, current native authority or exact requesting Origin is denied.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 401,
"error": "errors:http.unauthorized",
"code": "HTTP_UNAUTHORIZED",
"message": "errors:http.unauthorized",
"translationKey": "errors:http.unauthorized"
}404The current public locator, presentation binding or owned native resource is unavailable.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 404,
"error": "errors:http.notFound",
"code": "HTTP_NOT_FOUND",
"message": "errors:http.notFound",
"translationKey": "errors:http.notFound"
}409Published menu or native financial/channel basis changed. Obtain a fresh catalog and quote; no native order demand was created.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 409,
"error": "errors:http.conflict",
"code": "HTTP_CONFLICT",
"message": "errors:http.conflict",
"translationKey": "errors:http.conflict"
}429The hashed membership/source attempt budget is exhausted. TABLE_PUBLIC_THROTTLED includes retryAfterSeconds; no new native work is performed.
Response headers
Retry-AfterWhole seconds the client must wait before retrying the rejected request.
integerFull definition
{
"type": "integer",
"minimum": 1,
"example": 60
}Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 429,
"error": "errors:http.tooManyRequests",
"code": "HTTP_TOO_MANY_REQUESTS",
"message": "errors:http.tooManyRequests",
"translationKey": "errors:http.tooManyRequests"
}503QR key material or authoritative native state cannot be safely used.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 503,
"error": "errors:http.serviceUnavailable",
"code": "HTTP_SERVICE_UNAVAILABLE",
"message": "errors:http.serviceUnavailable",
"translationKey": "errors:http.serviceUnavailable"
}Schemas
QuoteTablePublicOrderDto
Published menu selection for an owned native table session. Tenant, slot, channel, staff actor and amounts are resolved by the server.
itemsRequiredOne immutable guest batch with unique caller-stable clientLineId values. Each line is priced and admitted through native Orders.
arrayFull definition
{ "minItems": 1, "maxItems": 100, "description": "One immutable guest batch with unique caller-stable clientLineId values. Each line is priced and admitted through native Orders.", "type": "array", "items": { "$ref": "#/components/schemas/TablePublicOrderLineDto" }, "example": [ { "clientLineId": "guest-line-1", "quantity": 1 } ] }clientMenuVersionIdRequiredExact published menu version returned by the native catalog.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Exact published menu version returned by the native catalog.", "example": "cd2f2c2a-ba73-4579-8e32-52da8388fd05" }clientGraphHashRequiredOpaque public graph token from that same native catalog; the example is synthetic.
stringFull definition
{ "type": "string", "pattern": "^menu-cost-v1\\.graph\\.[A-Za-z0-9_-]{43}$", "example": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG", "description": "Opaque public graph token from that same native catalog; the example is synthetic." }
Full definition
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 100,
"description": "One immutable guest batch with unique caller-stable clientLineId values. Each line is priced and admitted through native Orders.",
"type": "array",
"items": {
"$ref": "#/components/schemas/TablePublicOrderLineDto"
},
"example": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
]
},
"clientMenuVersionId": {
"type": "string",
"format": "uuid",
"description": "Exact published menu version returned by the native catalog.",
"example": "cd2f2c2a-ba73-4579-8e32-52da8388fd05"
},
"clientGraphHash": {
"type": "string",
"pattern": "^menu-cost-v1\\.graph\\.[A-Za-z0-9_-]{43}$",
"example": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"description": "Opaque public graph token from that same native catalog; the example is synthetic."
}
},
"description": "Published menu selection for an owned native table session. Tenant, slot, channel, staff actor and amounts are resolved by the server.",
"required": [
"items",
"clientMenuVersionId",
"clientGraphHash"
],
"example": {
"items": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
],
"clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05",
"clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
}
}TablePublicOrderLineDto
A canonical guest batch line. Exactly one published menu item or variant is required; native ordering validates eligibility and resolves every amount.
clientLineIdRequiredCaller-stable line correlation retained in the original quote and admitted item mapping; not a native item identifier.
stringFull definition
{ "type": "string", "maxLength": 80, "pattern": "^[A-Za-z0-9][A-Za-z0-9:_-]{0,79}$", "example": "guest-line-1", "description": "Caller-stable line correlation retained in the original quote and admitted item mapping; not a native item identifier." }menuItemIdOptionalRequired when menuVariantId is absent.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Required when menuVariantId is absent.", "example": "16ee6f36-c0cb-4311-85e8-2d2b3edea0fd" }menuVariantIdOptionalRequired when menuItemId is absent.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Required when menuItemId is absent.", "example": "94389946-e5d8-4fba-8358-e3a9c8a04b11" }quantityRequiredRequested whole units of the selected published item or variant.
integerFull definition
{ "type": "integer", "minimum": 1, "maximum": 999, "example": 1, "description": "Requested whole units of the selected published item or variant." }modifierOptionIdsOptionalPublished modifier option UUIDs.
arrayFull definition
{ "maxItems": 20, "description": "Published modifier option UUIDs.", "type": "array", "items": { "type": "string", "example": "example" }, "example": [ "example" ] }specialRequestOptionalBounded guest preparation request; never used as an authorization or pricing instruction.
stringFull definition
{ "type": "string", "maxLength": 500, "description": "Bounded guest preparation request; never used as an authorization or pricing instruction.", "example": "synthetic-example-credential" }componentSelectionsOptionalBounded choices from the exact published structured-item configurator; native ordering checks group rules and compatibility.
arrayFull definition
{ "maxItems": 50, "description": "Bounded choices from the exact published structured-item configurator; native ordering checks group rules and compatibility.", "type": "array", "items": { "$ref": "#/components/schemas/TablePublicOrderComponentSelectionDto" }, "example": [ { "groupId": "example-id", "choiceId": "example-id" } ] }
Full definition
{
"type": "object",
"properties": {
"clientLineId": {
"type": "string",
"maxLength": 80,
"pattern": "^[A-Za-z0-9][A-Za-z0-9:_-]{0,79}$",
"example": "guest-line-1",
"description": "Caller-stable line correlation retained in the original quote and admitted item mapping; not a native item identifier."
},
"menuItemId": {
"type": "string",
"format": "uuid",
"description": "Required when menuVariantId is absent.",
"example": "16ee6f36-c0cb-4311-85e8-2d2b3edea0fd"
},
"menuVariantId": {
"type": "string",
"format": "uuid",
"description": "Required when menuItemId is absent.",
"example": "94389946-e5d8-4fba-8358-e3a9c8a04b11"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 999,
"example": 1,
"description": "Requested whole units of the selected published item or variant."
},
"modifierOptionIds": {
"maxItems": 20,
"description": "Published modifier option UUIDs.",
"type": "array",
"items": {
"type": "string",
"example": "example"
},
"example": [
"example"
]
},
"specialRequest": {
"type": "string",
"maxLength": 500,
"description": "Bounded guest preparation request; never used as an authorization or pricing instruction.",
"example": "synthetic-example-credential"
},
"componentSelections": {
"maxItems": 50,
"description": "Bounded choices from the exact published structured-item configurator; native ordering checks group rules and compatibility.",
"type": "array",
"items": {
"$ref": "#/components/schemas/TablePublicOrderComponentSelectionDto"
},
"example": [
{
"groupId": "example-id",
"choiceId": "example-id"
}
]
}
},
"description": "A canonical guest batch line. Exactly one published menu item or variant is required; native ordering validates eligibility and resolves every amount.",
"required": [
"clientLineId",
"quantity"
],
"example": {
"clientLineId": "guest-line-1",
"quantity": 1
}
}TablePublicOrderComponentSelectionDto
One bounded choice from the exact published structured-item configurator.
groupIdRequiredPublished component group identifier.
stringFull definition
{ "type": "string", "maxLength": 96, "description": "Published component group identifier.", "example": "example-id" }choiceIdRequiredPublished component choice identifier.
stringFull definition
{ "type": "string", "maxLength": 160, "description": "Published component choice identifier.", "example": "example-id" }menuVariantIdOptionalPublished sellable variant selected for this component, when required by its configurator.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Published sellable variant selected for this component, when required by its configurator.", "example": "94389946-e5d8-4fba-8358-e3a9c8a04b11" }modifierOptionIdsOptionalPublished modifier option UUIDs for this component.
arrayFull definition
{ "maxItems": 20, "description": "Published modifier option UUIDs for this component.", "type": "array", "items": { "type": "string", "example": "example" }, "example": [ "example" ] }
Full definition
{
"type": "object",
"properties": {
"groupId": {
"type": "string",
"maxLength": 96,
"description": "Published component group identifier.",
"example": "example-id"
},
"choiceId": {
"type": "string",
"maxLength": 160,
"description": "Published component choice identifier.",
"example": "example-id"
},
"menuVariantId": {
"type": "string",
"format": "uuid",
"description": "Published sellable variant selected for this component, when required by its configurator.",
"example": "94389946-e5d8-4fba-8358-e3a9c8a04b11"
},
"modifierOptionIds": {
"maxItems": 20,
"description": "Published modifier option UUIDs for this component.",
"type": "array",
"items": {
"type": "string",
"example": "example"
},
"example": [
"example"
]
}
},
"description": "One bounded choice from the exact published structured-item configurator.",
"required": [
"groupId",
"choiceId"
],
"example": {
"groupId": "example-id",
"choiceId": "example-id"
}
}TablePublicOrderQuoteDto
A side-effect-free native guest batch quote plus its exact-document QR proof and effective source deadline.
quoteRequiredExact native quote document to preserve unchanged with the original selection and proof.
allOfFull definition
{ "description": "Exact native quote document to preserve unchanged with the original selection and proof.", "allOf": [ { "$ref": "#/components/schemas/TablePublicOrderNativeQuoteDto" } ], "example": { "version": 1, "scope": { "organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed", "venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391", "tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905", "tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560" }, "salesChannelId": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc", "basisOrderId": null, "basisOrderRevision": null, "clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05", "clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG", "financialPolicyVersionId": "b36de587-2415-41cd-8269-c8dc9aa8ee66", "pricingHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "items": [ { "clientLineId": "guest-line-1", "quantity": 1 } ], "currency": "GEL", "lines": [ { "clientLineId": "example-id", "name": "Example name", "quantity": 1, "unitPrice": "12.00", "total": "12.00" } ], "amounts": { "subtotal": "12.00", "discount": "0.00", "serviceCharge": "0.00", "tax": "0.00", "total": "12.00" }, "createdAt": "2026-01-15T13:00:00.000Z", "expiresAt": "2026-12-31T18:00:00.000Z" } }modeRequiredCurrent policy mode captured by this proof: immediate native admission or an immutable staff-confirmation request.
stringFull definition
{ "type": "string", "enum": [ "DIRECT", "STAFF_CONFIRM" ], "description": "Current policy mode captured by this proof: immediate native admission or an immutable staff-confirmation request.", "example": "DIRECT" }expiresAtRequiredEffective quote deadline bounded by current native membership and presentation authority.
string · date-timeFull definition
{ "type": "string", "format": "date-time", "description": "Effective quote deadline bounded by current native membership and presentation authority.", "example": "2026-12-31T18:00:00.000Z" }proofRequiredOpaque exact-document proof. Preserve with the quote and selections for submit/recovery; it grants no independent native authority.
stringFull definition
{ "type": "string", "maxLength": 24000, "description": "Opaque exact-document proof. Preserve with the quote and selections for submit/recovery; it grants no independent native authority.", "example": "example" }
Full definition
{
"type": "object",
"properties": {
"quote": {
"description": "Exact native quote document to preserve unchanged with the original selection and proof.",
"allOf": [
{
"$ref": "#/components/schemas/TablePublicOrderNativeQuoteDto"
}
],
"example": {
"version": 1,
"scope": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
},
"salesChannelId": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc",
"basisOrderId": null,
"basisOrderRevision": null,
"clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05",
"clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"financialPolicyVersionId": "b36de587-2415-41cd-8269-c8dc9aa8ee66",
"pricingHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"items": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
],
"currency": "GEL",
"lines": [
{
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
],
"amounts": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
},
"createdAt": "2026-01-15T13:00:00.000Z",
"expiresAt": "2026-12-31T18:00:00.000Z"
}
},
"mode": {
"type": "string",
"enum": [
"DIRECT",
"STAFF_CONFIRM"
],
"description": "Current policy mode captured by this proof: immediate native admission or an immutable staff-confirmation request.",
"example": "DIRECT"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Effective quote deadline bounded by current native membership and presentation authority.",
"example": "2026-12-31T18:00:00.000Z"
},
"proof": {
"type": "string",
"maxLength": 24000,
"description": "Opaque exact-document proof. Preserve with the quote and selections for submit/recovery; it grants no independent native authority.",
"example": "example"
}
},
"description": "A side-effect-free native guest batch quote plus its exact-document QR proof and effective source deadline.",
"required": [
"quote",
"mode",
"expiresAt",
"proof"
],
"example": {
"quote": {
"version": 1,
"scope": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
},
"salesChannelId": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc",
"basisOrderId": null,
"basisOrderRevision": null,
"clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05",
"clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"financialPolicyVersionId": "b36de587-2415-41cd-8269-c8dc9aa8ee66",
"pricingHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"items": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
],
"currency": "GEL",
"lines": [
{
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
],
"amounts": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
},
"createdAt": "2026-01-15T13:00:00.000Z",
"expiresAt": "2026-12-31T18:00:00.000Z"
},
"mode": "DIRECT",
"expiresAt": "2026-12-31T18:00:00.000Z",
"proof": "example"
}
}TablePublicOrderNativeQuoteDto
Canonical native guest batch quote, preserved verbatim. QR proof authenticates this exact document; native ordering owns all pricing, channel and financial evidence.
versionRequiredCanonical native guest batch quote document version.
integerFull definition
{ "type": "integer", "enum": [ 1 ], "description": "Canonical native guest batch quote document version.", "example": 1 }scopeRequiredImmutable server-derived tenant, session and operational guest scope.
allOfFull definition
{ "description": "Immutable server-derived tenant, session and operational guest scope.", "allOf": [ { "$ref": "#/components/schemas/TablePublicOrderScopeDto" } ], "example": { "organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed", "venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391", "tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905", "tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560" } }salesChannelIdRequiredNative compatible sales channel selected for this batch and rechecked at admission.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Native compatible sales channel selected for this batch and rechecked at admission.", "example": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc" }basisOrderIdRequiredExisting native active Order used only as a channel and financial basis, or null when no basis Order exists. Its pointer and rows are not submitted by this batch.
string · uuid · nullFull definition
{ "type": "string", "format": "uuid", "nullable": true, "description": "Existing native active Order used only as a channel and financial basis, or null when no basis Order exists. Its pointer and rows are not submitted by this batch.", "example": "84c563bd-49f7-45e6-8212-133ba2297c16" }basisOrderRevisionRequiredCaptured basis Order revision, or null together with the absent basis Order.
integer · nullFull definition
{ "type": "integer", "minimum": 1, "nullable": true, "description": "Captured basis Order revision, or null together with the absent basis Order.", "example": 1 }clientMenuVersionIdRequiredExact published menu version against which every native batch selection was resolved.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Exact published menu version against which every native batch selection was resolved.", "example": "cd2f2c2a-ba73-4579-8e32-52da8388fd05" }clientGraphHashRequiredOpaque graph token from that published menu; stale graph evidence requires a new quote. The example is synthetic.
stringFull definition
{ "type": "string", "pattern": "^menu-cost-v1\\.graph\\.[A-Za-z0-9_-]{43}$", "example": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG", "description": "Opaque graph token from that published menu; stale graph evidence requires a new quote. The example is synthetic." }financialPolicyVersionIdRequiredNative financial policy version whose snapshots and amounts must still match at batch admission.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Native financial policy version whose snapshots and amounts must still match at batch admission.", "example": "b36de587-2415-41cd-8269-c8dc9aa8ee66" }pricingHashRequiredCanonical native pricing evidence fingerprint; it is revalidated by Orders and never replaced with a client calculation. The example is synthetic.
stringFull definition
{ "type": "string", "pattern": "^[a-f0-9]{64}$", "example": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "description": "Canonical native pricing evidence fingerprint; it is revalidated by Orders and never replaced with a client calculation. The example is synthetic." }itemsRequiredOriginal canonical configured selections preserved verbatim in the signed quote.
arrayFull definition
{ "minItems": 1, "maxItems": 100, "description": "Original canonical configured selections preserved verbatim in the signed quote.", "type": "array", "items": { "$ref": "#/components/schemas/TablePublicOrderLineDto" }, "example": [ { "clientLineId": "guest-line-1", "quantity": 1 } ] }currencyRequiredNative three-letter currency for all line and batch amounts in this quote.
stringFull definition
{ "type": "string", "pattern": "^[A-Z]{3}$", "example": "GEL", "description": "Native three-letter currency for all line and batch amounts in this quote." }linesRequiredPublic native line names, quantities and prices for the guest or staff review.
arrayFull definition
{ "minItems": 1, "maxItems": 100, "description": "Public native line names, quantities and prices for the guest or staff review.", "type": "array", "items": { "$ref": "#/components/schemas/TablePublicOrderPricedLineDto" }, "example": [ { "clientLineId": "example-id", "name": "Example name", "quantity": 1, "unitPrice": "12.00", "total": "12.00" } ] }amountsRequiredCanonical native batch totals under the captured financial policy.
allOfFull definition
{ "description": "Canonical native batch totals under the captured financial policy.", "allOf": [ { "$ref": "#/components/schemas/TablePublicOrderAmountsDto" } ], "example": { "subtotal": "12.00", "discount": "0.00", "serviceCharge": "0.00", "tax": "0.00", "total": "12.00" } }createdAtRequiredServer observation time at which native quote resolution completed.
string · date-timeFull definition
{ "type": "string", "format": "date-time", "description": "Server observation time at which native quote resolution completed.", "example": "2026-01-15T13:00:00.000Z" }expiresAtRequiredNative quote deadline; the enclosing QR proof may narrow it to the current source authority deadline.
string · date-timeFull definition
{ "type": "string", "format": "date-time", "description": "Native quote deadline; the enclosing QR proof may narrow it to the current source authority deadline.", "example": "2026-12-31T18:00:00.000Z" }
Full definition
{
"type": "object",
"properties": {
"version": {
"type": "integer",
"enum": [
1
],
"description": "Canonical native guest batch quote document version.",
"example": 1
},
"scope": {
"description": "Immutable server-derived tenant, session and operational guest scope.",
"allOf": [
{
"$ref": "#/components/schemas/TablePublicOrderScopeDto"
}
],
"example": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
}
},
"salesChannelId": {
"type": "string",
"format": "uuid",
"description": "Native compatible sales channel selected for this batch and rechecked at admission.",
"example": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc"
},
"basisOrderId": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Existing native active Order used only as a channel and financial basis, or null when no basis Order exists. Its pointer and rows are not submitted by this batch.",
"example": "84c563bd-49f7-45e6-8212-133ba2297c16"
},
"basisOrderRevision": {
"type": "integer",
"minimum": 1,
"nullable": true,
"description": "Captured basis Order revision, or null together with the absent basis Order.",
"example": 1
},
"clientMenuVersionId": {
"type": "string",
"format": "uuid",
"description": "Exact published menu version against which every native batch selection was resolved.",
"example": "cd2f2c2a-ba73-4579-8e32-52da8388fd05"
},
"clientGraphHash": {
"type": "string",
"pattern": "^menu-cost-v1\\.graph\\.[A-Za-z0-9_-]{43}$",
"example": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"description": "Opaque graph token from that published menu; stale graph evidence requires a new quote. The example is synthetic."
},
"financialPolicyVersionId": {
"type": "string",
"format": "uuid",
"description": "Native financial policy version whose snapshots and amounts must still match at batch admission.",
"example": "b36de587-2415-41cd-8269-c8dc9aa8ee66"
},
"pricingHash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$",
"example": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"description": "Canonical native pricing evidence fingerprint; it is revalidated by Orders and never replaced with a client calculation. The example is synthetic."
},
"items": {
"minItems": 1,
"maxItems": 100,
"description": "Original canonical configured selections preserved verbatim in the signed quote.",
"type": "array",
"items": {
"$ref": "#/components/schemas/TablePublicOrderLineDto"
},
"example": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
]
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "GEL",
"description": "Native three-letter currency for all line and batch amounts in this quote."
},
"lines": {
"minItems": 1,
"maxItems": 100,
"description": "Public native line names, quantities and prices for the guest or staff review.",
"type": "array",
"items": {
"$ref": "#/components/schemas/TablePublicOrderPricedLineDto"
},
"example": [
{
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
]
},
"amounts": {
"description": "Canonical native batch totals under the captured financial policy.",
"allOf": [
{
"$ref": "#/components/schemas/TablePublicOrderAmountsDto"
}
],
"example": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Server observation time at which native quote resolution completed.",
"example": "2026-01-15T13:00:00.000Z"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Native quote deadline; the enclosing QR proof may narrow it to the current source authority deadline.",
"example": "2026-12-31T18:00:00.000Z"
}
},
"description": "Canonical native guest batch quote, preserved verbatim. QR proof authenticates this exact document; native ordering owns all pricing, channel and financial evidence.",
"required": [
"version",
"scope",
"salesChannelId",
"basisOrderId",
"basisOrderRevision",
"clientMenuVersionId",
"clientGraphHash",
"financialPolicyVersionId",
"pricingHash",
"items",
"currency",
"lines",
"amounts",
"createdAt",
"expiresAt"
],
"example": {
"version": 1,
"scope": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
},
"salesChannelId": "ff0fa725-ba44-4e7a-82bb-a15650e0a0cc",
"basisOrderId": null,
"basisOrderRevision": null,
"clientMenuVersionId": "cd2f2c2a-ba73-4579-8e32-52da8388fd05",
"clientGraphHash": "menu-cost-v1.graph.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG",
"financialPolicyVersionId": "b36de587-2415-41cd-8269-c8dc9aa8ee66",
"pricingHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"items": [
{
"clientLineId": "guest-line-1",
"quantity": 1
}
],
"currency": "GEL",
"lines": [
{
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
],
"amounts": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
},
"createdAt": "2026-01-15T13:00:00.000Z",
"expiresAt": "2026-12-31T18:00:00.000Z"
}
}TablePublicOrderScopeDto
Server-derived native tenant, service session and operational guest scope captured by a guest order quote.
organizationIdRequiredOrganization derived from the authenticated native membership; the guest cannot override it.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Organization derived from the authenticated native membership; the guest cannot override it.", "example": "1adea4d1-2821-4a8b-8161-849f3b5973ed" }venueIdRequiredVenue owning this native table session, quote and resulting batch Order.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Venue owning this native table session, quote and resulting batch Order.", "example": "0604de3a-da74-4ad5-89f6-2dfe000d5391" }tableSessionIdRequiredExact native primary service session captured by the guest batch quote.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Exact native primary service session captured by the guest batch quote.", "example": "9b456a94-f735-466f-84ba-67aa863b2905" }tableSessionGuestIdRequiredOperational guest slot that authored the batch and receives its native item assignments; not a CRM guest identity.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Operational guest slot that authored the batch and receives its native item assignments; not a CRM guest identity.", "example": "cbca9476-6eef-441b-874e-918d61f54560" }
Full definition
{
"type": "object",
"properties": {
"organizationId": {
"type": "string",
"format": "uuid",
"description": "Organization derived from the authenticated native membership; the guest cannot override it.",
"example": "1adea4d1-2821-4a8b-8161-849f3b5973ed"
},
"venueId": {
"type": "string",
"format": "uuid",
"description": "Venue owning this native table session, quote and resulting batch Order.",
"example": "0604de3a-da74-4ad5-89f6-2dfe000d5391"
},
"tableSessionId": {
"type": "string",
"format": "uuid",
"description": "Exact native primary service session captured by the guest batch quote.",
"example": "9b456a94-f735-466f-84ba-67aa863b2905"
},
"tableSessionGuestId": {
"type": "string",
"format": "uuid",
"description": "Operational guest slot that authored the batch and receives its native item assignments; not a CRM guest identity.",
"example": "cbca9476-6eef-441b-874e-918d61f54560"
}
},
"description": "Server-derived native tenant, service session and operational guest scope captured by a guest order quote.",
"required": [
"organizationId",
"venueId",
"tableSessionId",
"tableSessionGuestId"
],
"example": {
"organizationId": "1adea4d1-2821-4a8b-8161-849f3b5973ed",
"venueId": "0604de3a-da74-4ad5-89f6-2dfe000d5391",
"tableSessionId": "9b456a94-f735-466f-84ba-67aa863b2905",
"tableSessionGuestId": "cbca9476-6eef-441b-874e-918d61f54560"
}
}TablePublicOrderPricedLineDto
Public line description and configured price resolved by native ordering.
clientLineIdRequiredOriginal caller-stable line identifier associated with this resolved public price.
stringFull definition
{ "type": "string", "maxLength": 80, "description": "Original caller-stable line identifier associated with this resolved public price.", "example": "example-id" }nameRequiredPublic published item or variant name captured by native quote resolution.
stringFull definition
{ "type": "string", "maxLength": 255, "description": "Public published item or variant name captured by native quote resolution.", "example": "Example name" }quantityRequiredQuoted whole-unit quantity for this configured native line.
integerFull definition
{ "type": "integer", "minimum": 1, "description": "Quoted whole-unit quantity for this configured native line.", "example": 1 }unitPriceRequiredNative resolved configured unit price in the quote currency.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "12.00", "description": "Native resolved configured unit price in the quote currency." }totalRequiredNative resolved line total for its quoted quantity and configuration.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "12.00", "description": "Native resolved line total for its quoted quantity and configuration." }
Full definition
{
"type": "object",
"properties": {
"clientLineId": {
"type": "string",
"maxLength": 80,
"description": "Original caller-stable line identifier associated with this resolved public price.",
"example": "example-id"
},
"name": {
"type": "string",
"maxLength": 255,
"description": "Public published item or variant name captured by native quote resolution.",
"example": "Example name"
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Quoted whole-unit quantity for this configured native line.",
"example": 1
},
"unitPrice": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "12.00",
"description": "Native resolved configured unit price in the quote currency."
},
"total": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "12.00",
"description": "Native resolved line total for its quoted quantity and configuration."
}
},
"description": "Public line description and configured price resolved by native ordering.",
"required": [
"clientLineId",
"name",
"quantity",
"unitPrice",
"total"
],
"example": {
"clientLineId": "example-id",
"name": "Example name",
"quantity": 1,
"unitPrice": "12.00",
"total": "12.00"
}
}TablePublicOrderAmountsDto
Canonical native order batch amounts, expressed as decimal strings in the surrounding quote or admission currency.
subtotalRequiredNative batch subtotal before its resolved discounts, service charge and tax, in quote currency.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "12.00", "description": "Native batch subtotal before its resolved discounts, service charge and tax, in quote currency." }discountRequiredNative discount total for this quoted batch; QR does not calculate or override discounts.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "0.00", "description": "Native discount total for this quoted batch; QR does not calculate or override discounts." }serviceChargeRequiredService charge resolved by native financial policy for this batch.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "0.00", "description": "Service charge resolved by native financial policy for this batch." }taxRequiredTax total resolved by native financial policy and its canonical rounding rules.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "0.00", "description": "Tax total resolved by native financial policy and its canonical rounding rules." }totalRequiredNative resulting batch total in quote currency; no payment or tip is collected by order admission.
stringFull definition
{ "type": "string", "pattern": "^\\d+\\.\\d{2}$", "example": "12.00", "description": "Native resulting batch total in quote currency; no payment or tip is collected by order admission." }
Full definition
{
"type": "object",
"properties": {
"subtotal": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "12.00",
"description": "Native batch subtotal before its resolved discounts, service charge and tax, in quote currency."
},
"discount": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "0.00",
"description": "Native discount total for this quoted batch; QR does not calculate or override discounts."
},
"serviceCharge": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "0.00",
"description": "Service charge resolved by native financial policy for this batch."
},
"tax": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "0.00",
"description": "Tax total resolved by native financial policy and its canonical rounding rules."
},
"total": {
"type": "string",
"pattern": "^\\d+\\.\\d{2}$",
"example": "12.00",
"description": "Native resulting batch total in quote currency; no payment or tip is collected by order admission."
}
},
"description": "Canonical native order batch amounts, expressed as decimal strings in the surrounding quote or admission currency.",
"required": [
"subtotal",
"discount",
"serviceCharge",
"tax",
"total"
],
"example": {
"subtotal": "12.00",
"discount": "0.00",
"serviceCharge": "0.00",
"tax": "0.00",
"total": "12.00"
}
}TranslatedErrorDto
Stable error envelope emitted by the global HTTP exception boundary. Domain-specific machine data, when present, is nested under details.
statusCodeRequiredHTTP status code repeated from the response.
integerFull definition
{ "type": "integer", "description": "HTTP status code repeated from the response.", "example": 400 }errorRequiredTranslation key for the HTTP category, such as errors:http.conflict. The specific cause is identified by code and translationKey.
stringFull definition
{ "type": "string", "description": "Translation key for the HTTP category, such as errors:http.conflict. The specific cause is identified by code and translationKey.", "example": "errors.request.invalid" }codeRequiredStable machine-readable domain code, or an HTTP_* fallback when no domain code is provided. Branch on this field and the HTTP status; localized wording never controls retries or business decisions.
stringFull definition
{ "type": "string", "example": "HTTP_BAD_REQUEST", "description": "Stable machine-readable domain code, or an HTTP_* fallback when no domain code is provided. Branch on this field and the HTTP status; localized wording never controls retries or business decisions." }messageRequiredTranslation key, identical to translationKey. The API does not return localized display text. Resolve the key and translationValues in the consuming application.
stringFull definition
{ "type": "string", "example": "errors:http.badRequest", "description": "Translation key, identical to translationKey. The API does not return localized display text. Resolve the key and translationValues in the consuming application." }translationKeyRequiredCanonical translation key, identical to message. Status-specific errors:http.* keys cover unspecified failures. Public keys and EN/RU explanations are listed in Developers; unknown keys require a localized client fallback.
stringFull definition
{ "type": "string", "example": "errors:http.badRequest", "description": "Canonical translation key, identical to message. Status-specific errors:http.* keys cover unspecified failures. Public keys and EN/RU explanations are listed in Developers; unknown keys require a localized client fallback." }translationValuesOptionalOptional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.
objectFull definition
{ "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "example": "example" }, { "type": "number", "example": 0 }, { "type": "boolean", "example": true } ], "example": "example" }, "description": "Optional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.", "example": { "exampleKey": "example" } }validationErrorsOptionalField validation failures with translation keys and stable validator codes. Submitted values and raw validator text are not included.
arrayFull definition
{ "description": "Field validation failures with translation keys and stable validator codes. Submitted values and raw validator text are not included.", "type": "array", "items": { "$ref": "#/components/schemas/ValidationErrorDto" }, "example": [ { "field": "email", "translationKey": "validation:isEmail", "code": "isEmail", "message": "validation:isEmail" } ] }detailsOptionalOptional domain-specific blocker or validation details
oneOfFull definition
{ "description": "Optional domain-specific blocker or validation details", "oneOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/JsonValue" }, "example": [ "example" ] }, { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "example": { "exampleKey": "example" } } ], "example": [ "example" ] }
Full definition
{
"type": "object",
"properties": {
"statusCode": {
"type": "integer",
"description": "HTTP status code repeated from the response.",
"example": 400
},
"error": {
"type": "string",
"description": "Translation key for the HTTP category, such as errors:http.conflict. The specific cause is identified by code and translationKey.",
"example": "errors.request.invalid"
},
"code": {
"type": "string",
"example": "HTTP_BAD_REQUEST",
"description": "Stable machine-readable domain code, or an HTTP_* fallback when no domain code is provided. Branch on this field and the HTTP status; localized wording never controls retries or business decisions."
},
"message": {
"type": "string",
"example": "errors:http.badRequest",
"description": "Translation key, identical to translationKey. The API does not return localized display text. Resolve the key and translationValues in the consuming application."
},
"translationKey": {
"type": "string",
"example": "errors:http.badRequest",
"description": "Canonical translation key, identical to message. Status-specific errors:http.* keys cover unspecified failures. Public keys and EN/RU explanations are listed in Developers; unknown keys require a localized client fallback."
},
"translationValues": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"example": "example"
},
{
"type": "number",
"example": 0
},
{
"type": "boolean",
"example": true
}
],
"example": "example"
},
"description": "Optional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.",
"example": {
"exampleKey": "example"
}
},
"validationErrors": {
"description": "Field validation failures with translation keys and stable validator codes. Submitted values and raw validator text are not included.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationErrorDto"
},
"example": [
{
"field": "email",
"translationKey": "validation:isEmail",
"code": "isEmail",
"message": "validation:isEmail"
}
]
},
"details": {
"description": "Optional domain-specific blocker or validation details",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonValue"
},
"example": [
"example"
]
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/JsonValue"
},
"example": {
"exampleKey": "example"
}
}
],
"example": [
"example"
]
}
},
"required": [
"statusCode",
"error",
"code",
"message",
"translationKey"
],
"description": "Stable error envelope emitted by the global HTTP exception boundary. Domain-specific machine data, when present, is nested under details.",
"example": {
"statusCode": 400,
"error": "errors:http.badRequest",
"code": "HTTP_BAD_REQUEST",
"message": "errors:http.badRequest",
"translationKey": "errors:http.badRequest"
}
}ValidationErrorDto
Field validation failure with a field path, stable validator code and a translation key. Human-readable text belongs to the consuming application.
fieldRequiredPublic field path. Nested properties and array indices are separated by dots.
stringFull definition
{ "type": "string", "example": "email", "description": "Public field path. Nested properties and array indices are separated by dots." }translationKeyRequiredTranslation key for this validator, identical to message. Resolve it using a client dictionary; see the public Developers error catalog.
stringFull definition
{ "type": "string", "example": "validation:isEmail", "description": "Translation key for this validator, identical to message. Resolve it using a client dictionary; see the public Developers error catalog." }codeRequiredStable validator identifier for this field failure. Custom validators may define additional identifiers.
stringFull definition
{ "type": "string", "example": "isEmail", "description": "Stable validator identifier for this field failure. Custom validators may define additional identifiers." }messageRequiredTranslation key describing this field validation failure, identical to translationKey. Submitted values and validator prose are not included.
stringFull definition
{ "type": "string", "example": "validation:isEmail", "description": "Translation key describing this field validation failure, identical to translationKey. Submitted values and validator prose are not included." }translationValuesOptionalOptional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.
objectFull definition
{ "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "example": "example" }, { "type": "number", "example": 0 }, { "type": "boolean", "example": true } ], "example": "example" }, "description": "Optional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.", "example": { "exampleKey": "example" } }
Full definition
{
"type": "object",
"properties": {
"field": {
"type": "string",
"example": "email",
"description": "Public field path. Nested properties and array indices are separated by dots."
},
"translationKey": {
"type": "string",
"example": "validation:isEmail",
"description": "Translation key for this validator, identical to message. Resolve it using a client dictionary; see the public Developers error catalog."
},
"code": {
"type": "string",
"example": "isEmail",
"description": "Stable validator identifier for this field failure. Custom validators may define additional identifiers."
},
"message": {
"type": "string",
"example": "validation:isEmail",
"description": "Translation key describing this field validation failure, identical to translationKey. Submitted values and validator prose are not included."
},
"translationValues": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"example": "example"
},
{
"type": "number",
"example": 0
},
{
"type": "boolean",
"example": true
}
],
"example": "example"
},
"description": "Optional scalar values for placeholders in the translation. Treat values as data, escape them when rendering, and never use them as translation options.",
"example": {
"exampleKey": "example"
}
}
},
"required": [
"field",
"translationKey",
"code",
"message"
],
"description": "Field validation failure with a field path, stable validator code and a translation key. Human-readable text belongs to the consuming application.",
"example": {
"field": "email",
"translationKey": "validation:isEmail",
"code": "isEmail",
"message": "validation:isEmail"
}
}JsonValue
Recursively JSON-safe value used only where the owning contract intentionally allows free-form structured data.
Full definition
{
"oneOf": [
{
"type": "string",
"nullable": true,
"example": "example"
},
{
"type": "number",
"example": 0
},
{
"type": "boolean",
"example": true
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonValue"
},
"example": [
"example"
]
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/JsonValue"
},
"example": {
"exampleKey": "example"
}
}
],
"description": "Recursively JSON-safe value used only where the owning contract intentionally allows free-form structured data.",
"example": "example"
}