Skip to content

Schedule

Schedule service implementation.

Schedule

Bases: ONVIFService

0.0.1 2.6

Schedule service client.

Property Details
First introduced ONVIF 2.6 (June 2015)
Binding name ScheduleBinding (ver10/schedule/wsdl/schedule.wsdl)
Operations schedule.wsdl
Spec Scheduler

GetServiceCapabilities

GetServiceCapabilities()

This operation returns the capabilities of the schedule service.

Output
  • Capabilities [ServiceCapabilities]
    The capability response message contains the requested schedule service capabilities using a hierarchical XML capability structure.
    • MaxLimit - required; [PositiveInteger]
      The maximum number of entries returned by a single Get<Entity>List or Get<Entity> request. The device shall never return more than this number of entities in a single response.
    • MaxSchedules - required; [PositiveInteger]
      Indicates the maximum number of schedules the device supports. The device shall support at least one schedule.
    • MaxTimePeriodsPerDay - required; [PositiveInteger]
      Indicates the maximum number of time periods per day the device supports in a schedule including special days schedule. The device shall support at least one time period per day.
    • MaxSpecialDayGroups - required; [PositiveInteger]
      Indicates the maximum number of special day group entities the device supports. The device shall support at least one ‘SpecialDayGroup’ entity.
    • MaxDaysInSpecialDayGroup - required; [PositiveInteger]
      Indicates the maximum number of days per ‘SpecialDayGroup’ entity the device supports. The device shall support at least one day per ‘SpecialDayGroup’ entity.
    • MaxSpecialDaysSchedules - required; [PositiveInteger]
      Indicates the maximum number of ‘SpecialDaysSchedule’ entities referred by a schedule that the device supports.
    • ExtendedRecurrenceSupported - required; [boolean]
      For schedules: If this capability is supported, then all iCalendar recurrence types shall be supported by the device. The device shall also support the start and end dates (or iCalendar occurrence count) in recurring events (see iCalendar examples in section 3). If this capability is not supported, then only the weekly iCalendar recurrence type shall be supported. Non-recurring events and other recurring types are not supported. The device shall only accept a start date with the year ‘1970’ (the month and day is needed to reflect the week day of the recurrence) and will not accept an occurrence count (or iCalendar until date) in recurring events. For special days (only applicable if SpecialDaysSupported is set to true): If this capability is supported, then all iCalendar recurrence types shall be supported by the device. The device shall also support the start and end dates (or occurrence count) in recurring events. If this capability is not supported, then only non-recurring special days are supported.
    • SpecialDaysSupported - required; [boolean]
      If this capability is supported, then the device shall support special days.
    • StateReportingSupported - required; [boolean]
      If this capability is set to true, the device shall implement the GetScheduleState command, and shall notify subscribing clients whenever schedules become active or inactive.
    • ClientSuppliedTokenSupported - optional; [boolean]
      Indicates that the client is allowed to supply the token when creating schedules and special day groups. To enable the use of the commands SetSchedule and SetSpecialDayGroup, the value must be set to true.

GetScheduleState

GetScheduleState(Token)

This operation requests the ScheduleState for the schedule instance specified by the given token.

Input
  • Token [ReferenceToken]
    Token of schedule instance to get ScheduleState.
    Minimum length: 0
    Maximum length: 64
Output
  • ScheduleState [ScheduleState]
    ScheduleState item.
    • Active [boolean]
      Indicates that the current time is within the boundaries of the schedule or its special days schedules’ time periods. For example, if this schedule is being used for triggering automatic recording on a video source, the Active flag will be true when the schedule-based recording is supposed to record.
    • SpecialDay - optional; [boolean]
      Indicates that the current time is within the boundaries of its special days schedules’ time periods. For example, if this schedule is being used for recording at a lower frame rate on a video source during special days, the SpecialDay flag will be true. If special days are not supported by the device, this field may be omitted and interpreted as false by the client.
    • Extension - optional; [ScheduleStateExtension]

GetScheduleInfo

GetScheduleInfo(Token)

This method returns a list of schedule info items, specified in the request.

