Authentication
Authorization: Bearer <HALLIFY_GUEST_PAYMENT_ACCESS_TOKEN>Private guest payment capability bound to its native actor, tenant, source, transport origin and current authority. Explicit consent is required for collection; exact original receipt disclosure does not grant a new monetary command or a Hallify account session.
Parameters
originHeader · RequiredActual HTTP Origin of the caller, which must exactly match the payment access's current transport audience.
stringFull definition
{ "type": "string", "maxLength": 2048, "example": "example" }accessIdPath · RequiredNoncredential UUID returned when native payment access is opened or handed off. Pair it with that access's bearer capability; the UUID alone grants no authority.
string · uuidFull definition
{ "format": "uuid", "type": "string", "example": "9b6163a8-afea-4877-818b-8e2ae28a2845" }
Responses
200Current collectible native bill, including zero balances where applicable, with authorized item availability and eligible merchant choices.
Full definition
{
"$ref": "#/components/schemas/GuestPaymentBillDto"
}{
"payee": {
"venueName": "Example name",
"legalName": "Example name"
},
"currency": "USD",
"collectibleAmount": "12.50",
"merchantChoices": [
{
"merchantBindingId": "a9365a46-0f50-4efd-89fb-cd79e20e0439",
"provider": "BOG_PAYMENT_MANAGER",
"label": "example"
}
],
"orders": [
{
"orderId": "f3127edf-ce4f-4da7-8be5-81b962024e6c",
"revision": 1,
"collectibleAmount": "12.50",
"items": [
{
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
]
}
]
}400The bounded request or command key is malformed.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 400,
"error": "errors:http.badRequest",
"code": "HTTP_BAD_REQUEST",
"message": "errors:http.badRequest",
"translationKey": "errors:http.badRequest"
}401Rejects a missing, malformed, expired, revoked, or invalid guestPaymentAccessToken credential at the owning domain boundary.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 401,
"error": "errors:http.unauthorized",
"code": "HTTP_UNAUTHORIZED",
"message": "errors:http.unauthorized",
"translationKey": "errors:http.unauthorized"
}404Current native authority, private payment capability or the exact original checkout 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"
}409The native source, reviewed bill, consent revision or concurrent command state changed.
Full definition
{
"$ref": "#/components/schemas/TranslatedErrorDto"
}{
"statusCode": 409,
"error": "errors:http.conflict",
"code": "HTTP_CONFLICT",
"message": "errors:http.conflict",
"translationKey": "errors:http.conflict"
}Schemas
GuestPaymentBillDto
Current collectible native bill and eligible merchant choices for payment preparation under the caller's origin-bound guest access.
purposeOptionalPresent for a genuine reservation guarantee. Order bill responses keep their existing shape.
stringFull definition
{ "type": "string", "enum": [ "RESERVATION_GUARANTEE" ], "description": "Present for a genuine reservation guarantee. Order bill responses keep their existing shape.", "example": "RESERVATION_GUARANTEE" }guaranteeOptionalReservation guarantee review; Orders are empty for this source.
allOfFull definition
{ "description": "Reservation guarantee review; Orders are empty for this source.", "allOf": [ { "$ref": "#/components/schemas/GuestPaymentGuaranteeReviewDto" } ], "example": { "reservationId": "b21b31e5-56ea-442f-8594-270e4efd0f5e", "guaranteeRequirementId": "97101ce8-3e48-412d-8520-b38e371ebe3b", "revision": 1, "kind": "DEPOSIT", "termsHash": null, "dueAt": null, "authorizationExpiresAt": null, "terms": null } }payeeRequiredCurrent server-derived venue and legal payee identity for this native bill; financial review retains its own immutable snapshot.
allOfFull definition
{ "description": "Current server-derived venue and legal payee identity for this native bill; financial review retains its own immutable snapshot.", "allOf": [ { "$ref": "#/components/schemas/GuestPaymentPayeeDto" } ], "example": { "venueName": "Example name", "legalName": "Example name" } }currencyRequiredVenue bill currency governing all principal and later tip amounts in this guest payment flow.
stringFull definition
{ "type": "string", "enum": [ "USD", "GEL" ], "description": "Venue bill currency governing all principal and later tip amounts in this guest payment flow.", "example": "USD" }collectibleAmountRequiredAggregate collectible principal across the returned native Orders, excluding a new tip, as a two-decimal string; 0.00 means no principal is currently available.
stringFull definition
{ "type": "string", "example": "12.50", "description": "Aggregate collectible principal across the returned native Orders, excluding a new tip, as a two-decimal string; 0.00 means no principal is currently available." }merchantChoicesRequiredCurrently eligible configured provider choices for the collectible Orders, bounded by server selection limits; the list is empty when no principal is collectible.
arrayFull definition
{ "description": "Currently eligible configured provider choices for the collectible Orders, bounded by server selection limits; the list is empty when no principal is collectible.", "type": "array", "items": { "$ref": "#/components/schemas/GuestPaymentMerchantChoiceDto" }, "example": [ { "merchantBindingId": "a9365a46-0f50-4efd-89fb-cd79e20e0439", "provider": "BOG_PAYMENT_MANAGER", "label": "example" } ] }ordersRequiredCanonical current bill projections for native Orders admitted by this payment-purpose scope.
arrayFull definition
{ "description": "Canonical current bill projections for native Orders admitted by this payment-purpose scope.", "type": "array", "items": { "$ref": "#/components/schemas/GuestPaymentOrderBillDto" }, "example": [ { "orderId": "f3127edf-ce4f-4da7-8be5-81b962024e6c", "revision": 1, "collectibleAmount": "12.50", "items": [ { "orderItemId": "48069d23-be97-4039-8099-9db268ddf890", "label": "Example name", "availableQuantity": "1.0000", "collectibleAmount": "12.50" } ] } ] }
Full definition
{
"type": "object",
"properties": {
"purpose": {
"type": "string",
"enum": [
"RESERVATION_GUARANTEE"
],
"description": "Present for a genuine reservation guarantee. Order bill responses keep their existing shape.",
"example": "RESERVATION_GUARANTEE"
},
"guarantee": {
"description": "Reservation guarantee review; Orders are empty for this source.",
"allOf": [
{
"$ref": "#/components/schemas/GuestPaymentGuaranteeReviewDto"
}
],
"example": {
"reservationId": "b21b31e5-56ea-442f-8594-270e4efd0f5e",
"guaranteeRequirementId": "97101ce8-3e48-412d-8520-b38e371ebe3b",
"revision": 1,
"kind": "DEPOSIT",
"termsHash": null,
"dueAt": null,
"authorizationExpiresAt": null,
"terms": null
}
},
"payee": {
"description": "Current server-derived venue and legal payee identity for this native bill; financial review retains its own immutable snapshot.",
"allOf": [
{
"$ref": "#/components/schemas/GuestPaymentPayeeDto"
}
],
"example": {
"venueName": "Example name",
"legalName": "Example name"
}
},
"currency": {
"type": "string",
"enum": [
"USD",
"GEL"
],
"description": "Venue bill currency governing all principal and later tip amounts in this guest payment flow.",
"example": "USD"
},
"collectibleAmount": {
"type": "string",
"example": "12.50",
"description": "Aggregate collectible principal across the returned native Orders, excluding a new tip, as a two-decimal string; 0.00 means no principal is currently available."
},
"merchantChoices": {
"description": "Currently eligible configured provider choices for the collectible Orders, bounded by server selection limits; the list is empty when no principal is collectible.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GuestPaymentMerchantChoiceDto"
},
"example": [
{
"merchantBindingId": "a9365a46-0f50-4efd-89fb-cd79e20e0439",
"provider": "BOG_PAYMENT_MANAGER",
"label": "example"
}
]
},
"orders": {
"description": "Canonical current bill projections for native Orders admitted by this payment-purpose scope.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GuestPaymentOrderBillDto"
},
"example": [
{
"orderId": "f3127edf-ce4f-4da7-8be5-81b962024e6c",
"revision": 1,
"collectibleAmount": "12.50",
"items": [
{
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
]
}
]
}
},
"description": "Current collectible native bill and eligible merchant choices for payment preparation under the caller's origin-bound guest access.",
"required": [
"payee",
"currency",
"collectibleAmount",
"merchantChoices",
"orders"
],
"example": {
"payee": {
"venueName": "Example name",
"legalName": "Example name"
},
"currency": "USD",
"collectibleAmount": "12.50",
"merchantChoices": [
{
"merchantBindingId": "a9365a46-0f50-4efd-89fb-cd79e20e0439",
"provider": "BOG_PAYMENT_MANAGER",
"label": "example"
}
],
"orders": [
{
"orderId": "f3127edf-ce4f-4da7-8be5-81b962024e6c",
"revision": 1,
"collectibleAmount": "12.50",
"items": [
{
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
]
}
]
}
}GuestPaymentGuaranteeReviewDto
The genuine native reservation guarantee being reviewed; this projection contains no Order target or private grant/capability.
reservationIdRequiredNative Reservation UUID.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Native Reservation UUID.", "example": "b21b31e5-56ea-442f-8594-270e4efd0f5e" }guaranteeRequirementIdRequiredExact original guarantee requirement UUID; another agreement does not adopt its funds.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "Exact original guarantee requirement UUID; another agreement does not adopt its funds.", "example": "97101ce8-3e48-412d-8520-b38e371ebe3b" }revisionRequiredNative requirement revision used by the review.
integerFull definition
{ "type": "integer", "minimum": 1, "description": "Native requirement revision used by the review.", "example": 1 }kindRequiredNative guarantee kind determining automatic capture or manual card hold.
stringFull definition
{ "type": "string", "enum": [ "DEPOSIT", "PREPAID", "CARD_HOLD" ], "description": "Native guarantee kind determining automatic capture or manual card hold.", "example": "DEPOSIT" }termsHashRequiredDigest of the accepted native financial agreement; null only for retained legacy evidence.
string · nullFull definition
{ "type": "string", "nullable": true, "minLength": 64, "maxLength": 64, "pattern": "^[a-f0-9]{64}$", "description": "Digest of the accepted native financial agreement; null only for retained legacy evidence.", "example": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" }dueAtRequiredNative funding deadline retained by this review.
string · date-time · nullFull definition
{ "type": "string", "nullable": true, "format": "date-time", "description": "Native funding deadline retained by this review.", "example": "2026-12-31T18:00:00.000Z" }authorizationExpiresAtRequiredNative authorization expiry when available. Initial review may be null; actual authenticated provider expiry controls protection.
string · date-time · nullFull definition
{ "type": "string", "nullable": true, "format": "date-time", "description": "Native authorization expiry when available. Initial review may be null; actual authenticated provider expiry controls protection.", "example": "2026-12-31T18:00:00.000Z" }termsRequiredExact accepted native cancellation and no-show financial terms projected for review.
object · nullFull definition
{ "nullable": true, "description": "Exact accepted native cancellation and no-show financial terms projected for review.", "type": "object", "properties": { "kind": { "type": "string", "enum": [ "DEPOSIT", "PREPAID", "CARD_HOLD" ], "description": "Accepted guarantee type.", "example": "DEPOSIT" }, "amountBasis": { "type": "string", "enum": [ "FIXED", "PER_GUEST" ], "description": "Accepted fixed or per-guest amount calculation.", "example": "FIXED" }, "unitAmount": { "type": "string", "pattern": "^(0|[1-9]\\d*)\\.\\d{2}$", "description": "Accepted two-decimal unit principal.", "example": "1.00" }, "totalAmount": { "type": "string", "pattern": "^(0|[1-9]\\d*)\\.\\d{2}$", "description": "Accepted two-decimal total guarantee principal.", "example": "1.00" }, "currency": { "type": "string", "minLength": 3, "maxLength": 3, "pattern": "^[A-Z]{3}$", "description": "Currency of the accepted guarantee.", "example": "GEL" }, "partySize": { "type": "integer", "minimum": 1, "description": "Party size bound to the accepted financial terms.", "example": 1 }, "scheduledAt": { "type": "string", "format": "date-time", "description": "Scheduled reservation instant bound to this agreement.", "example": "2026-01-15T12:00:00.000Z" }, "dueAt": { "type": "string", "format": "date-time", "description": "Accepted guarantee funding deadline.", "example": "2026-12-31T18:00:00.000Z" }, "freeCancellationAt": { "type": "string", "format": "date-time", "description": "Accepted free-cancellation deadline.", "example": "2026-01-15T12:00:00.000Z" }, "noShowAfter": { "type": "string", "format": "date-time", "description": "Accepted no-show decision instant; actual card authorization must cover the required protection interval.", "example": "2026-01-15T12:00:00.000Z" }, "forfeitOnLateCancellation": { "type": "boolean", "description": "Whether the accepted terms permit forfeiture after late cancellation.", "example": true }, "forfeitOnNoShow": { "type": "boolean", "description": "Whether the accepted terms permit forfeiture for no-show.", "example": true }, "termsVersion": { "type": "string", "description": "Accepted native terms version.", "example": "example" }, "privacyVersion": { "type": "string", "description": "Accepted native privacy version.", "example": "example" } }, "required": [ "kind", "amountBasis", "unitAmount", "totalAmount", "currency", "partySize", "scheduledAt", "dueAt", "freeCancellationAt", "noShowAfter", "forfeitOnLateCancellation", "forfeitOnNoShow", "termsVersion", "privacyVersion" ], "example": { "kind": "DEPOSIT", "amountBasis": "FIXED", "unitAmount": "1.00", "totalAmount": "1.00", "currency": "GEL", "partySize": 1, "scheduledAt": "2026-01-15T12:00:00.000Z", "dueAt": "2026-12-31T18:00:00.000Z", "freeCancellationAt": "2026-01-15T12:00:00.000Z", "noShowAfter": "2026-01-15T12:00:00.000Z", "forfeitOnLateCancellation": true, "forfeitOnNoShow": true, "termsVersion": "example", "privacyVersion": "example" } }
Full definition
{
"type": "object",
"properties": {
"reservationId": {
"type": "string",
"format": "uuid",
"description": "Native Reservation UUID.",
"example": "b21b31e5-56ea-442f-8594-270e4efd0f5e"
},
"guaranteeRequirementId": {
"type": "string",
"format": "uuid",
"description": "Exact original guarantee requirement UUID; another agreement does not adopt its funds.",
"example": "97101ce8-3e48-412d-8520-b38e371ebe3b"
},
"revision": {
"type": "integer",
"minimum": 1,
"description": "Native requirement revision used by the review.",
"example": 1
},
"kind": {
"type": "string",
"enum": [
"DEPOSIT",
"PREPAID",
"CARD_HOLD"
],
"description": "Native guarantee kind determining automatic capture or manual card hold.",
"example": "DEPOSIT"
},
"termsHash": {
"type": "string",
"nullable": true,
"minLength": 64,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Digest of the accepted native financial agreement; null only for retained legacy evidence.",
"example": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"
},
"dueAt": {
"type": "string",
"nullable": true,
"format": "date-time",
"description": "Native funding deadline retained by this review.",
"example": "2026-12-31T18:00:00.000Z"
},
"authorizationExpiresAt": {
"type": "string",
"nullable": true,
"format": "date-time",
"description": "Native authorization expiry when available. Initial review may be null; actual authenticated provider expiry controls protection.",
"example": "2026-12-31T18:00:00.000Z"
},
"terms": {
"nullable": true,
"description": "Exact accepted native cancellation and no-show financial terms projected for review.",
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"DEPOSIT",
"PREPAID",
"CARD_HOLD"
],
"description": "Accepted guarantee type.",
"example": "DEPOSIT"
},
"amountBasis": {
"type": "string",
"enum": [
"FIXED",
"PER_GUEST"
],
"description": "Accepted fixed or per-guest amount calculation.",
"example": "FIXED"
},
"unitAmount": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.\\d{2}$",
"description": "Accepted two-decimal unit principal.",
"example": "1.00"
},
"totalAmount": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.\\d{2}$",
"description": "Accepted two-decimal total guarantee principal.",
"example": "1.00"
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"pattern": "^[A-Z]{3}$",
"description": "Currency of the accepted guarantee.",
"example": "GEL"
},
"partySize": {
"type": "integer",
"minimum": 1,
"description": "Party size bound to the accepted financial terms.",
"example": 1
},
"scheduledAt": {
"type": "string",
"format": "date-time",
"description": "Scheduled reservation instant bound to this agreement.",
"example": "2026-01-15T12:00:00.000Z"
},
"dueAt": {
"type": "string",
"format": "date-time",
"description": "Accepted guarantee funding deadline.",
"example": "2026-12-31T18:00:00.000Z"
},
"freeCancellationAt": {
"type": "string",
"format": "date-time",
"description": "Accepted free-cancellation deadline.",
"example": "2026-01-15T12:00:00.000Z"
},
"noShowAfter": {
"type": "string",
"format": "date-time",
"description": "Accepted no-show decision instant; actual card authorization must cover the required protection interval.",
"example": "2026-01-15T12:00:00.000Z"
},
"forfeitOnLateCancellation": {
"type": "boolean",
"description": "Whether the accepted terms permit forfeiture after late cancellation.",
"example": true
},
"forfeitOnNoShow": {
"type": "boolean",
"description": "Whether the accepted terms permit forfeiture for no-show.",
"example": true
},
"termsVersion": {
"type": "string",
"description": "Accepted native terms version.",
"example": "example"
},
"privacyVersion": {
"type": "string",
"description": "Accepted native privacy version.",
"example": "example"
}
},
"required": [
"kind",
"amountBasis",
"unitAmount",
"totalAmount",
"currency",
"partySize",
"scheduledAt",
"dueAt",
"freeCancellationAt",
"noShowAfter",
"forfeitOnLateCancellation",
"forfeitOnNoShow",
"termsVersion",
"privacyVersion"
],
"example": {
"kind": "DEPOSIT",
"amountBasis": "FIXED",
"unitAmount": "1.00",
"totalAmount": "1.00",
"currency": "GEL",
"partySize": 1,
"scheduledAt": "2026-01-15T12:00:00.000Z",
"dueAt": "2026-12-31T18:00:00.000Z",
"freeCancellationAt": "2026-01-15T12:00:00.000Z",
"noShowAfter": "2026-01-15T12:00:00.000Z",
"forfeitOnLateCancellation": true,
"forfeitOnNoShow": true,
"termsVersion": "example",
"privacyVersion": "example"
}
}
},
"description": "The genuine native reservation guarantee being reviewed; this projection contains no Order target or private grant/capability.",
"required": [
"reservationId",
"guaranteeRequirementId",
"revision",
"kind",
"termsHash",
"dueAt",
"authorizationExpiresAt",
"terms"
],
"example": {
"reservationId": "b21b31e5-56ea-442f-8594-270e4efd0f5e",
"guaranteeRequirementId": "97101ce8-3e48-412d-8520-b38e371ebe3b",
"revision": 1,
"kind": "DEPOSIT",
"termsHash": null,
"dueAt": null,
"authorizationExpiresAt": null,
"terms": null
}
}GuestPaymentPayeeDto
Server-derived restaurant and legal payee names from the exact authorized venue and legal entity. Quotes retain this display identity inside the immutable consent manifest.
venueNameRequiredCanonical name of the native venue receiving the reviewed Order payment, derived within the current organization, venue and legal-entity scope; never a client label or staff merchant-binding label.
stringFull definition
{ "type": "string", "minLength": 1, "maxLength": 255, "description": "Canonical name of the native venue receiving the reviewed Order payment, derived within the current organization, venue and legal-entity scope; never a client label or staff merchant-binding label.", "example": "Example name" }legalNameRequiredCanonical legal name of the payee entity owning this authorized venue and merchant custody. This is the retained legal-entity identity, not a guessed PSP statement descriptor.
stringFull definition
{ "type": "string", "minLength": 1, "maxLength": 255, "description": "Canonical legal name of the payee entity owning this authorized venue and merchant custody. This is the retained legal-entity identity, not a guessed PSP statement descriptor.", "example": "Example name" }
Full definition
{
"type": "object",
"properties": {
"venueName": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Canonical name of the native venue receiving the reviewed Order payment, derived within the current organization, venue and legal-entity scope; never a client label or staff merchant-binding label.",
"example": "Example name"
},
"legalName": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Canonical legal name of the payee entity owning this authorized venue and merchant custody. This is the retained legal-entity identity, not a guessed PSP statement descriptor.",
"example": "Example name"
}
},
"description": "Server-derived restaurant and legal payee names from the exact authorized venue and legal entity. Quotes retain this display identity inside the immutable consent manifest.",
"required": [
"venueName",
"legalName"
],
"example": {
"venueName": "Example name",
"legalName": "Example name"
}
}GuestPaymentMerchantChoiceDto
Public merchant-binding choice admitted by current venue configuration and the collectible native Order scope.
merchantBindingIdRequiredUUID of the eligible venue merchant binding to submit when reviewing a payment quote.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "UUID of the eligible venue merchant binding to submit when reviewing a payment quote.", "example": "a9365a46-0f50-4efd-89fb-cd79e20e0439" }providerRequiredConfigured payment provider serving this merchant binding; the current merchant configuration controls its execution mode and capabilities.
stringFull definition
{ "type": "string", "enum": [ "BOG_PAYMENT_MANAGER", "TBC_CHECKOUT", "STRIPE_CONNECT" ], "description": "Configured payment provider serving this merchant binding; the current merchant configuration controls its execution mode and capabilities.", "example": "BOG_PAYMENT_MANAGER" }labelRequiredPublic provider display label for this eligible payment choice.
stringFull definition
{ "type": "string", "description": "Public provider display label for this eligible payment choice.", "example": "example" }
Full definition
{
"type": "object",
"properties": {
"merchantBindingId": {
"type": "string",
"format": "uuid",
"description": "UUID of the eligible venue merchant binding to submit when reviewing a payment quote.",
"example": "a9365a46-0f50-4efd-89fb-cd79e20e0439"
},
"provider": {
"type": "string",
"enum": [
"BOG_PAYMENT_MANAGER",
"TBC_CHECKOUT",
"STRIPE_CONNECT"
],
"description": "Configured payment provider serving this merchant binding; the current merchant configuration controls its execution mode and capabilities.",
"example": "BOG_PAYMENT_MANAGER"
},
"label": {
"type": "string",
"description": "Public provider display label for this eligible payment choice.",
"example": "example"
}
},
"description": "Public merchant-binding choice admitted by current venue configuration and the collectible native Order scope.",
"required": [
"merchantBindingId",
"provider",
"label"
],
"example": {
"merchantBindingId": "a9365a46-0f50-4efd-89fb-cd79e20e0439",
"provider": "BOG_PAYMENT_MANAGER",
"label": "example"
}
}GuestPaymentOrderBillDto
Current collectible principal, revision and authorized item availability for one native Order, produced by the canonical Orders calculation.
orderIdRequiredUUID of the native Order included in the caller's current payment-purpose source.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "UUID of the native Order included in the caller's current payment-purpose source.", "example": "f3127edf-ce4f-4da7-8be5-81b962024e6c" }revisionRequiredNative Order revision observed while calculating this bill; subsequent canonical quote preparation revalidates current source revisions.
integerFull definition
{ "type": "integer", "minimum": 1, "description": "Native Order revision observed while calculating this bill; subsequent canonical quote preparation revalidates current source revisions.", "example": 1 }collectibleAmountRequiredCurrent collectible principal for this Order after payments, holds and native allocation limits, excluding a new tip, as a two-decimal string in bill currency.
stringFull definition
{ "type": "string", "example": "12.50", "description": "Current collectible principal for this Order after payments, holds and native allocation limits, excluding a new tip, as a two-decimal string in bill currency." }itemsRequiredNative item positions permitted for this guest bill, including their remaining collectible quantities and principals.
arrayFull definition
{ "description": "Native item positions permitted for this guest bill, including their remaining collectible quantities and principals.", "type": "array", "items": { "$ref": "#/components/schemas/GuestPaymentBillItemDto" }, "example": [ { "orderItemId": "48069d23-be97-4039-8099-9db268ddf890", "label": "Example name", "availableQuantity": "1.0000", "collectibleAmount": "12.50" } ] }
Full definition
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"format": "uuid",
"description": "UUID of the native Order included in the caller's current payment-purpose source.",
"example": "f3127edf-ce4f-4da7-8be5-81b962024e6c"
},
"revision": {
"type": "integer",
"minimum": 1,
"description": "Native Order revision observed while calculating this bill; subsequent canonical quote preparation revalidates current source revisions.",
"example": 1
},
"collectibleAmount": {
"type": "string",
"example": "12.50",
"description": "Current collectible principal for this Order after payments, holds and native allocation limits, excluding a new tip, as a two-decimal string in bill currency."
},
"items": {
"description": "Native item positions permitted for this guest bill, including their remaining collectible quantities and principals.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GuestPaymentBillItemDto"
},
"example": [
{
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
]
}
},
"description": "Current collectible principal, revision and authorized item availability for one native Order, produced by the canonical Orders calculation.",
"required": [
"orderId",
"revision",
"collectibleAmount",
"items"
],
"example": {
"orderId": "f3127edf-ce4f-4da7-8be5-81b962024e6c",
"revision": 1,
"collectibleAmount": "12.50",
"items": [
{
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
]
}
}GuestPaymentBillItemDto
Authorized native bill position with its captured name, remaining quantity and collectible principal after canonical payment and hold calculations.
orderItemIdRequiredUUID of the native Order item available within the enclosing Order and current guest allocation scope.
string · uuidFull definition
{ "type": "string", "format": "uuid", "description": "UUID of the native Order item available within the enclosing Order and current guest allocation scope.", "example": "48069d23-be97-4039-8099-9db268ddf890" }labelRequiredName snapshot captured on the native Order item and shown with this bill position.
stringFull definition
{ "type": "string", "description": "Name snapshot captured on the native Order item and shown with this bill position.", "example": "Example name" }availableQuantityRequiredRemaining item quantity collectible under the current native allocation after prior payments and active holds, as a four-decimal string; zero is represented as 0.0000.
stringFull definition
{ "type": "string", "example": "1.0000", "description": "Remaining item quantity collectible under the current native allocation after prior payments and active holds, as a four-decimal string; zero is represented as 0.0000." }collectibleAmountRequiredCollectible principal for this available item portion in bill currency, excluding any new tip, as a two-decimal string; it can be 0.00.
stringFull definition
{ "type": "string", "example": "12.50", "description": "Collectible principal for this available item portion in bill currency, excluding any new tip, as a two-decimal string; it can be 0.00." }
Full definition
{
"type": "object",
"properties": {
"orderItemId": {
"type": "string",
"format": "uuid",
"description": "UUID of the native Order item available within the enclosing Order and current guest allocation scope.",
"example": "48069d23-be97-4039-8099-9db268ddf890"
},
"label": {
"type": "string",
"description": "Name snapshot captured on the native Order item and shown with this bill position.",
"example": "Example name"
},
"availableQuantity": {
"type": "string",
"example": "1.0000",
"description": "Remaining item quantity collectible under the current native allocation after prior payments and active holds, as a four-decimal string; zero is represented as 0.0000."
},
"collectibleAmount": {
"type": "string",
"example": "12.50",
"description": "Collectible principal for this available item portion in bill currency, excluding any new tip, as a two-decimal string; it can be 0.00."
}
},
"description": "Authorized native bill position with its captured name, remaining quantity and collectible principal after canonical payment and hold calculations.",
"required": [
"orderItemId",
"label",
"availableQuantity",
"collectibleAmount"
],
"example": {
"orderItemId": "48069d23-be97-4039-8099-9db268ddf890",
"label": "Example name",
"availableQuantity": "1.0000",
"collectibleAmount": "12.50"
}
}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"
}