---
title: "Get User Appointments"
method: GET
path: "/user/records"
tags: ["Client Personal Cabinet"]
---

# Get User Appointments

`GET /user/records`

## Request

- Base URL: `https://api.alteg.io/api/v1`
- URL: `https://api.alteg.io/api/v1/user/records`
- Auth: HTTP bearer

Returns the Appointments of the authorized Booking User (send the User Token obtained through Booking User authorization).

The JSON Object containing the user appointment parameters has the following fields:

| Field | Type | Mandatory | Description |
| ------------- | ------------- | ------------- | ------------- |
| id | number | YES | Appointment ID |
| services | array of numbers | YES | List of ID service appointments |
| location | object | YES | location parameters |
| staff | object | YES | Parameters of the team member who was booked. Note: "staff" is a legacy field name for team member. |
| clients_count | int | YES | Number of clients |
| date | string | YES | Session date |
| datetime | string | YES | Session date in ISO |
| create_date | string | YES | Appointment creation date |
| length | number | YES | Session duration |
| deleted | boolean | YES | Has the appointment been created ? (true if deleted) |
| notify_by_sms | number | NO | Number of hours in advance to send an SMS reminder for the appointment. Set to 0 to disable SMS reminders |
| notify_by_email | number | NO | Number of hours in advance to send an email reminder for the appointment. Set to 0 to disable email reminders |
| comment | string | YES | Appointment Comment |
| master_requested | boolean | YES | Whether a specific team member was specified when appointment (false if "any team member" was specified) |
| online | boolean | YES | Indicates whether the appointment was created online by the client (true) or manually by an administrator (false) |
| visit_attendance | number | YES | 2 - The user confirmed the appointment, 1 - The user came, the services were provided, 0 - the user was waiting, -1 - the user did not come to visit |
| api_id | string | NO | External Appointment ID |
| last_change_date | string | NO | Date of the last edit of the appointment |
| prepaid | boolean | NO | Is online payment available for appointment |
| prepaid_confirmed | boolean | NO | Online payment status |
| last_change_date | string | NO | Date of the last edit of the appointment |
| activity_id | int | NO | Event ID (for group events) |

Each object in the services array has the following fields:

| Field | Type | Description |
| ------------- | ------------- | ------------- |
| id | number | Service ID |
| title | string | Service name |
| cost | float | Service cost |
| price_min | float | Minimum price of the service |
| price_max | float | Maximum service price |
| discount | float | Discount |
| amount | int | Number of ordered services |
| session_length | int | Service duration in seconds (only if filter by team member is set) |

The location object has the following fields:

| Field | Type | Description |
| ------------- | ------------- | ------------- |
| id | number | location ID |
| title | string | location name |
| country_id | number | Identifier of the country in which the location is located |
| country | string | location name |
| city_id | number | Identifier of the city where the location is located) |
| city | string | location city name |
| time zone | string | timezone locations |
| address | string | Address where the location is located |
| phone | string | location's main phone number |
| phones | array of strings | All phone numbers of the location |
| coordinate_lat | float | Latitude where the location is located |
| coordinate lng | float | Longitude |
| allow_delete_record | boolean | Is it possible to delete an appointment |
| allow_change_record | boolean | Is it possible to reschedule the appointment |
| site | string | location website |
| currency_short_title | string | Currency symbol |
| allow_change_record_delay_step | int | Time after which you can reschedule the appointment |
| allow_delete_record_delay_step | int | Time after which you can delete an appointment |

The team member object has the following fields:

| Field | Type | Description |
| ------------- | ------------- | ------------- |
| id | number | team member ID |
| name | string | team member name |
| specialization | string | team member specialization |
| position | object | team member position |
| show_rating | number | Whether to show team member's rating (1 - show, 0 - don't show) |
| rating | number | team member rating |
| votes_count | number | Number of votes rated team member |
| comments_count | number | Number of comments to a team member |
| avatar | string | Path to team member avatar file |

