Authentication
A Hallify account session is not required. Follow this operation’s prerequisites and restrictions.
Connection guideParameters
publicHandlePath · RequiredOpaque public channel handle used to resolve one venue’s published guest-facing configuration; it is not a credential.
stringFull definition
{ "type": "string", "example": "example" }originHeader · RequiredBrowser Origin evaluated against the public channel allowlist; a missing or disallowed origin is rejected without exposing private venue configuration.
stringFull definition
{ "type": "string", "example": "example" }
Responses
200Returns the public reservation channel configuration without private venue data.
Full definition
{
"$ref": "#/components/schemas/ReservationPublicConfigResultDto"
}{
"publicHandle": "example",
"venue": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
},
"termsVersion": "example",
"privacyVersion": "example",
"waitlistStatus": "CLOSED",
"servicePeriods": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}Schemas
ReservationPublicConfigResultDto
Guest-safe public booking configuration.
publicHandleRequiredPublic booking channel handle.
stringFull definition
{ "type": "string", "description": "Public booking channel handle.", "example": "example" }venueRequiredPublic venue identity and scheduling time zone.
objectFull definition
{ "type": "object", "description": "Public venue identity and scheduling time zone.", "required": [ "id", "name", "timeZone" ], "properties": { "id": { "type": "string", "description": "Venue identifier.", "format": "uuid", "example": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0" }, "name": { "type": "string", "description": "Venue display name.", "example": "Example name" }, "timeZone": { "type": "string", "description": "IANA time zone used for booking schedules.", "example": "Asia/Tbilisi" } }, "example": { "id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0", "name": "Example name", "timeZone": "Asia/Tbilisi" } }termsVersionRequiredTerms version that a new booking must accept.
stringFull definition
{ "type": "string", "description": "Terms version that a new booking must accept.", "example": "example" }privacyVersionRequiredPrivacy notice version that a new booking must accept.
stringFull definition
{ "type": "string", "description": "Privacy notice version that a new booking must accept.", "example": "example" }waitlistStatusRequiredEffective waitlist availability after scheduled pause expiry.
stringFull definition
{ "type": "string", "description": "Effective waitlist availability after scheduled pause expiry.", "enum": [ "CLOSED", "OPEN", "PAUSED" ], "example": "CLOSED" }servicePeriodsRequiredActive public service periods.
arrayFull definition
{ "type": "array", "description": "Active public service periods.", "items": { "type": "object", "description": "Publicly bookable service period projection.", "required": [ "id", "name", "dayOfWeek", "startsAtMinute", "endsAtMinute", "slotIntervalMinutes", "maxPartySize", "bookingMode" ], "properties": { "id": { "type": "string", "description": "Service period identifier.", "format": "uuid", "example": "b926f345-3866-4e0a-8870-720a7d6d91be" }, "name": { "type": "string", "description": "Guest-facing service period name.", "example": "Example name" }, "dayOfWeek": { "type": "integer", "description": "Recurring weekday in venue local time.", "example": 0 }, "startsAtMinute": { "type": "integer", "description": "Local opening minute after midnight.", "example": 0 }, "endsAtMinute": { "type": "integer", "description": "Local closing minute after midnight.", "example": 0 }, "slotIntervalMinutes": { "type": "integer", "description": "Minutes between offered start times.", "example": 0 }, "maxPartySize": { "type": "integer", "description": "Maximum bookable party size.", "example": 0 }, "bookingMode": { "type": "string", "description": "Whether a booking is confirmed instantly or requires review.", "enum": [ "INSTANT", "REQUEST" ], "example": "INSTANT" } }, "example": { "id": "b926f345-3866-4e0a-8870-720a7d6d91be", "name": "Example name", "dayOfWeek": 0, "startsAtMinute": 0, "endsAtMinute": 0, "slotIntervalMinutes": 0, "maxPartySize": 0, "bookingMode": "INSTANT" } }, "example": [ { "id": "b926f345-3866-4e0a-8870-720a7d6d91be", "name": "Example name", "dayOfWeek": 0, "startsAtMinute": 0, "endsAtMinute": 0, "slotIntervalMinutes": 0, "maxPartySize": 0, "bookingMode": "INSTANT" } ] }
Full definition
{
"type": "object",
"description": "Guest-safe public booking configuration.",
"required": [
"publicHandle",
"venue",
"termsVersion",
"privacyVersion",
"waitlistStatus",
"servicePeriods"
],
"properties": {
"publicHandle": {
"type": "string",
"description": "Public booking channel handle.",
"example": "example"
},
"venue": {
"type": "object",
"description": "Public venue identity and scheduling time zone.",
"required": [
"id",
"name",
"timeZone"
],
"properties": {
"id": {
"type": "string",
"description": "Venue identifier.",
"format": "uuid",
"example": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0"
},
"name": {
"type": "string",
"description": "Venue display name.",
"example": "Example name"
},
"timeZone": {
"type": "string",
"description": "IANA time zone used for booking schedules.",
"example": "Asia/Tbilisi"
}
},
"example": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
}
},
"termsVersion": {
"type": "string",
"description": "Terms version that a new booking must accept.",
"example": "example"
},
"privacyVersion": {
"type": "string",
"description": "Privacy notice version that a new booking must accept.",
"example": "example"
},
"waitlistStatus": {
"type": "string",
"description": "Effective waitlist availability after scheduled pause expiry.",
"enum": [
"CLOSED",
"OPEN",
"PAUSED"
],
"example": "CLOSED"
},
"servicePeriods": {
"type": "array",
"description": "Active public service periods.",
"items": {
"type": "object",
"description": "Publicly bookable service period projection.",
"required": [
"id",
"name",
"dayOfWeek",
"startsAtMinute",
"endsAtMinute",
"slotIntervalMinutes",
"maxPartySize",
"bookingMode"
],
"properties": {
"id": {
"type": "string",
"description": "Service period identifier.",
"format": "uuid",
"example": "b926f345-3866-4e0a-8870-720a7d6d91be"
},
"name": {
"type": "string",
"description": "Guest-facing service period name.",
"example": "Example name"
},
"dayOfWeek": {
"type": "integer",
"description": "Recurring weekday in venue local time.",
"example": 0
},
"startsAtMinute": {
"type": "integer",
"description": "Local opening minute after midnight.",
"example": 0
},
"endsAtMinute": {
"type": "integer",
"description": "Local closing minute after midnight.",
"example": 0
},
"slotIntervalMinutes": {
"type": "integer",
"description": "Minutes between offered start times.",
"example": 0
},
"maxPartySize": {
"type": "integer",
"description": "Maximum bookable party size.",
"example": 0
},
"bookingMode": {
"type": "string",
"description": "Whether a booking is confirmed instantly or requires review.",
"enum": [
"INSTANT",
"REQUEST"
],
"example": "INSTANT"
}
},
"example": {
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
},
"example": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}
},
"example": {
"publicHandle": "example",
"venue": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
},
"termsVersion": "example",
"privacyVersion": "example",
"waitlistStatus": "CLOSED",
"servicePeriods": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}
}