Only found schedules shall be returned, i.e., the returned numbers of elements can differ from the requested element. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching the specified tokens. If the number of requested items is greater than MaxLimit, a TooManyItems fault shall be returned.

Input
  • Token - unbounded; [ReferenceToken]
    Tokens of ScheduleInfo items to get.
    Minimum length: 0
    Maximum length: 64
Output
  • ScheduleInfo - optional, unbounded; [ScheduleInfo]
    List of ScheduleInfo items.
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024

GetScheduleInfoList

GetScheduleInfoList(Limit=None, StartReference=None)

This operation requests a list of all of ScheduleInfo items provided by the device.

A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater the Limit parameter.

Input
  • Limit - optional; [int]
    Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.
  • StartReference - optional; [string]
    Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.
Output
  • NextStartReference - optional; [string]
    StartReference to use in next call to get the following items. If absent, no more items to get.
  • ScheduleInfo - optional, unbounded; [ScheduleInfo]
    List of ScheduleInfo items.
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024

GetSchedules

GetSchedules(Token)

This operation returns the specified schedule item matching the given tokens.

The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching the specified tokens. If the number of requested items is greater than MaxLimit, a TooManyItems fault shall be returned

Input
  • Token - unbounded; [ReferenceToken]
    Tokens of Schedule items to get
    Minimum length: 0
    Maximum length: 64
Output
  • Schedule - optional, unbounded; [Schedule]
    List of schedule items.
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Standard [string]
      An iCalendar structure that defines a number of events. Events can be recurring or non-recurring. The events can, for instance, be used to control when a camera should record or when a facility is accessible. Some devices might not be able to fully support all the features of iCalendar. Setting the service capability ExtendedRecurrenceSupported to false will enable more devices to be ONVIF compliant. Is of type string (but contains an iCalendar structure).
    • SpecialDays - optional, unbounded; [SpecialDaysSchedule]
      For devices that are not able to support all the features of iCalendar, supporting special days is essential. Each SpecialDaysSchedule instance defines an alternate set of time periods that overrides the regular schedule for a specified list of special days. Is of type SpecialDaysSchedule.
      • GroupToken [ReferenceToken]
        Indicates the list of special days in a schedule.
        Minimum length: 0
        Maximum length: 64
      • TimeRange - optional, unbounded; [TimePeriod]
        Indicates the alternate time periods for the list of special days (overrides the regular schedule). For example, the regular schedule indicates that it is active from 8AM to 5PM on Mondays. However, this particular Monday is a special day, and the alternate time periods state that the schedule is active from 9 AM to 11 AM and 1 PM to 4 PM. If no time periods are defined, then no access is allowed. Is of type TimePeriod.
        • From [time]
          Indicates the start time.
        • Until - optional; [time]
          Indicates the end time. Is optional, if omitted, the period ends at midnight. The end time is exclusive, meaning that that exact moment in time is not part of the period. To determine if a moment in time (t) is part of a time period, the formula StartTime ≤ t < EndTime is used.
        • Extension - optional; [TimePeriodExtension]
      • Extension - optional; [SpecialDaysScheduleExtension]
    • Extension - optional; [ScheduleExtension]

GetScheduleList

GetScheduleList(Limit=None, StartReference=None)

This operation requests a list of all of Schedule items provided by the device.

A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater the Limit parameter.

Input
  • Limit - optional; [int]
    Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.
  • StartReference - optional; [string]
    Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.
