WSD Recurring Reservation API
The Workplace Service Delivery (WSD) Recurring Reservation API provides endpoints for managing reservations that occur at the same time, but have different dates.
To access this API, the caller must have the sn_wsd_core.workplace_user role and the Workplace Safety Management (sn_wsd_core) and Workplace Reservation Management (sn_wsd_rsv) plugins must be activated.
This API runs in the sn_wsd_rsv namespace.
For additional information on Workplace Reservation Management, see Workplace Reservation Management.
Parent Topic:REST API reference
WSD Recurring Reservation - GET /api/sn_wsd_rsv/recurring_reservation/list/{parent_id}
Returns the specified recurring reservation.
If more than six recurring meeting occurrences are available for the reservation, you can paginate through the occurrences using the query parameters. You can also specify occurrence records not to return.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/recurring_reservation/list/{parent_id}
Default URL: /api/sn_wsd_rsv/recurring_reservation/list/{parent_id}
Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.
Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| parent\_id | Sys\_id of the recurring parent reservation record.When a recurring reservation is created, one recurring parent record and one or more child reservation records are created. Reservation records contain a field called reservation\_subtype, that indicates the type of reservation record. For recurring parent records, this field is set to "Recurring parent". For child records, this field is set to "Occurrence". Within a child record, the sys\_id of the associated recurring parent record is in the source\_reservation field. Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| Name | Description |
|---|---|
| end\_index | When paginating through a recurring record set, the zero-based record number at which to stop returning occurrence records.Note: If the number of recurring occurrences is less than six the endpoint returns all of the occurrences, otherwise it returns the first six occurrences. To retrieve the occurrences beyond six, you must pass the end_index parameter accordingly. Data type: Number |
| occurrence\_sys\_id | Sys\_id of an occurrence record in the recurring series not to return.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| start\_index | When paginating through a recurring record set, the zero-based record number at which to start returning occurrence records.Data type: Number Default: 0 |
| Name | Description |
|---|---|
| None |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the request body. Supported types: application/json, application/xml or, text/xml. Default: application/json |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Return results for the requested recurring reservation.Data type: Object |
| result.occurencesTotalCount | Total number of meeting occurrences in the recurring series.Data type: String |
| result.reservation | Details about the requested recurring reservation.Data type: Object |
| result.reservation.active | Flag that indicates whether the reservation is active.Valid values: - true: Reservation is active. - false: Reservation is inactive. Data type: Boolean |
| result.reservation.attendees | List of attendees for the reservation.Data type: Array of Objects |
| result.reservation.attendees.avatar | Sys\_id of the avatar associated with the attendee.Data type: String Table: Attachments \[sys\_attachment\] |
| result.reservation.attendees.displayValue | Display value for the attendee.Data type: String |
| result.reservation.attendees.display\_value | Display value of the attendee. Same as displayValue.Data type: String |
| result.reservation.attendees.email | Attendee's email address.Data type: String |
| result.reservation.attendees.initials | Attendee's initials.Data type: String |
| result.reservation.attendees.name | Attendee's name.Data type: String |
| result.reservation.attendees.sys\_id | Sys\_id of the attendee record.Data type: String |
| result.reservation.attendees.table | Table in which the attendee record exists.Data type: String |
| result.reservation.attendees.user\_name | Attendee's user name.Data type: String |
| result.reservation.attendees.value | Internal value of the attendee.Data type: String |
| result.reservation.check\_in\_state | Details about the check-in state of the reservation.Data type: Object |
| result.reservation.check\_in\_state.display\_value | Display value for the current check-in state of the reservation, such as In progress or complete.Data type: String |
| result.reservation.check\_in\_state.value | Internal value for the current check-in state of the reservation, such as 2.Data type: String |
| result.reservation.edit\_restriction | Description of the user edit restrictions for the reservation, such as no\_restrictions, service\_only, or fully\_restricted.Data type: Object |
| result.reservation.edit\_restriction.display\_value | Display value for the edit restrictions for the reservation, such as `No restriction`.Data type: String |
| result.reservation.edit\_restriction.value | Internal value for the edit restrictions for the reservation, such as `no_restriction`.Data type: String |
| result.reservation.end | Reservation end date and time.Data type: String Format: UTC: yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.reservation.external\_ical | Unique external iCalendar identification of the reservation. Use this value to identify the reservation when this is a calendar sync related reservation.Data type: String |
| result.reservation.external\_id | Unique external identification of the reservation. Use this value to identify the reservation when this is a calendar sync related reservation.Data type: String |
| result.reservation.is\_parent | Flag that indicates whether this reservation is a parent reservation.Possible values: - true: Parent reservation. - false: Not a parent reservation. Data type: Boolean |
| result.reservation.last\_updated\_sub\_source | Details about the last updated sub-source for the reservation. Sub-sources are used when integrating reservations with an external calendar. This object contains information such as "servicenow\_workplace\_service\_delivery", "google\_calendar", or "microsoft\_exchange".Data type: Object |
| result.reservation.last\_updated\_sub\_source.display\_value | Display value for the last updated sub-source of the reservation, such as `ServiceNow Workplace Service Delivery` or `Google Calendar`. Used when integrating the reservation with an outside service such as Google calendar or Microsoft Outlook.Data type: String |
| result.reservation.last\_updated\_sub\_source.value | Internal value for the last updated sub-source of the reservation, such as `servicenow_workplace_service_delivery` or `google_calendar`. Used when integrating the reservation with an outside service such as Google calendar or Microsoft Outlook.Data type: String |
| result.reservation.location | Details about the location associated with the reservation.Data type: Object |
| result.reservation.location.area | Details about the area associated with the location.Data type: Object |
| result.reservation.location.area.active | Flag that indicates whether the area is active.Valid values: - true: Area is active. - false: Area is inactive. Data type: Boolean |
| result.reservation.location.area.display\_value | Display value of the area to which this location belongs, such as Desk A2.Data type: String |
| result.reservation.location.area.sys\_id | Sys\_id of the area to which this location belongs.Data type: String Table: Area \[sn\_wsd\_core\_area\] |
| result.reservation.location.building | Details about the building associated with the location.Data type: Object |
| result.reservation.location.building.active | Flag that indicates whether the building is active.Valid values: - true: Building is active. - false: Building is inactive. Data type: Boolean |
| result.reservation.location.building.display\_value | Display value of the building to which this location belongs, such as AMS - Bld1.Data type: String |
| result.reservation.location.building.sys\_id | Sys\_id of the building to which this location belongs.Data type: String Table: Building \[sn\_wsd\_core\_building\] |
| result.reservation.location.building.timezone | Details of the time zone for the building.Data type: Object |
| result.reservation.location.building.timezone.display\_value | Display value of the time zone in which the associated building resides.Data type: String |
| result.reservation.location.building.timezone.value | Internal value for the time zone to which this location belongs.Data type: String |
| result.reservation.location.campus | Details about the campus associated with the location.Data type: Object |
| result.reservation.location.campus.active | Flag that indicates whether the campus is active.Valid values: - true: Campus is active. - false: Campus is inactive. Data type: Boolean |
| result.reservation.location.campus.display\_value | Display value of the campus to which this location belongs, such as Amsterdam Campus.Data type: String |
| result.reservation.location.campus.sys\_id | Sys\_id of the campus to which this location belongs.Data type: String Table: Campus \[sn\_wsd\_core\_campus\] |
| result.reservation.location.capacity | Maximum number of occupants for the location.Data type: Number |
| result.reservation.location.description | Brief description of the location.Data type: String |
| result.reservation.location.display\_value | Value to display in the UI for this location.Data type: String |
| result.reservation.location.email | Email address for the location.Data type: String |
| result.reservation.location.floor | Details about the floor associated with the location.Data type: Object |
| result.reservation.location.floor.active | Flag that indicates whether the floor is active.Valid values: - true: Floor is active. - false: Floor is inactive. Data type: Boolean |
| result.reservation.location.floor.display\_value | Display value of the floor to which this location belongs, such as First floor.Data type: String |
| result.reservation.location.floor.sys\_id | Sys\_id of the floor to which this location belongs.Data type: String Table: Floor \[sn\_wsd\_core\_floor\] |
| result.reservation.location.label\_value | Type of value specified in the name parameter, such as Room name.Data type: String |
| result.reservation.location.name | Name of the location.Data type: String |
| result.reservation.location.number | Reservation number.Data type: String |
| result.reservation.location.number\_of\_attendees | Number of attendees for the reservation.Data type: Number |
| result.reservation.location.reservable\_module | Details about the reservable module associated with the reservation.Data type: Object |
| result.reservation.location.reservable\_module.inline\_title | Inline title of the reservable module. The title appears in line with the descriptive text on the Workplace service portal.Data type: String |
| result.reservation.location.reservable\_module.name | Name of the reservable module.Data type: String |
| result.reservation.location.reservable\_module.sys\_id | Sys\_id of the reservable module.Data type: String |
| result.reservation.location.reservable\_module.title | Title of the reservable module.Data type: String |
| result.reservation.location.region | Details about the region associated with the location.Data type: Object |
| result.reservation.location.region.active | Flag that indicates whether the region is active.Valid values: - true: Region is active. - false: Region is inactive. Data type: Boolean |
| result.reservation.location.region.display\_value | Display value of the region to which this location belongs, such as Europe.Data type: String |
| result.reservation.location.region.sys\_id | Sys\_id of the region to which this location belongs.Data type: String Table: Region \[sn\_wsd\_core\_region\] |
| result.reservation.location.reservation | Details about the reservation associated with the location.Data type: Object |
| result.reservation.location.reservation.active | Flag that indicates whether the reservation is active.Valid values: - true: Reservation is active. - false: Reservation is inactive. Data type: Boolean |
| result.reservation.location.reservation.number | Reservation number.Data type: String |
| result.reservation.location.reservation.number\_of\_attendees | Number of attendees of the reservation.Data type: Number |
| result.reservation.location.reservation.requested\_for | Details about the person for whom the reservation was requested on behalf of.Data type: Object |
| result.reservation.location.reservation.requested\_for.name | Name of the user for whom the reservation was requested for.Data type: String |
| result.reservation.location.reservation.requested\_for.sys\_id | Sys\_id of the requested for user.Data type: String Table: User \[sys\_user\] |
| result.reservation.location.reservation.requested\_for.user\_name | User name of the user for whom the reservation was requested for.Data type: String |
| result.reservation.location.reservation.state | Details about the state of the reservation for the location.Data type: Object |
| result.reservation.location.reservation..state.display\_value | Display value for the current state of the reservation, such as confirmed.Data type: String |
| result.reservation.location.reservation..state.value | Internal value for the current state of the reservation, such as 2.Data type: String |
| result.reservation.location.site | Site to which the location belongs.Data type: Object |
| result.reservation.location.site.active | Flag that indicates whether the site is active.Valid values: - true: Site is active. - false: Site is inactive. Data type: Boolean |
| result.reservation.location.site.display\_value | Display value of the site to which this location belongs, such as Western Europe.Data type: String |
| result.reservation.location.site.sys\_id | Sys\_id of the site to which this location belongs.Data type: String Table: Site \[sn\_wsd\_core\_site\] |
| result.reservation.location.standard\_services | Standard available services.Data type: String |
| result.reservation.location.state | Details about the state of the reservation for the location.Data type: Object |
| result.reservation.location.state.display\_value | Display value for the current state of the reservation, such as confirmed.Data type: String |
| result.reservation.location.state.value | Internal value for the current state of the reservation, such as 2.Data type: String |
| result.reservation.location.sys\_id | Sys\_id of the associated location record.Data type: String Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\] |
| result.reservation.notification\_custom\_message | Custom message for the notification sent to the recipients listed in reservation.notification_recipients.Data type: String |
| result.reservation.notification\_recipients | List of recipients that receive notification about the reservation.Data type: Array of Objects |
| result.reservation.notification\_recipients.name | Name of the recipient.Data type: String |
| result.reservation.notification\_recipients.sys\_id | Sys\_id of the recipient.Data type: String Table: User \[sys\_user\] |
| result.reservation.notification\_recipients.user\_name | User name of the recipient.Data type: String |
| result.reservation.number | Unique number of the reservation record. You can use this value to query the reservation.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| result.reservation.number\_of\_attendees | Number of attendees in this reservation.Data type: Number |
| result.reservation.opened\_by | Details about the user that created the reservation.Data type: Object |
| result.reservation.opened\_by.avatar | Avatar for the user that opened the reservation.Data type: String |
| result.reservation.opened\_by.displayValue | Display value of the opened by user.Data type: String |
| result.reservation.opened\_by.display\_value | Display value of the opened by user.Data type: String |
| result.reservation.opened\_by.email | Email address for the user that opened the reservation.Data type: String |
| result.reservation.opened\_by.initials | Initials of the user that opened the reservation.Data type: String |
| result.reservation.opened\_by.name | Name of the user that opened the reservation.Data type: String |
| result.reservation.opened\_by.user\_name | User name of the user that opened the reservation.Data type: String |
| result.reservation.opened\_by.value | Internal value of the user that opened the reservation.Data type: String |
| result.reservation.recording\_details | Details about the recordings associated with the reservation \(meeting\).Data type: Array of Objects |
| result.reservation.recording\_details.recording\_url | URL of the recordings associated with the reservation.Data type: String |
| result.reservation.recurring\_pattern | Details about the recurring pattern for the reservation.Data type: Object |
| result.reservation.recurring\_pattern.amountOfDates | Number of dates for which the reservables are reserved.Data type: String |
| result.reservation.recurring\_pattern.duration | Length of time to reserve the reservable. Data type: Number Unit: Seconds |
| result.reservation.recurring\_pattern.label | Descriptive name for the recurring reservation.Data type: String |
| result.reservation.recurring\_pattern.options | Details about the options associated with the recurring reservation.Data type: Object |
| result.reservation.recurring\_pattern.options.count | Number of times to repeat the pattern. Data type: Number |
| result.reservation.recurring\_pattern.options.daysOfWeek | Days of the week that the reservable is needed. Valid values:
For example, to specify Tuesday, Thursday, and Friday, pass 245 (no delimiter). If repeats is Data type: String |
| result.reservation.recurring\_pattern.options.every | Pattern repeat interval. For example, the value '2' indicates that the pattern repeats every 2 days or 2 months depending on the value of the repeats property.Note: This setting is not applicable to weekly repeat intervals. You can set the repeats property to Data type: Number Default value: 1 |
| result.reservation.recurring\_pattern.options.endDate | End date and time of the recurrence of the meeting, such as "2022-07-08T14:00:00Z".Data type: String Format: UTC yyyy-mm-dd hh:mm:ss |
| result.reservation.recurring\_pattern.options.endDateGdt | End date and time of the recurrence of the meeting.Data type: String Format: GDT, such as "2022-07-08T14:00:00Z" |
| result.reservation.recurring\_pattern.repeats | Repeating pattern for the reservable. Valid values: (case-sensitive)
Note: The pattern repeat interval is set in the options.every property. The only valid repeat interval for weekly patterns is one. Data type: String |
| result.reservation.recurring\_pattern.startDate | Start date and time for the recurring pattern, such as "2022-07-08T14:00:00Z". Data type: String Format: UTC yyyy-mm-dd hh:mm:ss |
| result.reservation.recurring\_pattern.startDateGdt | Start date and time for the recurring pattern, such as "2022-07-08T14:00:00Z". Data type: String Format: UTC yyyy-mm-dd hh:mm:ss |
| result.reservation.requested\_for | Details about the user that the reservation was made on behalf of.Data type: Object |
| result.reservation.requested\_for.avatar | Avatar for the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.displayValue | Display value of the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.display\_value | Display value of the user that the reservation was made on behalf of. Same as displayValue.Data type: String |
| result.reservation.requested\_for.email | Email address for the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.initials | Initials of the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.label | Label for the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.name | Name of the user that the reservation was made on behalf of.Data type: String |
| result.rservation.requested\_for.sys\_id | Sys\_id\_of the user that the reservation was made on behalf of.Data type: String Table: User \[sys\_user\] |
| result.rservation.requested\_for.table | Table that contains the user record.Data type: String |
| result.reservation.requested\_for.user\_name | User name of the user that the reservation was made on behalf of.Data type: String |
| result.reservation.requested\_for.value | Internal value of the user that the reservation was made on behalf of.Data type: String |
| result.reservation.reservable\_module | Details for the requested reservable module.Data type: Object |
| result.reservation.reservable\_module.allow\_invitees | Flag that indicates whether employees are able to add invitees to the reservation. Valid values: - true: Allow employees to add invitees to the reservation. - false: Don't allow employees to add invitees to the reservation. Data type: Boolean |
| result.reservation.reservable\_module.allow\_whole\_day | Flag that indicates whether users can reserve the reservable for the entire day. Valid values: - true: Allow users to reserve for the entire day. - false: Don't allow users to reserve for the entire day. Data type: Boolean |
| result.reservation.reservable\_module.apply\_to\_shift | Flag that indicates whether shift-based reservations are enabled for the reservable module. Valid values: - true: Allow shift-based reservations. - false: Don't allow shift-based reservations. Data type: Boolean |
| result.reservation.reservable\_module.browse\_by\_area\_enabled | Flag that indicates whether users are able to search for reservable modules by area.Valid values: - true: Allow users to browse reservable modules by area. - false: Don't allow users to browse reservable modules by area. Data type: Boolean |
| result.reservation.reservable\_module.browse\_near\_a\_person\_enabled | Flag that indicates whether users are able to search for reservable modules located by a specified person.Valid values: - true: Allow users to browse reservable modules near a person. - false: Don't allow users to browse reservable modules near a person. Data type: Boolean |
| result.reservation.reservable\_module.buildingSysIds | List of sys\_ids of the buildings associated with the reservable module.Data type: Array of Strings |
| result.reservation.reservable\_module.checkin\_before\_minutes | Amount of time before a reservation starts that a user can check into their reservation.Unit: Minutes Data type: Number |
| result.reservation.reservable\_module.display\_number\_of\_attendees | Flag that indicates whether users can specify the number of attendees in the reservation. Valid values: - true: Users can specify the number of attendees. - false: Users can't specify the display number of attendees. Data type: Boolean |
| result.reservation.reservable\_module.display\_on\_behalf\_of | Flag that indicates whether reservations can be made on behalf of someone else. Valid values: - true: On behalf of supported. - false: On behalf of not supported. Data type: Boolean |
| result.reservation.reservable\_module.display\_sensitivity | Flag that indicates whether users can set the sensitivity of the reservation, such as normal or private.Valid values: - true: Able to set sensitivity. - false: Not able to set sensitivity. Defaults to normal. Data type: Boolean |
| result.reservation.reservable\_module.display\_value | Display value of the reservable module.Data type: String |
| result.reservation.reservable\_module.enable\_browse\_by\_area | Flag that indicates whether users are able to search for reservable modules by area. Same as browse_by_area_enabled.Valid values:
Data type: Boolean |
| result.reservation.reservable\_module.enable\_browse\_near\_a\_person | Flag that indicates whether users are able to search for reservable modules located by a specified person. Same asbrowse_near_a_person_enabled.Valid values:
Data type: Boolean |
| result.reservation.reservable\_module.enable\_facet\_filter | Flag that indicates whether facet filtering on workplace items is enabled. When enabled, the filter options that appear are based on the search results. Only the items that are available in the generated search result are available to users for selection in the filter.Valid values: - true: Facet filters are enabled. - false: Facet filters aren't enabled. Data type: Boolean |
| result.reservation.reservable\_module.enable\_group\_reservations | Flag that indicates whether users can make a group reservation.Valid values: - true: Able to make group reservations. - false: Not able to make group reservations. Data type: Boolean |
| result.reservation.reservable\_module.enable\_ical\_generation | Flag that indicates whether users can generate an iCalendar for the reservation.Valid values: - true: iCalendar generation allowed. - false: iCalendar generation isn't allowed. Data type: Boolean |
| result.reservation.reservable\_module.font\_awesome\_icon | Name of the font icon attached to the reservable module.Data type: String |
| result.reservation.reservable\_module.inline\_title | Inline title of the reservable module. The title appears in line with the descriptive text on the Workplace service portal.Data type: String |
| result.reservation.reservable\_module.layout\_mapping | Details about the structure of the layout mapping of locations. Use this data to lay out the information in the UI. Data type: Object |
| result.reservation.reservable\_module.layout\_mapping.body | Placeholder for mapping the front-end UI data.Data type: Array of Objects |
| result.reservation.reservable\_module.layout\_mapping.body.field | Placeholder for mapping the front-end UI data.Data type: String |
| result.reservation.reservable\_module.layout\_mapping.body.field\_to\_display | Placeholder for mapping the front-end UI data.Data type: String |
| result.reservation.reservable\_module.layout\_mapping.body.icon | Placeholder for mapping the front-end UI data.Data type: String |
| result.reservation.reservable\_module.layout\_mapping.body.label | Placeholder for mapping the front-end UI data.Data type: String |
| result.reservation.reservable\_module.layout\_mapping.description | Placeholder for mapping the front-end UI data. Description of the layout mapping.Data type: Array |
| result.reservation.reservable\_module.layout\_mapping.image | Placeholder for mapping the front-end UI data.Data type: String |
| result.reservation.reservable\_module.layout\_mapping.subtitle | Placeholder for mapping the front-end UI data.Data type: Array |
| result.reservation.reservable\_module.layout\_mapping.subtitle\_asc | Placeholder for mapping the front-end UI data.Data type: Array |
| result.reservation.reservable\_module.layout\_mapping.title | Placeholder for mapping the front-end UI data.Data type: Array |
| result.reservation.reservable\_module.max\_days\_in\_future | Maximum number of the days in the future that a user can reserve the reservable module.Data type: Number |
| result.reservation.reservable\_module.max\_occurrences | Maximum number of recurring reservation occurrences if recurring reservations are available for the reservable module.Data type: Number |
| result.reservation.reservable\_module.name | Name of the reservable module.Data type: String |
| result.reservation.reservable\_module.override\_approval\_policy | Option to specify how to implement the approval policy. Choices:
Data type: String |
| result.reservation.reservable\_module.require\_cancel\_notes | Flag that indicates whether users must enter a cancellation note before cancelling a reservable module.Valid values: - true: Cancellation note required. - false: Cancellation note not required. Data type: Boolean |
| result.reservation.reservable\_module.require\_cc\_dept\_check | Flag that indicates whether to check if there's a cost center or department mismatch between the workspace item and the logged in user. Valid values: - true: Check for a mismatch. - false: Don't check for a mismatch. Data type: Boolean |
| result.reservation.reservable\_module.require\_subject | Flag that indicates whether the user must enter a subject when making the reservation.Valid values: - true: Subject required. - false: Subject isn't required. Data type: Boolean |
| result.reservation.reservable\_module.reservable\_columns | List of the columns of a reservable.Data type: Array Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\] |
| result.reservation.reservable\_module.reservable\_container\_field | Level of the container, such as a group of desks in a specific area.Data type: String |
| result.reservation.reservable\_module.reservable\_filter | Filter conditions used to filter out reservable items in the associated Reservable table. Reservable table is a field in the Reservable Module \[sn\_wsd\_rsv\_reservable\_module\] table. These filter conditions were applied to the table contained in the field Reservable table.Data type: String |
| result.reservation.reservable\_module.reservable\_quantity\_field | Reservable quantity of all the spaces. The quantity is used when assigning neighbourhood spaces to an area. For additional information, see Assign neighborhood spaces to an area.Data type: String |
| result.reservation.reservable\_module.reservable\_table | Table that contains the reservable workplace items.Data type: String |
| result.reservation.reservable\_module.reservable\_type | Type of the reservable item, such as location.Data type: String |
| result.reservation.reservable\_module.reservable\_views | Details about the different views associated with the reservable module, such as card view or schedule view.Data type: Object |
| result.reservation.reservable\_module.reservable\_views.iconClass | Icon class of the reservable view.Data type: String |
| result.reservation.reservable\_module.reservable\_views.isDefault | Flag that indicates whether to make this reservable view the default for reservable modules. Valid values: - true: Make default. - false: Don't make default. Data type: Boolean |
| result.reservation.reservable\_module.reservable\_views.label | Name of the reservable view.Data type: String |
| result.reservation.reservable\_module.reservable\_views.order | Order in which the views are displayed for the reservable module in the UI. The lower order number come first in the UI. In case of the same order number, it is assigned random ordering.Data type: Number |
| result.reservation.reservable\_module.reservable\_views.type | Backend name of the reservable view. Used for internal processing.Data type: String |
| result.reservation.reservable\_module.reservation\_paths | Reservation paths associated with the reservable modules such as Browse all, Browse near a person.Data type: Array of Objects |
| result.reservation.reservable\_module.reservation\_paths.display\_value | Display value for the reservation path, such as "Browse near a person".Data type: String |
| result.reservation.reservable\_module.reservation\_paths.value | Internal value for the reservation path, such as "browse\_near\_a\_person".Data type: String |
| result.reservation.reservable\_module.search\_limit | Maximum number of search results to return when a user searches for a workplace location.Data type: Number |
| result.reservation.reservable\_module.selection\_type | Type of selection to display in the search results. Can be one of the following options: - Specific unit: The search result displays every workplace item. - Container: The search result displays the parent or container of the workplace items. Data type: String |
| result.reservation.reservable\_module.short\_description | Brief description of the reservable module.Data type: String |
| result.reservation.reservable\_module.show\_map\_view | Flag that indicates whether to enable the map view for reservable modules. Valid values: - true: Enable map view. - false: Don't enable map view. Data type: Boolean |
| result.reservation.reservable\_module.sys\_id | Sys\_id of the reservable module.Data type: String |
| result.reservation.reservable\_module.timeSlots | Details about the time slots associated for a reservable module.Data type: Array of Objects |
| result.reservation.reservable\_module.timeSlots.name | Name of the time slot.Data type: String |
| result.reservation.reservable\_module.timeSlots.short\_description | Brief description of the time slot.Data type: String |
| result.reservation.reservable\_module.timeSlots.slot\_end | End time of the time slot.Data type: String |
| result.reservation.reservable\_module.timeSlots.slot\_start | Start time of the slot.Data type: String |
| result.reservation.reservable\_module.timeSlots.sys\_id | Sys\_id of the time slot record.Data type: String Table: Time Slot \[sn\_wsd\_rsv\_time\_slot\] |
| result.reservation.reservable\_module.title | Title of the reservable module.Data type: String |
| result.reservation.reservable\_module.virtual\_meeting\_provider | Details about the virtual provider associated with the reservable module.Data type: Object |
| result.reservation.reservable\_module.virtual\_meeting\_provider.display\_value | Display value of the virtual meeting provider.Data type: String |
| result.reservation.reservable\_module.virtual\_meeting\_provider.sys\_id | Sys\_id of the virtual meeting provider.Data type: String |
| result.reservation.reservationAcl | Details of the user access control levels \(ACL\) checks set on the associated reservation.Data type: Object |
| result.reservation.reservationAcl.read | Flag that indicates whether to check if the user can read this reservation.Valid values: - true: Check if user can read the reservation. - false: Don't check if user can read the reservation. Data type: Boolean |
| result.reservation.reservationAcl.write | Details about the user's write capabilities for the associated reservation.Data type: Object |
| result.reservation.reservationAcl.write.allFields | Flag that indicates whether to check if the user can write to all fields specified in the reservationACL.write.fields object. If the user only has access to some specific fields, then only those fields are true in the reservationACL.write.fields object.Valid values:
Data type: Boolean |
| result.reservation.reservationAcl.write.fields | Details of the access controls on various fields of the reservation.Data type: Object |
| result.reservation.reservationAcl.write.fields.location | Flag that indicates whether to check if the user can write to the location fields in this reservation.Valid values: - true: Check if user can write to the location fields. - false: Don't check if user can write to the location fields. Data type: Boolean |
| result.reservation.reservationAcl.write.fields.number\_of\_attendees | Flag that indicates whether to check if the user can write to the number of attendees fields in this reservation.Valid values: - true: Check if user can write to the number of attendees field. - false: Don't check if user can write to the number of attendees field. Data type: Boolean |
| result.reservation.reservationAcl.write.fields.requested\_for | Flag that indicates whether to check if the user can write to the requested for fields in this reservation.Valid values: - true: Check if user can write to the requested for field. - false: Don't check if user can write to the requested for field. Data type: Boolean |
| result.reservation.reservationAcl.write.fields.sensitivity | Flag that indicates whether to check if the user can write to the sensitivity fields in this reservation.Valid values: - true: Check if user can write to the sensitivity field. - false: Don't check if user can write to the sensitivity field. Data type: Boolean |
| result.reservation.reservationAcl.write.fields.subject | Flag that indicates whether to check if the user can write to the subject fields in this reservation.Valid values: - true: Check if user can write to the subject field. - false: Don't check if user can write to the subject fields. Data type: Boolean |
| result.reservation.reservationAcl.write.record | Flag that indicates whether to check if the user can write to the entire reservation record.Valid values: - true: Check if user can write to the entire reservation record. - false: Don't check if user can write to the entire reservation record. Data type: Boolean |
| result.reservation.reservation\_purpose | Details about the purpose of the reservation.Data type: Object |
| result.reservation.reservation\_purpose.display\_value | Display value for the purpose of the reservation, such as Company meeting.Data type: String |
| result.reservation.reservation\_purpose.value | Internal value for the purpose of the reservation, such as company\_meeting.Data type: String |
| result.reservation.reservation\_type | Details about the type of the reservation.Data type: Object |
| result.reservation.reservation\_type.display\_value | Display value for the type of the reservation, such as Space.Data type: String |
| result.reservation.reservation\_type.value | Internal value for the type of the reservation, such as space.Data type: String |
| result.reservation.reservation\_subtype | Details about the subtype of the reservation. Subtypes indicate the type of reservation, such as single, Multi parent, Multi child, Recurring parent, or occurrence.Data type: Object |
| result.reservation.reservation\_subtype.display\_value | Display value for the subtype of the reservation, such as Single.Data type: String |
| result.reservation.reservation\_subtype.value | Internal value for the subtype of the reservation, such as single.Data type: String |
| result.reservation.sensitivity | Details about the sensitivity of the reservation.Data type: Object |
| result.reservation.sensitivity.display\_value | Display value for the sensitivity of the reservation, such as high or low.Data type: String |
| result.reservation.sensitivity.value | Internal value for the sensitivity of the reservation, such as 1 or 3.Data type: String |
| result.reservation.shift | Details about the shift applied to the reservation.Data type: Object |
| result.reservation.shift.display\_value | Display value of the shift.Data type: String |
| result.reservation.shift.name | Name of the shift. Same as display_value.Data type: String |
| Result.reservation.shift.shiftDetails | Details of shift.Data type: String |
| result.reservation.shift.sys\_id | Sys\_id of the shift record.Data type: String Table: Shift \[sn\_wsd\_core\_shift\] |
| result.reservation.source | Details about the source for the reservation, such as Workplace Services or Google Mail..Data type: Object |
| result.reservation.source.display\_value | Display value for the reservation source, such as Workplace Services.Data type: String |
| result.reservation.source.value | Internal value for the reservation source, such as servicenow.Data type: String |
| result.reservation.source\_icon | Details about the source of the icon used in the reservation. This icon is used in the UI.Data type: Object |
| result.reservation.source\_icon.classNames | Comma-separated class names for the source icon.Data type: String |
| result.reservation.source\_icon.imgSrc | Name of the image source for source icon. This icon is stored in the Images \[db\_image\] table.Data type: String |
| result.reservation.source\_icon.tooltip | Tooltip associated with the source icon.Data type: String |
| result.reservation.source\_reservation | Source reservation of the current reservation. For example, for recurring reservations, the recurring parent reservation is the source of the series of occurrence reservations.Data type: Object |
| result.reservation.source\_reservation.display\_value | Display value for the source reservation.Data type: String |
| result.reservation.source\_reservation.name | Name of the source reservation.Data type: String |
| result.reservation.source\_reservation.sys\_id | Sys\_id of the source reservation record.Data type: String Table:Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| result.reservation.source\_reservation\_requester | User who requested the recurring reservation.Data type: Object |
| result.reservation.source\_reservation\_requester.name | Name of the recurring reservation requester.Data type: String |
| result.reservation.source\_reservation\_requester.sys\_id | Sys\_id of the user who requested the recurring reservation.Data type: String Table: User \[sys\_user\] |
| result.reservation.source\_reservation\_requester.user\_name | User name of the recurring reservation requester.Data type: String |
| result.reservation.start | Reservation start date and time.Data type: String Format: UTC - yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.reservation.state | Details about the state of the reservation.Data type: Object |
| result.reservation.state.display\_value | Display value for the current state of the reservation, such as confirmed.Data type: String |
| result.reservation.state.value | Internal value for the current state of the reservation, such as 2.Data type: String |
| result.reservation.subject | Reservation's subject.Data type: String |
| result.reservation.sub\_source | Details about the sub-source of the reservation. The sub-source specifies where the reservation originated such as Google Calendar or Microsoft Exchange.Data type: Object |
| result.reservation.sub\_source.display\_value | Display value for the sub-source of the reservation, such as Google Calendar.Data type: String |
| result.reservation.sub\_source.value | Internal value of the sub-source field of the reservation, such as google\_calendar.Data type: String |
| result.reservation.sync\_state | Details about the synchronization state of a reservation from another service, such as "sync\_enqueued" or "synchronized".Data type: Object |
| result.reservation.sync\_state.display\_value | Display value for the current sync state of the reservation, such as synchronized.Data type: String |
| result.reservation.sync\_state.value | Internal value of the current sync state of the reservation, such as synchronized.Data type: String |
| result.reservation.sys\_created\_on | Date and time when the reservation was created.Data type: String |
| result.reservation.sys\_id | Sys\_id of the reservation record. Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| Result.reservation.sys\_updated\_on | Date and time when the reservation was last updated. Data type: String |
| result.reservation.virtual\_meeting | URL of the virtual meeting link.Data type: String |
cURL request
The following code example shows how to retrieve a specific recurring reservation.
curl "https://instance.servicenow.com/api/sn_wsd_rsv/recurring_reservation/list/d98a381587b789506342b846dabb3563" \
--request GET \
--header "Accept:application/json" \
--user "username": "password"
Return results:
{
"result": {
"reservations": [
{
"sys_id": "198a381587b789506342b846dabb3565",
"number": "WRES0001247",
"location": {
"sys_id": "fe1f744edb7650106c731dcd139619ca",
"name": "Aspen",
"description": "A room with large windows, dark leather seats and a large wooden table.",
"display_value": "Aspen",
"capacity": 16,
"label_value": "Room name",
"email": null,
"reservable_module": {
"sys_id": "c31241cedb7650106c731dcd13961917",
"name": "Meeting rooms",
"title": "Meeting rooms",
"inline_title": "meeting room"
},
"region": {
"sys_id": "3752ac8edb3650106c731dcd139619e0",
"display_value": "Americas",
"active": true
},
"site": {
"sys_id": "628eec06db7650106c731dcd139619dd",
"display_value": "North America",
"active": true
},
"campus": {
"sys_id": "82b2a0cedb3650106c731dcd139619e9",
"display_value": "California Campus",
"active": true
},
"building": {
"sys_id": "94e264cedb3650106c731dcd13961919",
"display_value": "CAL-B1",
"active": true,
"timezone": {
"value": "US/Pacific",
"displayValue": "US/Pacific"
}
},
"floor": {
"sys_id": "2f554296dbba10106c731dcd139619ed",
"display_value": "Floor 2",
"active": true
},
"area": {
"sys_id": "",
"display_value": "",
"active": false
},
"reservation": {
"sys_id": "198a381587b789506342b846dabb3565",
"number_of_attendees": 1,
"state": {
"value": "confirmed",
"display_value": "Confirmed"
},
"requested_for": {
"sys_id": "2de07e1887cb89106342b846dabb35fe",
"name": "Workplace User",
"user_name": "workplace_user"
},
"number": "WRES0001247",
"active": true
},
"number_of_attendees": 1,
"state": {
"value": "confirmed",
"display_value": "Confirmed"
},
"number": "WRES0001247",
"requested_for": {
"sys_id": "2de07e1887cb89106342b846dabb35fe",
"name": "Workplace User",
"user_name": "workplace_user"
}
},
"start": "2022-06-11T13:00:00Z",
"end": "2022-06-11T14:00:00Z",
"sys_created_on": "2022-05-30T07:06:37Z",
"sys_updated_on": "2022-05-30T07:06:40Z",
"source_reservation": {
"sys_id": "d98a381587b789506342b846dabb3563",
"display_value": "WRES0001246",
"name": "WRES0001246"
},
"check_in_state": {
"value": "not_required",
"display_value": "Not required"
},
"external_id": null,
"external_ical": null,
"active": true,
"state": {
"value": "confirmed",
"display_value": "Confirmed"
},
"sensitivity": {
"value": "normal",
"display_value": "Normal"
},
"reservation_type": {
"value": "space",
"display_value": "Space"
},
"reservation_subtype": {
"value": "occurrence",
"display_value": "Occurrence"
},
"reservation_purpose": {
"value": "meeting",
"display_value": "Meeting"
},
"attendees": null,
"number_of_attendees": 1,
"is_parent": false,
"subject": "Rec 1",
"virtual_meeting": null,
"recording_details": [],
"sync_state": {
"value": "not_required",
"display_value": "Synchronization not required"
},
"sub_source": {
"value": "servicenow_workplace_service_delivery",
"display_value": "ServiceNow Workplace Service Delivery"
},
"last_updated_sub_source": {
"value": "servicenow_workplace_service_delivery",
"display_value": "ServiceNow Workplace Service Delivery"
},
"reservable_module": {
"sys_id": "c31241cedb7650106c731dcd13961917",
"name": "Meeting rooms",
"title": "Meeting rooms",
"inline_title": "meeting room",
"font_awesome_icon": "fa-building",
"reservable_table": "sn_wsd_core_room",
"reservable_filter": "active=true^is_reservable=true^building!=6c0364cedb3650106c731dcd13961927^building.is_reservable=true^floor.is_reservable=true^EQ",
"short_description": "Reserve a meeting room",
"reservable_type": "location",
"require_subject": "1",
"require_cancel_notes": true,
"virtual_meeting_provider": {
"sys_id": "e33d9e6853c201103cf7ddeeff7b1205",
"display_value": "Template"
},
"allow_invitees": "1",
"display_number_of_attendees": "1",
"display_on_behalf_of": "1",
"display_sensitivity": "1",
"max_days_in_future": "180",
"allow_recurring": "1",
"allow_whole_day": "1",
"require_whole_day": null,
"selection_type": "unit",
"reservable_container_field": null,
"reservable_quantity_field": null,
"apply_to_shift": null,
"max_occurrences": "180",
"enable_facet_filter": false,
"search_limit": 10000,
"enable_ical_generation": "1",
"enable_group_reservations": null,
"enable_browse_near_a_person": "1",
"enable_browse_by_area": "1",
"enable_floor_search": "1",
"display_value": "Meeting rooms",
"browse_near_a_person_enabled": true,
"browse_by_area_enabled": true,
"reservable_columns": [
"sys_id",
"external_id",
"email",
"name",
"title",
"description",
"image",
"number",
"site",
"campus",
"building",
"floor",
"area",
"capacity",
"reservable_quantity",
"location_type",
"order",
"requires_check_in",
"is_reservable"
],
"layout_mapping": {
"title": [
"name"
],
"description": [
"description"
],
"subtitle": [
"campus",
"building",
"floor",
"area"
],
"subtitle_asc": [
"area",
"floor",
"building",
"campus"
],
"image": "image",
"body": [
{
"label": "Capacity",
"icon": "fa-users",
"field": "capacity",
"field_to_display": ""
},
{
"label": "Standard services",
"icon": "fa-check",
"field": "standard_services",
"field_to_display": "name"
},
{
"label": "Reservable purposes",
"icon": "fa-tags",
"field": "reservable_purposes",
"field_to_display": "name"
}
]
},
"timeSlots": [],
"buildingSysIds": [
"4703a4cedb3650106c731dcd13961945",
"6c0364cedb3650106c731dcd13961927",
"94e264cedb3650106c731dcd13961919",
"9e0364cedb3650106c731dcd1396192b"
],
"reservable_views": [
{
"type": "card",
"label": "Card view",
"iconClass": "fa-th-large",
"isDefault": true,
"order": "1"
},
{
"type": "schedule",
"label": "Schedule view",
"iconClass": "fa-calendar-o",
"isDefault": false,
"order": "2"
}
],
"checkin_before_minutes": 30,
"reservation_paths": [
{
"value": "browse_all",
"displayValue": "Browse all",
"availableFor": true
},
{
"value": "browse_favorites",
"displayValue": "Browse favorites",
"availableFor": false
},
{
"value": "browse_near_a_person",
"displayValue": "Browse near a person",
"availableFor": true
},
{
"value": "browse_by_area",
"displayValue": "Browse by area",
"availableFor": true
}
],
"override_approval_policy": "never_required"
},
"notification_recipients": null,
"notification_custom_message": null,
"opened_by": {
"sys_id": "2de07e1887cb89106342b846dabb35fe",
"value": "2de07e1887cb89106342b846dabb35fe",
"displayValue": "Workplace User",
"display_value": "Workplace User",
"name": "Workplace User",
"user_name": "workplace_user",
"table": "sys_user",
"avatar": null,
"initials": "WU",
"email": "workplace_user@example.com",
"label": ""
},
"requested_for": {
"sys_id": "2de07e1887cb89106342b846dabb35fe",
"value": "2de07e1887cb89106342b846dabb35fe",
"displayValue": "Workplace User",
"display_value": "Workplace User",
"name": "Workplace User",
"user_name": "workplace_user",
"table": "sys_user",
"avatar": null,
"initials": "WU",
"email": "workplace_user@example.com",
"label": ""
},
"edit_restriction": {
"value": "no_restriction",
"display_value": "No restriction"
},
"source": {
"value": "servicenow",
"display_value": "Workplace Services"
},
"source_reservation_requester": {
"sys_id": "2de07e1887cb89106342b846dabb35fe",
"name": "Workplace User",
"user_name": "workplace_user"
},
"source_icon": {
"classNames": "fa fa-calendar-check-o",
"tooltip": "Reservation is confirmed",
"imgSrc": ""
},
"shift": null,
"recurring_pattern": {
"duration": "3600000",
"repeats": "daily",
"options": {
"count": 3,
"daysOfWeek": "",
"every": 1,
"endDate": "2022-06-13 14:00:00",
"endDateGdt": {}
},
"label": "Repeats daily, 3 times",
"startDate": "2022-06-11 13:00:00",
"startDateGdt": "{}",
"amountOfDates": "3"
},
"reservationAcl": {
"write": {
"record": true,
"fields": {
"subject": true,
"sensitivity": true,
"requested_for": true,
"number_of_attendees": true,
"location": true
},
"allFields": true
},
"read": true
}
}
],
"occurencesTotalCount": "1"
}
}
WSD Recurring Reservation - PATCH /api/sn_wsd_rsv/recurring_reservation/cancel_series/{sys_id}
Cancels an entire specified recurring series reservation or a specific meeting occurrence within the series.
Note: You cannot delete multiple meeting occurrences in a single call.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/recurring_reservation/cancel_series/{sys_id}
Default URL: /api/sn_wsd_rsv/recurring_reservation/cancel_series/{sys_id}
Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.
Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| sys\_id | To cancel the entire series, pass the sys\_id of the recurring parent reservation record.To cancel a specific occurrence of the series, pass the sys\_id of the occurrence of the series. The recurring parent record has the column reservation\_subtype set to `Recurring parent`. Individual occurrence records have the reservation\_subtype field set to `Occurrence`. To get the details of recurring parent reservation from the occurrence record, refer to the sys\_id of the source\_reservation field of the occurrence record. Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| Name | Description |
|---|---|
| cancel\_notes | Reason for cancelling the reservation.Data Type: String |
| Name | Description |
|---|---|
| None |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Return results for the cancel recurring reservation request.Data type: Object |
| result.failedToCancelOccurrenceReservations | List of sys\_ids of the individual meeting occurrence records that failed to be cancelled.Data type: Array of Strings |
| result.seriesId | Sys\_id of the recurring parent when the whole series is cancelled or the sys\_id of a specific occurrence if a single occurrence is cancelled.Data type: String |
| result.success | Flag that indicates whether the reservation was successfully cancelled.Possible values: - true: Successfully cancelled. - false: Operation failed. Data type: Boolean |
| result.failedToCancelOccurrenceReservations | List of sys\_ids of the individual meeting occurrence records that were successfully cancelled.Data type: Array of Strings |
| result.user\_msg | Message about the request.Data type: String |
cURL request
The following code example shows how to cancel an entire recurring reservation.
curl "https://instance.servicenow.com/api/sn_wsd_rsv/recurring_reservation/cancel_series/f64983a347274550003a4587746d43b8" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--user "username":"password"
Return results:
{
"result": {
"failedToCancelOccurrenceReservations": [],
"successCanceledOccurrences": [
"cb4983a347274550003a4587746d43bd",
"cf4983a347274550003a4587746d43ba"
],
"user_msg": "Your Recurring reservation has been canceled successfully!",
"seriesId": "f64983a347274550003a4587746d43b8",
"success": true
}
}
WSD Recurring Reservation - POST /api/sn_wsd_rsv/recurring_reservation/create_series
Creates workplace reservations for the same time but different dates, such as weekly, monthly, or every other week.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/recurring_reservation/create_series
Default URL: /api/sn_wsd_rsv/recurring_reservation/create_series
Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.
Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| recurringPattern | Details about the recurring pattern for the reservation.Data type: Object |
| recurringPattern.duration | Required if not a shift-based reservation. Length of time to reserve the reservable. Data type: Number Unit: Seconds |
| recurringPattern.label | Descriptive name for the recurring reservation.Data type: String |
| recurringPattern.options | Required. Details about the options set for the recurring pattern. Data type: Object |
| recurringPattern.options.count | Required if not a shift-based reservation; ignored for shift-based reservations. Number of times to repeat the pattern. Data type: Number |
| recurringPattern.options.daysOfWeek | Required if the repeats parameter is set to Valid values:
For example, to specify Tuesday, Thursday, and Friday, pass 245 (no delimiter). If repeats is Data type: String |
| recurringPattern.options.every | Pattern repeat interval. For example, the value '2' indicates that the pattern repeats every 2 days or 2 months depending on the value of the repeats property.Note: This setting is not applicable to weekly repeat intervals. You can set the repeats property to Data type: Number Default value: 1 |
| recurringPattern.options.endDate | End date and time of the recurrence of the meeting, such as "2022-07-08T14:00:00Z".Data type: String Format: UTC yyyy-mm-dd hh:mm:ss |
| recurringPattern.repeats | Required if not a shift-based reservation.Repeating pattern for the reservable. Valid values: (case-sensitive)
Note: The pattern repeat interval is set in the options.every property. The only valid repeat interval for weekly patterns is one. Data type: String |
| recurringPattern.startDate | Required. Start date and time for the recurring pattern, such as "2022-07-08T14:00:00Z". Data type: String Format: UTC yyyy-mm-dd hh:mm:ss |
| reservation | Details about the recurring reservation to create.Data type: Object |
| reservation.is\_private | Flag that indicates whether the reservation is private. If private, the reservation doesn't appear to anyone except the owner.For additional information on these privacy settings, see Location privacy settings and impact. Valid values: - true: Reservation is private. - false: Reservation isn't private. Data type: Boolean Default: Value set for privacy in the system properties. |
| reservation.location | Required. Sys\_id of the location to reserve. Data type: String Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\] |
| reservation.reservable\_module | Required only for April 2026 store and earlier releases. Not required with May 2026 store and later releases. Sys\_id of the reservable module to associate with the reservation. A reservable module defines the workplace items needed for a reservation. Data type: String Table: Reservable Module \[sn\_wsd\_rsv\_reservable\_module\] |
| reservation.shift | Sys_id of the shift to associate with the reservation. If this parameter is passed in, the end parameter isn't required. For additional information on shift-based reservations, see Enable shift-based reservation. Data type: String Table: Shift [sn_wsd_core_shift] |
| reservation.subject | Required. Subject of the meeting associated with the reservation. Data type: String |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Return results from the multi-reservation creation or update.Data type: Object |
| result.isValid | Flag that indicates whether the reservation was successfully created.Possible values: - true: Successfully created. - false: Operation failed. Data type: Boolean |
| result.parent | Sys\_id of the parent reservation that was updated.Data type: String |
| result.successfulReservations | List of the reservations that were successfully updated.Data type: Array of Objects |
| result.successfulReservations.collision | Flag that indicates whether a reservation already exists for the specified time and collides with the current reservation.Possible values: - true: Collision. - false: No collision. Data type: Boolean |
| result.successfulReservations.end | Reservation end date and time.Data type: String Format: UTC: yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.successfulReservations.error | Error message if there was a problem while creating the reservation.Data type: String |
| result.successfulReservations.inserted | Flag that indicates whether the reservation was successfully inserted. Such as when a reservation is added.Possible values: - true: Successfully inserted. - false: Operation failed. Data type: Boolean |
| result.successfulReservations.start | Reservation start date and time.Data type: String Format: UTC - yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.successfulReservations.sys\_id | Sys\_id of the reservation that was created.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
| result.unSuccessfulReservations | List of the reservations that were unsuccessfully updated.Data type: Array of Objects |
| result.unSuccessfulReservations.collision | Flag that indicates whether a reservation already exists for the specified time and collides with the current reservation.Possible values: - true: Collision. - false: No collision. Data type: Boolean |
| result.unSuccessfulReservations.end | Reservation end date and time.Data type: String Format: UTC: yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.unSuccessfulReservations.error | Error message if there was a problem while creating the reservation.Data type: String |
| result.unSuccessfulReservations.inserted | Flag that indicates whether the reservation was successfully inserted. Such as when a reservation is added.Possible values: - true: Successfully inserted. - false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.start | Reservation start date and time.Data type: String Format: UTC - yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z |
| result.unSuccessfulReservations.sys\_id | Sys\_id of the reservation record. Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\] |
cURL request
The following code example shows how to create a daily recurring reservation for two consecutive days.
curl "https://instance.servicenow.com/api/sn_wsd_rsv/recurring_reservation/create_series" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"reservation\": {
\"reservable_module\": \"5db44502dbb650106c731dcd13961937\",
\"subject\": \"Test-123\",
\"reservation_purpose\": \"meeting\",
\"timezone\": \"US/Pacific\",
\"requested_for\": \"6816f79cc0a8016401c5a33be04be441\",
\"location\": \"6a11a94adb7210106c731dcd1396194e\",
\"attendees\": \"6816f79cc0a8016401c5a33be04be441\",
\"is_private\": false
},
\"recurringPattern\": {
\"duration\": 3600000,
\"repeats\": \"daily\",
\"options\": {
\"count\": 2,
\"daysOfWeek\": \"\",
\"every\": 1
},
\"label\": \"Repeats daily, 2 times\",
\"startDate\": \"2023-01-12T12:00:00Z\"
}
}" \
Return results:
{
"result": {
"isValid": true,
"parent": "1e5f65ca87586550cfaa99b73cbb3513",
"successfulReservations": [
{
"inserted": true,
"collision": false,
"sys_id": "9e5f65ca87586550cfaa99b73cbb3517",
"error": null,
"start": "2023-01-13T12:00:00Z",
"end": "2023-01-13T13:00:00Z"
}
],
"unSuccessfulReservations": [
{
"inserted": true,
"collision": true,
"sys_id": "5e5f65ca87586550cfaa99b73cbb3515",
"error": null,
"start": "2023-01-12T12:00:00Z",
"end": "2023-01-12T13:00:00Z"
}
]
}
}