Series
Recurring bookings from an RRULE, created as real bookings over a rolling horizon. A date that doesn’t fit is skipped and reported, not failed.
Create a series
/v1/seriesRecurring bookings from an RRULE at a local start time. Occurrences are created as confirmed bookings up to horizon_days ahead and kept topped up. A date that doesn’t fit is skipped with series.occurrence_skipped.
Send the business’s id in Tiempo-Account.
Body parameters
rrulestringrequiredAn RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.
start_datedaterequiredFirst local date, inclusive.
start_timestringrequiredLocal start time, HH:mm.
timezonestringIANA name, for example Europe/London.
templateobjectrequiredWhat each occurrence books: segments with offsets and durations, seats and metadata.
segmentsarray of objectsrequiredThe time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.
resourcestringrequiredA resource id.
offset_minutesintegerMinutes after the start time the segment begins. Defaults to 0.
duration_minutesintegerrequiredLength of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).
quantityintegerUnits of capacity to take. Defaults to 1 (for blocks, the whole capacity).
locationstringA location id.
buffer_before_minutesintegerMinutes the resource is also held before the time (travel, setup), 0–1440. On a booking segment it overrides the resource’s default; the appointment’s start and end don’t change.
buffer_after_minutesintegerMinutes the resource is also held after the time (cleanup, turnaround), 0–1440. On a booking segment it overrides the resource’s default. Buffers must fit in working hours and can’t overlap blocks or other bookings.
seatsintegerMakes the booking a session that attendees take seats in.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
horizon_daysintegerHow far ahead occurrences are created. Defaults to 90, at most 730.
conflict_policystringreject (default) refuses time that isn’t free or isn’t working hours. capacity_only ignores working hours, overrides and blocks (staff booking a client in after hours) but still never overlaps another booking. allow places it anyway (a deliberate overbook) and flags it.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
List series
/v1/seriesSend the business’s id in Tiempo-Account.
Query parameters
statusstringOnly objects with this status.
limitinteger1 to 100. Defaults to 20.
starting_afterstringAn object id from the previous page; returns the page after it.
ending_beforestringAn object id; returns the page before it.
metadata[key]stringOnly objects whose metadata has this key and value. Repeat for several.
Retrieve a series
/v1/series/{id}Send the business’s id in Tiempo-Account.
Path parameters
idstringrequiredThe object’s id.
Update a series
/v1/series/{id}Edits a series in place from a date (default now): a new instructor, time, rule or template. Occurrences keep their booking ids and attendees where their date is kept; dates the new rule drops are cancelled. If any occurrence wouldn’t fit, nothing changes (409 series_update_conflict) unless on_conflict is "flag".
Send the business’s id in Tiempo-Account.
Path parameters
idstringrequiredThe object’s id.
Body parameters
horizon_daysintegerHow far ahead occurrences are created. Defaults to 90, at most 730.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
rrulestringAn RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.
start_timestringLocal start time, HH:mm.
templateobjectWhat each occurrence books: segments with offsets and durations, seats and metadata.
segmentsarray of objectsrequiredThe time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.
resourcestringrequiredA resource id.
offset_minutesintegerMinutes after the start time the segment begins. Defaults to 0.
duration_minutesintegerrequiredLength of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).
quantityintegerUnits of capacity to take. Defaults to 1 (for blocks, the whole capacity).
locationstringA location id.
buffer_before_minutesintegerMinutes the resource is also held before the time (travel, setup), 0–1440. On a booking segment it overrides the resource’s default; the appointment’s start and end don’t change.
buffer_after_minutesintegerMinutes the resource is also held after the time (cleanup, turnaround), 0–1440. On a booking segment it overrides the resource’s default. Buffers must fit in working hours and can’t overlap blocks or other bookings.
seatsintegerMakes the booking a session that attendees take seats in.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
conflict_policystringreject (default) refuses time that isn’t free or isn’t working hours. capacity_only ignores working hours, overrides and blocks (staff booking a client in after hours) but still never overlaps another booking. allow places it anyway (a deliberate overbook) and flags it.
fromtimestampStart of the window.
on_conflictstringreject (default) changes nothing if an occurrence wouldn’t fit; flag applies the edit and flags those occurrences.
Split a series
/v1/series/{id}/splitEnds the series before an occurrence and starts a new one from it with any changes, for a different timezone or other changes an in-place edit can’t make.
Send the business’s id in Tiempo-Account.
Path parameters
idstringrequiredThe object’s id.
Body parameters
attimestamprequiredThe start of the occurrence to split at.
rrulestringAn RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.
start_timestringLocal start time, HH:mm.
timezonestringIANA name, for example Europe/London.
templateobjectWhat each occurrence books: segments with offsets and durations, seats and metadata.
segmentsarray of objectsrequiredThe time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.
resourcestringrequiredA resource id.
offset_minutesintegerMinutes after the start time the segment begins. Defaults to 0.
duration_minutesintegerrequiredLength of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).
quantityintegerUnits of capacity to take. Defaults to 1 (for blocks, the whole capacity).
locationstringA location id.
buffer_before_minutesintegerMinutes the resource is also held before the time (travel, setup), 0–1440. On a booking segment it overrides the resource’s default; the appointment’s start and end don’t change.
buffer_after_minutesintegerMinutes the resource is also held after the time (cleanup, turnaround), 0–1440. On a booking segment it overrides the resource’s default. Buffers must fit in working hours and can’t overlap blocks or other bookings.
seatsintegerMakes the booking a session that attendees take seats in.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
conflict_policystringreject (default) refuses time that isn’t free or isn’t working hours. capacity_only ignores working hours, overrides and blocks (staff booking a client in after hours) but still never overlaps another booking. allow places it anyway (a deliberate overbook) and flags it.
metadatamapUp to 50 keys of your own (strings, keys up to 40 characters, values up to 500). Returned on every read and webhook. On update, an empty string removes a key.
Cancel a series
/v1/series/{id}/cancelCancels occurrences from a date (default now) and ends the series there.
Send the business’s id in Tiempo-Account.
Path parameters
idstringrequiredThe object’s id.
Body parameters
fromtimestampStart of the window.
List skipped occurrences
/v1/series/{id}/skipped_occurrencesDates the series couldn’t book, with the reasons.
Send the business’s id in Tiempo-Account.
Path parameters
idstringrequiredThe object’s id.