Output
  • NextStartReference - optional; [string]
    StartReference to use in next call to get the following items. If absent, no more items to get.
  • Schedule - optional, unbounded; [Schedule]
    List of Schedule items.
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Standard [string]
      An iCalendar structure that defines a number of events. Events can be recurring or non-recurring. The events can, for instance, be used to control when a camera should record or when a facility is accessible. Some devices might not be able to fully support all the features of iCalendar. Setting the service capability ExtendedRecurrenceSupported to false will enable more devices to be ONVIF compliant. Is of type string (but contains an iCalendar structure).
    • SpecialDays - optional, unbounded; [SpecialDaysSchedule]
      For devices that are not able to support all the features of iCalendar, supporting special days is essential. Each SpecialDaysSchedule instance defines an alternate set of time periods that overrides the regular schedule for a specified list of special days. Is of type SpecialDaysSchedule.
      • GroupToken [ReferenceToken]
        Indicates the list of special days in a schedule.
        Minimum length: 0
        Maximum length: 64
      • TimeRange - optional, unbounded; [TimePeriod]
        Indicates the alternate time periods for the list of special days (overrides the regular schedule). For example, the regular schedule indicates that it is active from 8AM to 5PM on Mondays. However, this particular Monday is a special day, and the alternate time periods state that the schedule is active from 9 AM to 11 AM and 1 PM to 4 PM. If no time periods are defined, then no access is allowed. Is of type TimePeriod.
        • From [time]
          Indicates the start time.
        • Until - optional; [time]
          Indicates the end time. Is optional, if omitted, the period ends at midnight. The end time is exclusive, meaning that that exact moment in time is not part of the period. To determine if a moment in time (t) is part of a time period, the formula StartTime ≤ t < EndTime is used.
        • Extension - optional; [TimePeriodExtension]
      • Extension - optional; [SpecialDaysScheduleExtension]
    • Extension - optional; [ScheduleExtension]

CreateSchedule

CreateSchedule(Schedule)

This operation creates the specified schedule.

The token field of the schedule structure shall be empty, the device shall allocate a token for the schedule. The allocated token shall be returned in the response. If the client sends any value in the token field, the device shall return InvalidArgVal as generic fault code.

Input
  • Schedule [Schedule]
    The Schedule to create
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Standard [string]
      An iCalendar structure that defines a number of events. Events can be recurring or non-recurring. The events can, for instance, be used to control when a camera should record or when a facility is accessible. Some devices might not be able to fully support all the features of iCalendar. Setting the service capability ExtendedRecurrenceSupported to false will enable more devices to be ONVIF compliant. Is of type string (but contains an iCalendar structure).
    • SpecialDays - optional, unbounded; [SpecialDaysSchedule]
      For devices that are not able to support all the features of iCalendar, supporting special days is essential. Each SpecialDaysSchedule instance defines an alternate set of time periods that overrides the regular schedule for a specified list of special days. Is of type SpecialDaysSchedule.
      • GroupToken [ReferenceToken]
        Indicates the list of special days in a schedule.
        Minimum length: 0
        Maximum length: 64
      • TimeRange - optional, unbounded; [TimePeriod]
        Indicates the alternate time periods for the list of special days (overrides the regular schedule). For example, the regular schedule indicates that it is active from 8AM to 5PM on Mondays. However, this particular Monday is a special day, and the alternate time periods state that the schedule is active from 9 AM to 11 AM and 1 PM to 4 PM. If no time periods are defined, then no access is allowed. Is of type TimePeriod.
        • From [time]
          Indicates the start time.
        • Until - optional; [time]
          Indicates the end time. Is optional, if omitted, the period ends at midnight. The end time is exclusive, meaning that that exact moment in time is not part of the period. To determine if a moment in time (t) is part of a time period, the formula StartTime ≤ t < EndTime is used.
        • Extension - optional; [TimePeriodExtension]
      • Extension - optional; [SpecialDaysScheduleExtension]
    • Extension - optional; [ScheduleExtension]
Output
  • Token [ReferenceToken]
    The token of created Schedule
    Minimum length: 0
    Maximum length: 64

SetSchedule

SetSchedule(Schedule)

This operation modifies or creates the specified schedule.

