Skip to main content
GET
/
api
/
public
/
ai
/
bookings
{
  "Response": {},
  "Response.resource_type": "<string>",
  "Response.partySize": 123,
  "Response.durationMinutes": 123,
  "Response.timeConstraints": {},
  "Response.timeConstraints.kind": "<string>",
  "Response.timeConstraints.startISO": "<string>",
  "Response.timeConstraints.endISO": "<string>",
  "Response.timeConstraints.recurrence": "<string>",
  "Response.location": "<string>",
  "Response.amenities": {},
  "Response.flexibilityMinutes": 123,
  "Response.budget": 123,
  "Response.notes": "<string>",
  "401 Unauthorized": {},
  "400 Bad Request": {}
}

AI Booking Suggestions

Parses a natural language prompt into a structured booking intent, including time window, duration, party size, desired amenities, resource type, and notes. Use the parsed fields to prefill the bookings search UI.

Authentication

Requires an authenticated customer session.

Query Parameters

prompt
string
required
The user’s natural language booking description. Example: “A meeting room for 10 with a projector next Tuesday 3–5pm”.

Response

Response
object
Structured booking intent.
Response.resource_type
string
Resource type classification, e.g. “room|Meeting Room”.
Response.partySize
number
Number of attendees.
Response.durationMinutes
number
Desired booking duration in minutes.
Response.timeConstraints
object
Preferred time window.
Response.timeConstraints.kind
string
Type of time constraint (e.g., fixed, range, recurring).
Response.timeConstraints.startISO
string
ISO 8601 start datetime.
Response.timeConstraints.endISO
string
ISO 8601 end datetime.
Response.timeConstraints.recurrence
string
Recurrence rule, if applicable.
Response.location
string
Named location reference, if extracted.
Response.amenities
array[string]
Desired amenities (keys correspond to booking filters).
Response.flexibilityMinutes
number
Acceptable shift in start time, in minutes.
Response.budget
number
Optional budget indication.
Response.notes
string
Free-form notes extracted from the prompt.

Example Response

{
  "Response": {
    "resource_type": "room|Meeting Room",
    "partySize": 10,
    "durationMinutes": 120,
    "timeConstraints": {
      "kind": "fixed",
      "startISO": "2025-10-07T15:00:00.000Z",
      "endISO": "2025-10-07T17:00:00.000Z",
      "recurrence": ""
    },
    "location": "Downtown",
    "amenities": ["VideoConferencing", "Projector"],
    "flexibilityMinutes": 30,
    "budget": 0,
    "notes": "Board presentation"
  }
}

Usage in Portal

  • Public Bookings – Day and duration shortcuts
    • src/views/public/bookings/components/DayAndDurationShortCuts.tsx (applies AI intent to querystring)
  • GET /api/public/ai/chats/{sessionId} – General-purpose assistant chat
  • GET /api/public/ai/tariffs – Plan suggestions by prompt
  • GET /api/public/ai/products – Product suggestions by prompt

Error Responses

401 Unauthorized
error
The user is not authenticated.
400 Bad Request
error
Missing or invalid prompt.