Skip to main content
POST
/
v1
/
appointments
Create an appointment
curl --request POST \
  --url https://dev.flextell.ai/api/v1/appointments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Tenant: <x-tenant>' \
  --data '
{
  "customer_id": 123,
  "user_id": 123,
  "scheduled_at": "2023-11-07T05:31:56Z",
  "treatments": [
    123
  ],
  "assistant_id": 123,
  "parent_appointment_id": 123,
  "description": "<string>",
  "cancellation_reason": "<string>",
  "room_id": 123,
  "treatment_session_plans": [
    {
      "treatment_id": 123,
      "sessions": [
        {
          "session_order": 2,
          "offset_days": 1,
          "next_gap_days": 2,
          "products": [
            {
              "product_id": 123,
              "warehouse_id": 123,
              "quantity": 1.001
            }
          ]
        }
      ]
    }
  ]
}
'
{
  "success": "<string>",
  "data": {
    "id": 123,
    "customer_id": 123,
    "room_id": 123,
    "parent_appointment_id": 123,
    "code": "<string>",
    "relation_type": "<string>",
    "description": "<string>",
    "scheduled_at": "2023-11-07T05:31:56Z",
    "status": "<string>",
    "cancellation_reason": "<string>",
    "creation_type": "<string>",
    "assistants": [
      {
        "id": 123,
        "name": "<string>"
      }
    ],
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "deleted_at": "2023-11-07T05:31:56Z",
    "customer": {
      "id": 123,
      "first_name": "<string>",
      "last_name": "<string>",
      "phone_number": "<string>",
      "email": "<string>",
      "date_of_birth": "2023-11-07T05:31:56Z",
      "country_name": "<string>",
      "identity_number": "<string>",
      "job": "<string>",
      "address": "<string>",
      "default_channel_id": 123,
      "avatar_url": "<string>",
      "related_user": {
        "id": 123,
        "name": "<string>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "deleted_at": "2023-11-07T05:31:56Z",
      "tags": [
        {
          "id": 123,
          "tenant_id": 123,
          "name": "<string>",
          "color": "<string>",
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "deleted_at": "2023-11-07T05:31:56Z"
        }
      ]
    },
    "doctor": {
      "id": 123,
      "name": "<string>"
    },
    "room": {
      "id": 123,
      "name": "<string>",
      "status": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "deleted_at": "2023-11-07T05:31:56Z"
    },
    "parent_appointment": "<unknown>",
    "child_appointments": "<array>",
    "treatments": [
      {
        "id": 123,
        "group_id": 123,
        "name": "<string>",
        "keywords": [
          "<unknown>"
        ],
        "price": "<string>",
        "tax_rate": 123,
        "description": "<string>",
        "session": 123,
        "is_active": "<string>",
        "extra_info": {},
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "deleted_at": "2023-11-07T05:31:56Z",
        "group": {
          "id": 123,
          "name": "<string>",
          "is_active": true
        },
        "users": [
          {
            "id": 123,
            "name": "<string>"
          }
        ],
        "sessions": [
          {
            "id": 123,
            "session_order": 123,
            "next_gap_days": 123,
            "offset_days": 123,
            "products": [
              {
                "id": 123,
                "product_id": 123,
                "min_quantity": 123,
                "product": {
                  "id": 123,
                  "name": "<string>",
                  "full_name": "<string>",
                  "brand": {
                    "id": 123,
                    "name": "<string>"
                  },
                  "unit_code": {
                    "id": "<string>",
                    "name": "<string>",
                    "code": "<string>"
                  }
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Tenant
number
required

Tenant identifier. Send the Tenant ID in the X-Tenant header to scope API requests to a specific tenant.

Body

application/json
customer_id
integer
required

The customer ID.

user_id
integer
required

The user ID.

scheduled_at
string<date-time>
required

The scheduled at.

status
enum<string>
required

The status.

Available options:
pending,
approved,
cancelled,
rejected,
completed,
no_show
treatments
integer[]
required

The treatments.

Minimum array length: 1

A treatments value.

assistant_id
integer | null

The assistant ID.

parent_appointment_id
integer | null

The parent appointment ID.

description
string | null

The description.

Maximum string length: 1000
cancellation_reason
string | null

The cancellation reason.

Maximum string length: 1000
room_id
integer | null

The room ID.

treatment_session_plans
object[] | null

The treatment session plans.

Response

success
string
required
data
AppointmentResource · object
required