Input
  • Schedule [Schedule]
    The Schedule to modify/create
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Standard [string]
      An iCalendar structure that defines a number of events. Events can be recurring or non-recurring. The events can, for instance, be used to control when a camera should record or when a facility is accessible. Some devices might not be able to fully support all the features of iCalendar. Setting the service capability ExtendedRecurrenceSupported to false will enable more devices to be ONVIF compliant. Is of type string (but contains an iCalendar structure).
    • SpecialDays - optional, unbounded; [SpecialDaysSchedule]
      For devices that are not able to support all the features of iCalendar, supporting special days is essential. Each SpecialDaysSchedule instance defines an alternate set of time periods that overrides the regular schedule for a specified list of special days. Is of type SpecialDaysSchedule.
      • GroupToken [ReferenceToken]
        Indicates the list of special days in a schedule.
        Minimum length: 0
        Maximum length: 64
      • TimeRange - optional, unbounded; [TimePeriod]
        Indicates the alternate time periods for the list of special days (overrides the regular schedule). For example, the regular schedule indicates that it is active from 8AM to 5PM on Mondays. However, this particular Monday is a special day, and the alternate time periods state that the schedule is active from 9 AM to 11 AM and 1 PM to 4 PM. If no time periods are defined, then no access is allowed. Is of type TimePeriod.
        • From [time]
          Indicates the start time.
        • Until - optional; [time]
          Indicates the end time. Is optional, if omitted, the period ends at midnight. The end time is exclusive, meaning that that exact moment in time is not part of the period. To determine if a moment in time (t) is part of a time period, the formula StartTime ≤ t < EndTime is used.
        • Extension - optional; [TimePeriodExtension]
      • Extension - optional; [SpecialDaysScheduleExtension]
    • Extension - optional; [ScheduleExtension]

ModifySchedule

ModifySchedule(Schedule)

This operation modifies or updates the specified schedule.

Input
  • Schedule [Schedule]
    The Schedule to modify/update
    • Name [Name]
      A user readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the schedule. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Standard [string]
      An iCalendar structure that defines a number of events. Events can be recurring or non-recurring. The events can, for instance, be used to control when a camera should record or when a facility is accessible. Some devices might not be able to fully support all the features of iCalendar. Setting the service capability ExtendedRecurrenceSupported to false will enable more devices to be ONVIF compliant. Is of type string (but contains an iCalendar structure).
    • SpecialDays - optional, unbounded; [SpecialDaysSchedule]
      For devices that are not able to support all the features of iCalendar, supporting special days is essential. Each SpecialDaysSchedule instance defines an alternate set of time periods that overrides the regular schedule for a specified list of special days. Is of type SpecialDaysSchedule.
      • GroupToken [ReferenceToken]
        Indicates the list of special days in a schedule.
        Minimum length: 0
        Maximum length: 64
      • TimeRange - optional, unbounded; [TimePeriod]
        Indicates the alternate time periods for the list of special days (overrides the regular schedule). For example, the regular schedule indicates that it is active from 8AM to 5PM on Mondays. However, this particular Monday is a special day, and the alternate time periods state that the schedule is active from 9 AM to 11 AM and 1 PM to 4 PM. If no time periods are defined, then no access is allowed. Is of type TimePeriod.
        • From [time]
          Indicates the start time.
        • Until - optional; [time]
          Indicates the end time. Is optional, if omitted, the period ends at midnight. The end time is exclusive, meaning that that exact moment in time is not part of the period. To determine if a moment in time (t) is part of a time period, the formula StartTime ≤ t < EndTime is used.
        • Extension - optional; [TimePeriodExtension]
      • Extension - optional; [SpecialDaysScheduleExtension]
    • Extension - optional; [ScheduleExtension]

DeleteSchedule

DeleteSchedule(Token)

This operation will delete the specified schedule.

If it is associated with one or more entities some devices may not be able to delete the schedule, and consequently a ReferenceInUse fault shall be generated.

Input
  • Token [ReferenceToken]
    The token of the schedule to delete.
    Minimum length: 0
    Maximum length: 64

GetSpecialDayGroupInfo

GetSpecialDayGroupInfo(Token)

This operation requests a list of SpecialDayGroupInfo items matching the given tokens.

The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching specified tokens. The device shall not return a fault in this case. If the number of requested items is greater than MaxLimit, a TooManyItems fault shall be returned.

Input
  • Token - unbounded; [ReferenceToken]
    Tokens of SpecialDayGroupInfo items to get.
    Minimum length: 0
    Maximum length: 64
Output
  • SpecialDayGroupInfo - optional, unbounded; [SpecialDayGroupInfo]
    List of SpecialDayGroupInfo items.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024

