# Create Recurring Appointments

Creates a recurring appointment series for a client based on an event schedule. Automatically generates future appointments according to the schedule pattern.

Endpoint: POST /company/{location_id}/schedules/{schedule_id}/client_schedules
Version: 1.0.0
Security: BearerPartnerUser

## Security:

  - `BearerPartnerUser` (unknown)
    http bearer Bearer {PartnerToken}, User {UserToken}

## Path parameters:

  - `location_id` (number, required)
    ID of a location.

  - `schedule_id` (integer, required)
    ID of a schedule.

## Header parameters:

  - `Accept` (string, required)
    Required B2B v2 response media type. Use `application/vnd.api.v2+json`. A charset parameter is also accepted.

  - `Content-Type` (string, required)
    Should be equal to `application/json`

## Request fields (application/json):

  - `client_id` (number, required)
    ID of client for creating a client schedule.
    Example: 123

  - `comer_id` (number)
    ID of client`s comer for creating a client schedule.
    Example: 123

  - `schedule_days_ids` (array, required)
    IDs of schedule series, min of 1 series, max of 7 series.

## Response 201:

  - `201` (unknown)
    Created

## Response 201 fields (application/json):

  - `success` (boolean)
    Response status.
    Example: true

  - `data` (object)
    Data for an existing client schedule in a location.
    Example: {"id":123,"loyalty_abonement_id":null,"final_day":"2022-01-01 12:12:12","days":[{"id":123,"created_at":"2026-01-01T12:12:12-05:00","updated_at":"2026-01-01T12:12:12-05:00","deleted_at":null,"timetable…

  - `data.id` (number)
    ID of a client schedule.

  - `data.loyalty_abonement_id` (number | null)
    ID of a loyalty membership used for client schedule (not supported at the moment).

  - `data.final_day` (string)
    Datetime of a client schedule end.

  - `data.days` (array)
    Schedule series linked to a client schedule.

  - `data.days.id` (number)
    ID of a schedule series.

  - `data.days.created_at` (string)
    Datetime of a schedule series created.

  - `data.days.updated_at` (string)
    Datetime of a schedule series last updated.

  - `data.days.deleted_at` (string | null)
    Datetime of a schedule series deleted.

  - `data.days.timetable_event_schedule_id` (number)
    ID of a schedule, which series is linked to.

  - `data.days.day_of_week` (string)
    Day of week of a schedule series.
    Enum: "mon", "tue", "wed", "thu", "fri", "sat", "sun"

  - `data.days.events_time` (string)
    Time of beginning of the events in a schedule series.

  - `data.days.events_duration` (number)
    Duration of the events in a schedule series.
Note: Does not include technical break duration.

  - `data.days.event_technical_break_duration` (number)
    Technical break duration in seconds.

  - `data.days.events_master` (object)
    Team member for the events in a schedule series.
Returned in response only if corresponding `include` is present in request.
    Example: {"id":123,"name":"John Johnson","company_id":123,"specialization":"Master","avatar":"https://app.alteg.io/images/no-master-sm.png","avatar_big":"https://app.alteg.io/images/no-master.png","position":{…

  - `data.days.events_master.id` (number)
    ID of a team member.

  - `data.days.events_master.name` (string)
    Name of a team member.

  - `data.days.events_master.company_id` (number)
    ID of a location, where team member was created.

  - `data.days.events_master.specialization` (string)
    Specialization of a team member.

  - `data.days.events_master.avatar` (string)
    Link to the avatar of a team member (small).

  - `data.days.events_master.avatar_big` (string)
    Link to the avatar of a team member (original).

  - `data.days.events_master.position` (object)
    Position of a team member.
    Example: {"id":123,"title":"Position"}

  - `data.days.events_master.position.id` (number)
    ID of a position.

  - `data.days.events_master.position.title` (string)
    Title of a position.

  - `data.days.events_master.is_paid_staff` (boolean)
    Whether the team member is a paid staff member counted in license price.

  - `data.days.events_labels` (array)
    Tags for the events in a schedule series.
Returned in response only if corresponding `include` is present in request.

  - `data.days.events_labels.id` (number)
    ID of tag.

  - `data.days.events_labels.title` (string)
    Title of a tag.

  - `data.days.events_labels.color` (string)
    Color of a tag (#rrggbb).

  - `data.days.events_resource_instances` (array)
    Resource instances for the events in a schedule series.
Returned in response only if corresponding `include` is present in request.

  - `data.days.events_resource_instances.id` (number)
    ID of a resource instance.

  - `data.days.events_resource_instances.title` (string)
    Title of a resource instance.

  - `data.days.events_resource_instances.resource_id` (number)
    ID of a resource, to which instance is linked.

  - `data.days.events` (array)
    Events of appointments or events in a schedule series.
Returned in response only if corresponding `include` is present in request.

  - `data.days.events.id` (number)
    ID of an event of appointment/event in a schedule.

  - `data.days.events.created_at` (string)
    Datetime of an event of appointment/event in a schedule created.

  - `data.days.events.updated_at` (string)
    Datetime of an event of appointment/event in a schedule last updated.

  - `data.days.events.deleted_at` (string | null)
    Datetime of an event of appointment/event in a schedule deleted.

  - `data.days.events.event_status` (string)
    Event of appointment/event status:
`stable` - entity is stable;
`event_created` - event is created, corresponding appointment/event is not created yet;
`event_changed` - event is changed, corresponding appointment/event is not changed yet;
`event_changed_force` - event is changed with force override of manual changes, corresponding appointment/event is not changed yet;
`event_deleted` - event is deleted, corresponding appointment/event is not deleted yet;
`entity_deleted` - appointment/event corresponding to an event is deleted (due to event deletion or due to manual deletion);
`entity_failed` - appointment/event creation failure.
    Enum: "stable", "event_created", "event_changed", "event_changed_force", "event_deleted", "entity_deleted", "entity_failed"

  - `data.days.events.event_datetime` (string)
    Datetime of a scheduled appointment/event beginning.

  - `data.days.events.event_entity_type` (string)
    Type of an scheduled entity (appointment or event). Note: enum values "record" and "activity" are legacy terms for appointment and event.
    Enum: "record", "activity"

  - `data.days.events.event_entity_id` (number | null)
    ID of an scheduled entity (appointment or event).

  - `data.days.events.is_entity_master_changed` (boolean)
    Flag for manual change of a team member for a scheduled appointment/event.

  - `data.days.events.is_entity_datetime_changed` (boolean)
    Flag for manual change of a datetime for a scheduled appointment/event.

  - `data.days.events.is_entity_duration_changed` (boolean)
    Flag for manual change of a duration for a scheduled appointment/event.

  - `data.days.events.is_entity_labels_changed` (boolean)
    Flag for manual change of a tags linked to a scheduled appointment/event.

  - `data.days.events.is_entity_resource_instances_changed` (boolean)
    Flag for manual change of a resource instances linked to a scheduled appointment/event.

  - `data.days.events.entity_master` (object)
    Team member for a scheduled appointment/event.
    Example: {"id":123,"name":"John Johnson","company_id":123,"specialization":"Master","avatar":"https://app.alteg.io/images/no-master-sm.png","avatar_big":"https://app.alteg.io/images/no-master.png","position":{…

  - `data.days.events.entity_datetime` (string)
    Actual datetime of a scheduled appointment/event beginning.

  - `data.days.events.entity_duration` (string)
    Actual duration of a scheduled appointment/event.

  - `data.days.events.entity_labels` (array)
    Actual tags linked to a scheduled appointment/event.

  - `data.days.events.entity_resource_instances` (array)
    Actual resource instances linked to a scheduled appointment/event.

  - `meta` (object | array)
    Additional response data (empty object or empty array)
    Example: {}

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `success` (boolean)
    Response status.
    Example: false

  - `data` (object | null)
    Response data.
    Example: null

  - `meta` (object)
    Additional response data.

  - `meta.message` (string)
    Error message.
    Example: Authentication needed.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `success` (boolean)
    Response status.
    Example: false

  - `data` (object | null)
    Response data.
    Example: null

  - `meta` (object)
    Additional response data.

  - `meta.message` (string)
    Error message.
    Example: Access denied.

## Response 404:

  - `404` (unknown)
    Not Found

## Response 404 fields (application/json):

  - `success` (boolean)
    Response status.
    Example: false

  - `data` (object | null)
    Response data.
    Example: null

  - `meta` (object | array)
    Additional response data (empty object or empty array)
    Example: {}

## Response 422:

  - `422` (unknown)
    Unprocessable Entity

## Response 422 fields (application/json):

  - `success` (boolean)
    Response status.
    Example: false

  - `data` (object | null)
    Response data.
    Example: null

  - `meta` (object)
    Additional response data.

  - `meta.message` (string)
    Error message.
    Example: An error has occurred.

  - `meta.errors` (array)
    Set of a validation error messages.

