Repeating Schedules
Repeating Schedules Guide
This guide explains how schedule data is structured in Timeero and how to create repeating schedules using the Public API.Repeating schedules are useful for shifts that occur on a regular basis, such as daily, weekly, or monthly work schedules.
🔁 Repeating Schedule Concept
Repeating schedules are defined using a repeat rule that specifies:
- Frequency (daily, weekly, monthly)
- Interval (every X days/weeks)
- Days of week (for weekly schedules)
- End condition (end date or number of occurrences)
Timeero follows a simplified recurrence model similar to calendar systems, but optimized for workforce scheduling.
🧩 Repeat Rule Structure
The repeat object controls how a schedule repeats.
Repeat Object Fields
| Field | Type | Description |
|---|---|---|
repeat | string | Repeating rule configuration, holds boolean value either trueor false |
repeat_type | integer | Defines how the schedule repeats. possible values are weekly, bi-weekly, tri-weekly, quad-weekly |
weeks | array | Days of the week on which the schedule repeats (required when repeat_type is weekly). Value should be a comma-separated of weekdays . e.g sunday,monday,tuesday |
repeat_end_date | date | The date on which the repeating schedule ends. Format: MM/DD/YYYY |
🛠 Creating a Repeating Schedule
Example: Weekly Schedule (Monday–Friday)
Scenario:
Create a schedule that repeats every week from Monday to Friday, starting on September 1st.
Request
curl --request POST \
--url https://api.timeero.com/api/public/schedules \
--header 'Authorization: API KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"user_ids": [
123,
680
],
"assigned_by": "10",
"title": "Daily Standup Meetup",
"description": "Prepare your daily updates.",
"start_date": "01/01/2026",
"end_date": "01/01/2026",
"start_time": "10:00",
"end_time": "12:00",
"timezone": "America/Phoenix",
"job_id": 5118,
"all_day": false,
"color": "bloomy_plum",
"publish": true,
"repeat": true,
"repeat_type": "weekly",
"repeat_end_date": "05/29/2026",
"weeks": "monday,tuesday,wednesday,thursday,friday"
}
'Response
{
"items": {
"id": 17735,
"title": "Daily Standup Meetup",
"description": "Prepare your daily updates.",
"start_date": "2026-05-28T19:00:00",
"end_date": "2026-05-28T21:00:00",
"color": "#6A5E72",
"event_pid": "853c3c54d93333b53d8001491e67559c",
"repeat": true,
"job_name": "11444_170 Palo Alto",
"assign_by": "Michael Scott",
"is_published": true,
"employee": "",
"accepted_employees": "",
"notaccepted_employees": "",
"job_id": 5118,
"repeat_date": "2026-05-29T00:00:00",
"user_ids": [
661,
662
],
"utc_dateinfo": {
"start_date": "2026-05-28T17:00:00",
"end_date": "2026-05-28T19:00:00",
"start_time": "17:00:00",
"end_time": "19:00:00"
},
"timezone": "America/Phoenix",
"timezone_dateinfo": {
"start_date": "2026-05-28T10:00:00",
"end_date": "2026-05-28T12:00:00",
"start_time": "10:00:00",
"end_time": "12:00:00"
}
},
"message": "Schedule added successfully."
}Updated 6 days ago