# Schedule Objects

A Schedule Object is a type of App Object with a pre-defined structure intended to capture all relevant information pertaining to a scheduled appointment. Schedule Objects are used in tandem with a [Scheduler Web Control](../../web-controls/scheduler-web-control); when a Schedule Object is associated with a scheduler, all relevant information collected by users from the scheduler will be automatically inserted into that Schedule Object in [AirData]().

A Schedule Object must contain the following six properties:

* **session\_id** -[Text](../../variable-data-types/the-text-variable-data-type) that indicates the [Journey](../../concepts/journeys) that the appointment is associated with. This corresponds the Session ID (designated **session.id**) automatically assigned as a [session-level variable](../variable-scopes) at [the start of each Journey](../standard-journey-data).
* **start\_time** - A [DataTime](../../variable-data-types/the-datetime-variable-data-type) that refers to the beginning date and time of the appointment.
* **end\_time** - A [DataTime](../../variable-data-types/the-datetime-variable-data-type) that refers to the ending date and time of the appointment.
* **recurrence** - A [Number](../../variable-data-types/the-number-variable-data-type) that indexes the block of time selected for the appointment. Count begins at 0 and on the first occurrence of a potential appointment window, as defined by the [Time Slots that make up the Availability Schedule](../../studio/builder-bar/calendar-builder) tied to the associated [Scheduler Web Control](https://github.com/airkit/airkit-docs/blob/master/docs/v17-15/scheduler-web-control.md-Scheduler-Web-Control).
* **calendar\_event\_id** - [Text](../../variable-data-types/the-text-variable-data-type) that serves as an identifier for the Time Slot (as defined in the [Calendar Builder](../../studio/builder-bar/calendar-builder) – note that this is _not_ the same as the selected block of time which is indicated by _**recurrence**_) that defined the selected appointment block.
* **calendar\_id** - [Text](../../variable-data-types/the-text-variable-data-type) that serves as an identifier for the particular instance of [Scheduler Web Control](https://github.com/airkit/airkit-docs/blob/master/docs/v17-15/scheduler-web-control.md-Scheduler-Web-Control) used to make the appointment. This becomes particularly relevant in cases a [Journey](../../concepts/journeys) contains multiple schedulers associated with the same Schedule Object.
