Kaizen
Browse modulesBookingsbookings/sharedSchemas and constants

Variable: createSeriesInputSchema

const createSeriesInputSchema: ZodObject<{
  actorId: ZodString;
  allowOutsideHours: ZodOptional<ZodBoolean>;
  allowOverbook: ZodOptional<ZodBoolean>;
  bookingTypeId: ZodString;
  dtstartLocal: ZodString;
  durationMinutes: ZodNumber;
  horizon: ZodCoercedDate<unknown>;
  maxAdvanceMs: ZodNumber;
  organizationId: ZodString;
  partyRef: ZodOptional<ZodNullable<ZodString>>;
  recurrenceRule: ZodString;
  resourceId: ZodString;
  timeZone: ZodString;
}, $strip>;

Defined in: shared/bookings/schemas.ts:184

Input to create a BookingSeries (spec §6.8). The generation template is iCal-compatible strings: an RRULE body plus a DST-stable wall-clock DTSTART (dtstartLocal + IANA timeZone — "5pm local" stays 5pm across a DST boundary).

horizon/maxAdvanceMs enforce the §6.8 fail-open guard at create: the initial materialization horizon must reach now + maxAdvanceMs (the org's max-advance booking window), or the create is REJECTED — beyond the horizon a series' occurrences are not rows and block nothing. maxAdvanceMs is a per-call option (mirroring SchedulerHealth's maxAdvanceMs), not a column — the max-advance policy window is consumer-owned configuration.