tiempoAPI reference
API reference

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

POST/v1/series

Recurring 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

  • rrulestringrequired

    An RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.

  • start_datedaterequired

    First local date, inclusive.

  • start_timestringrequired

    Local start time, HH:mm.

  • timezonestring

    IANA name, for example Europe/London.

  • templateobjectrequired

    What each occurrence books: segments with offsets and durations, seats and metadata.

    • segmentsarray of objectsrequired

      The time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.

      • resourcestringrequired

        A resource id.

      • offset_minutesinteger

        Minutes after the start time the segment begins. Defaults to 0.

      • duration_minutesintegerrequired

        Length of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).

      • quantityinteger

        Units of capacity to take. Defaults to 1 (for blocks, the whole capacity).

      • locationstring

        A location id.

      • buffer_before_minutesinteger

        Minutes 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_minutesinteger

        Minutes 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.

    • seatsinteger

      Makes the booking a session that attendees take seats in.

    • metadatamap

      Up 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_daysinteger

    How far ahead occurrences are created. Defaults to 90, at most 730.

  • conflict_policystring

    reject (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.

  • metadatamap

    Up 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

GET/v1/series

Send the business’s id in Tiempo-Account.

Query parameters

  • statusstring

    Only objects with this status.

  • limitinteger

    1 to 100. Defaults to 20.

  • starting_afterstring

    An object id from the previous page; returns the page after it.

  • ending_beforestring

    An object id; returns the page before it.

  • metadata[key]string

    Only objects whose metadata has this key and value. Repeat for several.

Retrieve a series

GET/v1/series/{id}

Send the business’s id in Tiempo-Account.

Path parameters

  • idstringrequired

    The object’s id.

Update a series

POST/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

  • idstringrequired

    The object’s id.

Body parameters

  • horizon_daysinteger

    How far ahead occurrences are created. Defaults to 90, at most 730.

  • metadatamap

    Up 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.

  • rrulestring

    An RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.

  • start_timestring

    Local start time, HH:mm.

  • templateobject

    What each occurrence books: segments with offsets and durations, seats and metadata.

    • segmentsarray of objectsrequired

      The time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.

      • resourcestringrequired

        A resource id.

      • offset_minutesinteger

        Minutes after the start time the segment begins. Defaults to 0.

      • duration_minutesintegerrequired

        Length of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).

      • quantityinteger

        Units of capacity to take. Defaults to 1 (for blocks, the whole capacity).

      • locationstring

        A location id.

      • buffer_before_minutesinteger

        Minutes 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_minutesinteger

        Minutes 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.

    • seatsinteger

      Makes the booking a session that attendees take seats in.

    • metadatamap

      Up 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_policystring

    reject (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.

  • fromtimestamp

    Start of the window.

  • on_conflictstring

    reject (default) changes nothing if an occurrence wouldn’t fit; flag applies the edit and flags those occurrences.

Split a series

POST/v1/series/{id}/split

Ends 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

  • idstringrequired

    The object’s id.

Body parameters

  • attimestamprequired

    The start of the occurrence to split at.

  • rrulestring

    An RFC 5545 rule, for example FREQ=WEEKLY;INTERVAL=2;BYDAY=TU.

  • start_timestring

    Local start time, HH:mm.

  • timezonestring

    IANA name, for example Europe/London.

  • templateobject

    What each occurrence books: segments with offsets and durations, seats and metadata.

    • segmentsarray of objectsrequired

      The time to hold: one entry per resource and period. Segments can be on different resources and needn’t touch.

      • resourcestringrequired

        A resource id.

      • offset_minutesinteger

        Minutes after the start time the segment begins. Defaults to 0.

      • duration_minutesintegerrequired

        Length of the segment; or, on a search, one length for every segment when they all run together (then segments give no length or offset).

      • quantityinteger

        Units of capacity to take. Defaults to 1 (for blocks, the whole capacity).

      • locationstring

        A location id.

      • buffer_before_minutesinteger

        Minutes 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_minutesinteger

        Minutes 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.

    • seatsinteger

      Makes the booking a session that attendees take seats in.

    • metadatamap

      Up 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_policystring

    reject (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.

  • metadatamap

    Up 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

POST/v1/series/{id}/cancel

Cancels occurrences from a date (default now) and ends the series there.

Send the business’s id in Tiempo-Account.

Path parameters

  • idstringrequired

    The object’s id.

Body parameters

  • fromtimestamp

    Start of the window.

List skipped occurrences

GET/v1/series/{id}/skipped_occurrences

Dates the series couldn’t book, with the reasons.

Send the business’s id in Tiempo-Account.

Path parameters

  • idstringrequired

    The object’s id.