GetSpecialDayGroupInfoList

GetSpecialDayGroupInfoList(Limit=None, StartReference=None)

This operation requests a list of all of SpecialDayGroupInfo items provided by the device.

A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. The number of items returned shall not be greater than Limit parameter.

Input
  • Limit - optional; [int]
    Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.
  • StartReference - optional; [string]
    Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.
Output
  • NextStartReference - optional; [string]
    StartReference to use in next call to get the following items. If absent, no more items to get.
  • SpecialDayGroupInfo - optional, unbounded; [SpecialDayGroupInfo]
    List of SpecialDayGroupInfo items.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024

GetSpecialDayGroups

GetSpecialDayGroups(Token)

This operation returns the specified special day group item matching the given token.

Input
  • Token - unbounded; [ReferenceToken]
    Tokens of the SpecialDayGroup items to get
    Minimum length: 0
    Maximum length: 64
Output
  • SpecialDayGroup - optional, unbounded; [SpecialDayGroup]
    List of SpecialDayGroup items.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Days - optional; [string]
      An iCalendar structure that contains a group of special days. Is of type string (containing an iCalendar structure).
    • Extension - optional; [SpecialDayGroupExtension]

GetSpecialDayGroupList

GetSpecialDayGroupList(Limit=None, StartReference=None)

This operation requests a list of all of SpecialDayGroupList items provided by the device.

A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater the Limit parameter.

Input
  • Limit - optional; [int]
    Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.
  • StartReference - optional; [string]
    Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.
Output
  • NextStartReference - optional; [string]
    StartReference to use in next call to get the following items. If absent, no more items to get.
  • SpecialDayGroup - optional, unbounded; [SpecialDayGroup]
    List of SpecialDayGroup items.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Days - optional; [string]
      An iCalendar structure that contains a group of special days. Is of type string (containing an iCalendar structure).
    • Extension - optional; [SpecialDayGroupExtension]

CreateSpecialDayGroup

CreateSpecialDayGroup(SpecialDayGroup)

This operation creates the specified special day group.

The token field of the SpecialDayGroup structure shall be empty, the device shall allocate a token for the special day group. The allocated token shall be returned in the response. If there is any value in the token field, the device shall return InvalidArgVal as generic fault code.

Input
  • SpecialDayGroup [SpecialDayGroup]
    The special day group to create.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Days - optional; [string]
      An iCalendar structure that contains a group of special days. Is of type string (containing an iCalendar structure).
    • Extension - optional; [SpecialDayGroupExtension]
Output
  • Token [ReferenceToken]
    The token of created special day group.
    Minimum length: 0
    Maximum length: 64

SetSpecialDayGroup

SetSpecialDayGroup(SpecialDayGroup)

This operation modifies or creates the specified special day group.

Input
  • SpecialDayGroup [SpecialDayGroup]
    The SpecialDayGroup to modify/create
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Days - optional; [string]
      An iCalendar structure that contains a group of special days. Is of type string (containing an iCalendar structure).
    • Extension - optional; [SpecialDayGroupExtension]

ModifySpecialDayGroup

ModifySpecialDayGroup(SpecialDayGroup)

This operation updates the specified special day group.

Input
  • SpecialDayGroup [SpecialDayGroup]
    The special day group to modify/update.
    • Name [Name]
      User readable name. It shall be up to 64 characters.
      Minimum length: 0
      Maximum length: 64
    • Description - optional; [Description]
      User readable description for the special days. It shall be up to 1024 characters.
      Minimum length: 0
      Maximum length: 1024
    • Days - optional; [string]
      An iCalendar structure that contains a group of special days. Is of type string (containing an iCalendar structure).
    • Extension - optional; [SpecialDayGroupExtension]

DeleteSpecialDayGroup

DeleteSpecialDayGroup(Token)

This method deletes the specified special day group.

If it is associated with one or more schedules some devices may not be able to delete the special day group, and consequently a ReferenceInUse fault must be generated.

Input
  • Token [ReferenceToken]
    The token of the special day group item to delete.
    Minimum length: 0
    Maximum length: 64