## Query parameters

- `record_id` number
- `company_id` number
- `group_id` number
- `phone` string

## Headers

- `Accept` string, required
- `Content-Type` string, required
- `Authorization` string, required

## Response `200`

OK

- UserRecordsResponseDataTypes: Get User Appointments
  - `success` boolean: Execution success status (true)
  - `data` object[]: Array of objects
    - `id` number: Appointment ID
    - `services` object[]: Service ID List
      - `id` number: Service ID
      - `title` string: Service name
      - `amount` integer: Number of ordered services
      - `seance_length` integer: Service duration in seconds (only if filter by team member is set)
      - `cost` number: Service cost
      - `price_min` number: Minimum service price
      - `price_max` number: Maximum service price
      - `discount` number: Discount amount
    - `company` object: location parameters
      - `id` number: location ID
      - `title` string: location name
      - `country_id` number: Country ID
      - `country` string: The name of the country in which the organization is located
      - `city_id` number: City ID
      - `city` string: Name of the city where the organization is located
      - `phone` string: location phone
      - `phones` string[]
      - `timezone` string: location time zone
      - `address` string: location address
      - `coordinate_lat` number, double: Latitude
      - `coordinate_lon` number, double: Longitude
      - `allow_delete_record` boolean
      - `allow_change_record` boolean
      - `site` string
      - `currency_short_title` string
      - `allow_change_record_delay_step` integer
      - `allow_delete_record_delay_step` integer
    - `staff` object: team member parameters
      - `id` number: team member ID
      - `name` string: team member name
      - `specialization` string: team member specialization
      - `position` object: team member's position
        - `id` number: Job ID
        - `title` string: Job title
      - `show_rating` number: Whether to show team member rating (1 - show, 0 - do not show)
      - `rating` number, double: team member rating (from 0 to 5)
      - `votes_count` number: Number of votes that rated the team member
      - `avatar` string: Path to team member profile picture
      - `comments_count` number: Number of comments to a team member
    - `clients_count` integer
    - `date` string, date-time: 04-02T12:00:00Z\' (required, string) - Session date
    - `datetime` string, date-time: Session date in ISO
    - `create_date` string, date-time: 04-02T12:00:00Z\' (required, string) - Appointment creation date
    - `comment` string: Appointment Comment
    - `deleted` boolean: Whether the appointment was made (true if removed)
    - `attendance` number: 2 - the user confirmed the appointment, 1 - the user came, the services were provided, 0 - the user was waiting, -1 - the user did not show
    - `length` number: Appointment duration in seconds. Includes technical_break_duration. Equal to the sum of services plus the technical break.
    - `notify_by_sms` number: Specifies how many hours in advance an SMS reminder should be sent before the appointment. Set to 0 to disable SMS reminders
    - `notify_by_email` number: Specifies how many hours in advance an email reminder should be sent before the appointment. Set to 0 to disable email reminders
    - `master_requested` boolean: Indicates whether a specific team member was selected for the appointment. Set to false if the "any team member" option was chosen
    - `online` boolean: Indicates whether the appointment was created online by the client (true) or manually by an administrator (false)
    - `api_id` string: External appointment ID
    - `last_change_date` string, date-time: The date and time when the appointment was last modified
    - `prepaid` boolean: Indicates whether online payment is available for the appointment
    - `prepaid_confirmed` boolean: Online payment status
    - `activity_id` number: Group event ID
  - `meta` object[]: Metadata (empty array)

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

## Changes

- **2026-10-06** `64709259ecfb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alteg/apis/online-booking/changes/user/records/get.md)

---

[API](https://skmtc.dev/alteg/apis/online-booking.md) - [All operations](https://skmtc.dev/alteg/apis/online-booking/llms.txt) - [OpenAPI document](https://skmtc.dev/alteg/apis/online-booking/revisions/5219afc665ea?raw)
