The customer activation platform.Every interaction becomes a qualified contact. Book a demo

Configure slots — weekly vs. specific dates

Choose Weekly or Specific Dates, then turn those ranges into single slots or repeated bookable slots.

In this article, you'll configure when an event Activity runs, choose between Weekly and Specific Dates, and decide whether each date range should stay whole or be divided into bookable slots.

Prerequisites

  • Campaign dates are already configured. If not, see Dates (Pattern B).
  • If this Activity uses its own date override, you already know that allowed date range. If needed, see Touchpoint dates override.
  • The Activity Touchpoint already exists.

Booking unlocks only after dates exist

Until you configure at least one date, the bookable event mode stays unavailable. Start with Dates, then return to tickets and booking behavior.

Pick the schedule model

In the current v2 UI, you actively work in one schedule mode at a time:

ModeBest forTypical example
WeeklyRecurring availability that repeats on the same weekdaysA workshop every Wednesday and Saturday
Specific DatesOne-off or irregular sessions with fixed calendar datesA VIP session on Friday night and another on Sunday afternoon

Configuration

Open Slots -> Dates

Open the Activity, go to Slots, then start in the Dates section.

This is where you choose the schedule model and add the raw availability windows before any ticketing or check-in rules apply.

Choose Weekly or Specific Dates

Pick the mode that matches the event:

  • Use Weekly when the same weekdays and hours repeat.
  • Use Specific Dates when each session has its own calendar date.

Add the availability windows

For Weekly, use + Add day of week, then add one or more time ranges for each weekday.

For Specific Dates, use + Add Date and enter the exact start and end datetime for each session.

Upload CSV for Specific Dates when faster

Specific Dates also supports CSV import. This is especially useful when you are loading a long workshop calendar or many irregular VIP sessions at once.

Imported rows are added to the dates already listed in the Activity.

Decide whether to use Divide into Slots

In Slot Configuration, turn on Divide into Slots when attendees should book one slot inside a larger time range.

  • If Divide into Slots is off, each configured date range stays as one slot.
  • If it is on, OmniLab creates repeated slots using Duration (minutes) and Buffer between slots.

For example, a kids activity open from 10:00 to 13:00 can stay as one large slot, while a 20-minute consultation event should usually be divided into smaller bookable slots.

Set Duration (minutes) and Buffer between slots

Use Duration (minutes) for the attendee-facing slot length.

Use Buffer between slots for the reset time between groups, for example to clean a booth, guide attendees out, or prepare the next VIP session.

Save and review the attendee result

Save the Activity, then preview how the slots appear in the booking flow.

Check that the dates fall inside the campaign window, that time ranges do not overlap, and that the slot structure matches how the event will run on site.

CSV format for Specific Dates

Use these exact CSV headers:

Activity DateStart timeEnd time
18/11/202610:0012:00

Notes:

  • Activity Date uses dd/mm/yyyy
  • Start time and End time use 24-hour HH:mm
  • all imported times are interpreted in the organisation timezone

Validation

If the schedule is incomplete or inconsistent, validation will surface it before publishing. The most common messages are:

Validation keyMessageWhat to do
activity.dates.none_configuredActivity '{{activity_name}}' has no dates configuredAdd at least one weekly day or one specific date.
activity.dates.specific_end_before_startActivity '{{activity_name}}' date #{{date_index}} on {{date}} has end time ({{end_time}}) before start time ({{start_time}})Make sure the end time is after the start time.
activity.dates.weekly_end_before_startActivity '{{activity_name}}' on {{day_name}} time range #{{range_index}} has end time ({{end_time}}) before start time ({{start_time}})Fix the weekly time range so it runs forward in time.
activity.dates.specific_overlapActivity '{{activity_name}}' has overlapping specific dates: Date #{{date_index_1}} ({{date_1}} {{time_range_1}}) overlaps with Date #{{date_index_2}} ({{date_2}} {{time_range_2}})Separate the conflicting specific sessions.
activity.dates.weekly_same_day_overlapActivity '{{activity_name}}' has overlapping time ranges on {{day_name}}: Range #{{range_index_1}} ({{time_range_1}}) overlaps with Range #{{range_index_2}} ({{time_range_2}})Adjust the overlapping weekly ranges on that weekday.
activity.dates.specific_outside_campaign_rangeActivity '{{activity_name}}' slot #{{slot_index}} ({{slot_start}} - {{slot_end}}) falls outside the campaign dates ({{range_start}} - {{range_end}})Keep specific dates inside the campaign range.
activity.dates.specific_outside_activity_rangeActivity '{{activity_name}}' slot #{{slot_index}} ({{slot_start}} - {{slot_end}}) falls outside the activity dates ({{range_start}} - {{range_end}})Keep specific dates inside the Activity override range.
activity.slots.duration_negativeActivity '{{activity_name}}' has a negative slot duration of {{duration}} minutesSet slot duration to 0 or a positive number.
activity.slots.buffer_time_negativeActivity '{{activity_name}}' has a negative buffer time of {{buffer_time}} minutesSet the buffer to 0 or a positive number.
activity.slots.division_without_datesActivity "{{activity_name}}" has slot division configured but no dates specifiedAdd dates first, then divide them into slots.

See Validation & publishing for the global publish flow.

Was this helpful?

Optional comments help us improve this page for future authors and readers.

On this page