Skip to main content
POST
/
v3
/
appointment-definitions
Add Appointment Definition
curl --request POST \
  --url https://api.{tenant}.getomneo.com/api/v3/appointment-definitions \
  --header 'Content-Type: application/json' \
  --data '
{
  "handle": "<string>",
  "name": "<string>",
  "duration_minutes": 2,
  "booking_questionnaire": {
    "name": "<string>",
    "handle": "<string>",
    "description": "<string>",
    "is_active": true,
    "meta": [
      "<string>"
    ],
    "questions": [
      {
        "mapping_key": "<string>",
        "question_id": 123,
        "question_handle": "<string>",
        "question_version_id": 123,
        "sort_order": 1,
        "is_required": true,
        "visibility_condition": [
          "<string>"
        ],
        "is_active": true
      }
    ],
    "pages": [
      {
        "title": "<string>",
        "description": "<string>",
        "image_url": "<string>",
        "section_header": "<string>",
        "sort_order": 1,
        "questions": [
          {
            "mapping_key": "<string>",
            "question_id": 123,
            "question_handle": "<string>",
            "question_version_id": 123,
            "sort_order": 1,
            "is_required": true,
            "visibility_condition": [
              "<string>"
            ],
            "is_active": true
          }
        ]
      }
    ]
  },
  "normal_hours": [
    {
      "available_from": "<string>",
      "available_until": "<string>"
    }
  ],
  "description": "<string>",
  "is_published": true,
  "is_archived": true,
  "buffer_before_minutes": 1,
  "buffer_after_minutes": 1,
  "min_lead_minutes": 1,
  "max_advance_days": 2,
  "slot_interval_minutes": 2,
  "allow_customer_booking": true,
  "allow_walk_in": true,
  "requires_staff": true,
  "customer_must_select_staff": true,
  "use_staff_from_location": true,
  "max_concurrent_bookings": 2,
  "allow_waitlist": true,
  "allow_queue": true,
  "meta": [
    "<string>"
  ],
  "created_target_id": 123,
  "confirmed_target_id": 123,
  "cancelled_target_id": 123,
  "rejected_target_id": 123,
  "reminder_target_id": 123,
  "notify_created_offset_days": 1,
  "notify_created_offset_hours": 1,
  "notify_confirmed_offset_days": 1,
  "notify_confirmed_offset_hours": 1,
  "notify_cancelled_offset_days": 1,
  "notify_cancelled_offset_hours": 1,
  "notify_rejected_offset_days": 1,
  "notify_rejected_offset_hours": 1,
  "notify_reminder_offset_days": 1,
  "notify_reminder_offset_hours": 1,
  "location_ids": [
    123
  ],
  "staff_ids": [
    "<string>"
  ],
  "special_hours": [
    {
      "name": "<string>",
      "start_at": "<string>",
      "end_at": "<string>",
      "is_repeating": true,
      "available_from": "<string>",
      "available_until": "<string>"
    }
  ]
}
'
{
  "data": {
    "id": 123,
    "handle": "<string>",
    "name": "<string>",
    "description": "<string>",
    "is_published": true,
    "is_archived": true,
    "duration_minutes": 123,
    "buffer_before_minutes": 123,
    "buffer_after_minutes": 123,
    "min_lead_minutes": 123,
    "max_advance_days": 123,
    "slot_interval_minutes": 123,
    "booking_type": "<string>",
    "allow_customer_booking": true,
    "allow_walk_in": true,
    "requires_staff": true,
    "customer_must_select_staff": true,
    "use_staff_from_location": true,
    "max_concurrent_bookings": 123,
    "allow_waitlist": true,
    "allow_queue": true,
    "meta": [
      "<unknown>"
    ],
    "created_target_id": 123,
    "confirmed_target_id": 123,
    "cancelled_target_id": 123,
    "rejected_target_id": 123,
    "reminder_target_id": 123,
    "notify_created_offset_days": 123,
    "notify_created_offset_hours": 123,
    "notify_confirmed_offset_days": 123,
    "notify_confirmed_offset_hours": 123,
    "notify_cancelled_offset_days": 123,
    "notify_cancelled_offset_hours": 123,
    "notify_rejected_offset_days": 123,
    "notify_rejected_offset_hours": 123,
    "notify_reminder_offset_days": 123,
    "notify_reminder_offset_hours": 123,
    "has_booking_questionnaire": true,
    "created_at": "<string>",
    "updated_at": "<string>",
    "normal_hours": [
      {
        "id": 123,
        "appointment_definition_id": 123,
        "day_of_week": "<string>",
        "available_from": "<string>",
        "available_until": "<string>",
        "is_closed": "<string>",
        "created_at": "<string>",
        "updated_at": "<string>"
      }
    ],
    "special_hours": [
      {
        "id": 123,
        "appointment_definition_id": 123,
        "name": "<string>",
        "is_repeating": true,
        "available_from": "<string>",
        "available_until": "<string>",
        "start_at": "<string>",
        "end_at": "<string>",
        "is_closed": "<string>",
        "created_at": "<string>",
        "updated_at": "<string>"
      }
    ],
    "locations": [
      "<unknown>"
    ],
    "staff": [
      {
        "id": 123,
        "appointment_definition_id": 123,
        "staff_id": "<string>",
        "is_active": true,
        "staff": {
          "id": "<string>",
          "first_name": "<string>",
          "last_name": "<string>",
          "email": "<string>",
          "mobile_phone": "<string>",
          "normal_hours": [
            {
              "id": "<string>",
              "day_of_week": "<string>",
              "available_from": "<string>",
              "available_until": "<string>",
              "is_closed": "<string>"
            }
          ],
          "special_hours": [
            {
              "id": "<string>",
              "name": "<string>",
              "is_repeating": "<string>",
              "available_from": "<string>",
              "available_until": "<string>",
              "start_at": "<string>",
              "end_at": "<string>"
            }
          ]
        },
        "created_at": "<string>",
        "updated_at": "<string>"
      }
    ],
    "booking_questionnaire": {
      "id": "<string>",
      "name": "<string>",
      "purpose": "<string>",
      "is_active": "<string>",
      "pages": "<string>"
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.omneo.io/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json
handle
string
required
Maximum string length: 255
name
string
required
Maximum string length: 255
duration_minutes
integer
required
Required range: x >= 1
booking_type
enum<string>
required
Available options:
instant,
approval_required,
walk_in_only
booking_questionnaire
object
required
normal_hours
object[]
required
Minimum array length: 1
description
string | null
is_published
boolean
is_archived
boolean
buffer_before_minutes
integer
Required range: x >= 0
buffer_after_minutes
integer
Required range: x >= 0
min_lead_minutes
integer
Required range: x >= 0
max_advance_days
integer | null
Required range: x >= 1
slot_interval_minutes
integer | null
Required range: x >= 1
allow_customer_booking
boolean
allow_walk_in
boolean
requires_staff
boolean
customer_must_select_staff
boolean
use_staff_from_location
boolean
max_concurrent_bookings
integer | null
Required range: x >= 1
allow_waitlist
boolean
allow_queue
boolean
meta
string[] | null
created_target_id
integer | null
confirmed_target_id
integer | null
cancelled_target_id
integer | null
rejected_target_id
integer | null
reminder_target_id
integer | null
notify_created_offset_days
integer | null
Required range: x >= 0
notify_created_offset_hours
integer | null
Required range: x >= 0
notify_confirmed_offset_days
integer | null
Required range: x >= 0
notify_confirmed_offset_hours
integer | null
Required range: x >= 0
notify_cancelled_offset_days
integer | null
Required range: x >= 0
notify_cancelled_offset_hours
integer | null
Required range: x >= 0
notify_rejected_offset_days
integer | null
Required range: x >= 0
notify_rejected_offset_hours
integer | null
Required range: x >= 0
notify_reminder_offset_days
integer | null
Required range: x >= 0
notify_reminder_offset_hours
integer | null
Required range: x >= 0
location_ids
integer[]
staff_ids
string[]
special_hours
object[]

Response

AppointmentDefinition

data
AppointmentDefinition · object
required