Schedules
Complete reference for schedules, including queries, mutations, and types for defining recurring time patterns such as working hours and maintenance windows (iCalendar-compatible).
Navixy Repository API is a work in progress. This documentation is published for preview purposes only and doesn't reflect a stable release. Structure, field names, and behaviors are subject to change.
Schedules define time-based rules using iCalendar (RFC 5545) format for recurring events, working hours, and time-triggered automation.
Queries
schedule
Retrieves a schedule by its ID.
schedule(id: ID!): ScheduleArguments
id
ID!
The ID of the schedule to retrieve.
Output types:
Schedule
A schedule definition for work hours, maintenance windows, or other time-based rules.
Implements: Node, Titled, Versioned
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
version
Int!
The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection.
title
String!
The human-readable display name.
scheduleData
ScheduleData!
The calendar and time interval definitions for this schedule.
schedules
Lists schedules for an organization.
Arguments
organizationId
ID!
The organization to retrieve schedules for.
filter
ScheduleFilter
Filtering options for the returned schedules.
orderBy
ScheduleOrder
The ordering options for the returned schedules.
Input types:
ScheduleFilter
Filtering options for schedules.
titleContains
String
Partial match on title (case-insensitive contains).
Output types:
ScheduleConnection
Mutations
scheduleCreate
Creates a new schedule.
Arguments
input
ScheduleCreateInput!
The input fields for creating the schedule.
Input types:
ScheduleCreateInput
Input for creating a new schedule.
organizationId
ID!
The organization that will own the schedule.
title
String!
The schedule display name.
scheduleData
ScheduleData!
The schedule data.
Output types:
Schedule (entity)
A schedule definition for work hours, maintenance windows, or other time-based rules.
Implements: Node, Titled, Versioned
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
version
Int!
The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection.
title
String!
The human-readable display name.
scheduleData
ScheduleData!
The calendar and time interval definitions for this schedule.
scheduleUpdate
Updates an existing schedule.
Arguments
input
ScheduleUpdateInput!
The input fields for updating the schedule.
Input types:
ScheduleUpdateInput
Input for updating an existing schedule.
id
ID!
The schedule ID to update.
version
Int
The current version for optimistic locking. If omitted, auto-increments without conflict check.
title
String
The new display name.
scheduleData
ScheduleData
The new schedule data.
Output types:
Schedule (entity)
A schedule definition for work hours, maintenance windows, or other time-based rules.
Implements: Node, Titled, Versioned
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
version
Int!
The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection.
title
String!
The human-readable display name.
scheduleData
ScheduleData!
The calendar and time interval definitions for this schedule.
scheduleDelete
Deletes a schedule.
Arguments
input
ScheduleDeleteInput!
The input fields for deleting the schedule.
Input types:
ScheduleDeleteInput
Input for deleting a schedule.
id
ID!
The schedule ID to delete.
version
Int
The current version for optimistic locking. If omitted, auto-increments without conflict check.
Output types:
DeletePayload
The result of a delete mutation.
deletedId
ID!
The ID of the deleted entity.
Objects
Schedule
A schedule definition for work hours, maintenance windows, or other time-based rules.
Implements: Node, Titled, Versioned
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
version
Int!
The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection.
title
String!
The human-readable display name.
scheduleData
ScheduleData!
The calendar and time interval definitions for this schedule.
SchedulePayload
The result of a schedule mutation.
Inputs
ScheduleFilter
Filtering options for schedules.
titleContains
String
Partial match on title (case-insensitive contains).
ScheduleOrder
Ordering options for schedules.
ScheduleCreateInput
Input for creating a new schedule.
organizationId
ID!
The organization that will own the schedule.
title
String!
The schedule display name.
scheduleData
ScheduleData!
The schedule data.
ScheduleUpdateInput
Input for updating an existing schedule.
id
ID!
The schedule ID to update.
version
Int
The current version for optimistic locking. If omitted, auto-increments without conflict check.
title
String
The new display name.
scheduleData
ScheduleData
The new schedule data.
ScheduleDeleteInput
Input for deleting a schedule.
id
ID!
The schedule ID to delete.
version
Int
The current version for optimistic locking. If omitted, auto-increments without conflict check.
Enums
ScheduleOrderField
Fields available for ordering schedules.
TITLE
Order by title.
Scalars
ScheduleData
Schedule configuration as a JSON object — time intervals and recurrence. The same shape backs both the Schedule entity (scheduleData) and FieldType.SCHEDULE custom-field values.
A JSCalendar-aligned profile (RFC 8984 field names) restricted to the subset that round-trips to iCalendar / RFC 5545 (.ics). All date-times are local wall-clock (no offset), interpreted in the schedule-level timeZone — never UTC — so recurring events keep their wall-clock time across DST transitions. Validated on write (rejected with a field-specific message); reads are tolerant of legacy/empty values.
Field catalogue (NOT a single valid object — end/duration and count/until are mutually exclusive; numeric ranges below are value DOMAINS, not literal arrays). All date-times are local, e.g. 2025-01-06T09:00:00; dates for all-day, e.g. 2025-06-10.
Top level:
timeZone: IANA string, required. Zone for every TIMED event (all-day events are zone-independent).active: boolean, optional, default true. Manual on/off for schedule checks.description: string, optional, free text. (The NAME is the entity title, not stored here.)events: array, required, non-empty.
Each event:
uid: string, optional, stable slot id.title: string, optional, maps to VEVENT SUMMARY.start: local date (all-day) or date-time (timed), required. Date-times are exactlyyyyy-MM-dd'T'HH:mm:ss— seconds required, no fractional seconds, no offset/Z.endXORduration: a timed event needs exactly one; an all-day event may omit both.endis a local date-time (one-off / manual slots);durationis a positive ISO-8601 duration (e.g.PT9H, preferred for recurring — stable across DST); for an all-day event the duration must be whole days (e.g.P1D), no time component.showWithoutTime: boolean, optional. true → all-day:start/endare dates, FLOATING (ignorestimeZone); an all-dayrecurrenceRulemust not usebyHour/byMinute/bySecond.recurrenceRule: object, optional. Absent → a single occurrence atstart.excludedDates: array of local date-times, optional. EXDATE — drop whole occurrences.additionalDates: array of local date-times, optional. RDATE — add one-off occurrences.
recurrenceRule:
frequency: one ofsecondly|minutely|hourly|daily|weekly|monthly|yearly, required.interval: integer >= 1, optional (default 1).countXORuntil: optional; never both. Neither → repeats forever.untilis a local date-time.byDay: array of{ "day": <mo|tu|we|th|fr|sa|su>, "nthOfPeriod"?: <non-zero int> }. An ordinalnthOfPeriod(e.g.{day:"mo",nthOfPeriod:1}= first Monday) is valid only for monthly/yearly.byMonth: 1..12.byMonthDay: -31..-1 or 1..31.byYearDay: -366..-1 or 1..366.byWeekNo: -53..-1 or 1..53.byHour: 0..23.byMinute: 0..59.bySecond: 0..60 (60 = leap second).firstDayOfWeek: one ofmo..su, optional (WKST, default mo).
Numeric recurrence domains follow RFC 5545 §3.3.10. Maps to a VEVENT per events[] entry on .ics export (post-MVP). See Specification below.
Format
JSCalendar-aligned JSON (RFC 8984)
Example
{"timeZone": "America/New_York", "events": [{"start": "2025-01-06T09:00:00", "duration": "PT8H", "recurrenceRule": {"frequency": "weekly", "byDay": [{"day": "mo"}, {"day": "we"}, {"day": "fr"}]}}]}
Pagination types
ScheduleConnection
A paginated list of Schedule items.
Implements: Connection
ScheduleEdge
An edge in the Schedule connection.
Implements: Edge
cursor
String!
An opaque cursor for this edge.
Last updated
Was this helpful?