--- title: WSD Extra Service API description: The Workplace Service Delivery \(WSD\) Extra Service API provides endpoints to retrieve extra services, such as location layouts and standard services of a workplace location.Returns the extra service requests that are associated to a single reservation.Adds an new or updates an existing extra service request to a specified single reservation. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/wsd\_extra\_service-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 11 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # WSD Extra Service API The Workplace Service Delivery \(WSD\) Extra Service API provides endpoints to retrieve extra services, such as location layouts and standard services of a workplace location. To access this API, the caller must have the sn\_wsd\_core.workplace\_user role. This API runs in the `sn_wsd_rsv` namespace. To access this API the Workplace Reservation Management \(sn\_wsd\_rsv\) plugin must be activated. For additional information on Workplace Reservation Management, see [Workplace Reservation Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/workplace-rsv-mgmt-feat.md). **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## WSD Extra Service Request - PATCH /api/sn\_wsd\_rsv/wsd\_extra\_service\_request/reservation/\{sys\_id\} Returns the extra service requests that are associated to a single reservation. **Note:** This endpoint does not work for group or multi reservations. ### URL format Versioned URL: `/api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/reservation/{sys_id}` Default URL: `/api/sn_wsd_rsv/wsd_extra_service_request/reservation/{sys_id}` **Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md). ### 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 Sys\_id of the reservation record for which to return the extra service request details.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\]
|Name|Description| |----|-----------| |None| | |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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).
Header Description
Accept Data format of the response body. Supported types: **application/json** or **application/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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md). |Status code|Description| |-----------|-----------| |200|Successful. The request was successfully processed.| |400|Bad Request. Reservation sys\_id is missing, invalid, or does not exist.| |401|Unauthorized. The user credentials are incorrect or have not been passed.| |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 Details about the specified extra service request.Data type: Object ``` "result": { "reservableId": "String", "reservationId": "String", "serviceCategories": {Object}, "serviceTimes": {Object} } ```
result.reservableId Sys\_id of the workplace location that the reservation is created against. Data type: String Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\]
result.reservationId Sys\_id of the reservation for which to return the extra service request details. Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\].
result.serviceCategories Details about the service category of the associated extra services.Data type: Object ``` "serviceCategories": { "String": { "categoryFriendlyName": "String", "categoryCurrencyCode": "String", "comment": "String", "flexibleServices": [Array], "serviceTimes": {Object} } } ```
result.serviceCategories.categoryFriendly​Name User friendly name of the category of the workplace service or extra service, such as Space arrangement. Data type: String
result.serviceCategories.​categoryCurrencyCode Currency code used to calculate the cost of the workplace service item or extra service.Data type: String
result.serviceCategories.comment Comments about the service category. Data type: String
result.serviceCategories.flexibleServices Details about each of the workplace service items or extra service requested for the reservation.Data type: Array of Objects ``` "flexibleServices": [ { "capacity": Number, "capacityEnabled": Boolean, "category": "String", "categoryComment": "String", "categoryFriendlyName": "String", "comment": "String", "currencyCode": "String", "deliveryTime": "String", "flexibleServiceId": "String", "flexibleServiceName": "String", "maxCapacity": Number, "quantity": Number, "quantityEnabled": Boolean, "requestId": "String", "serviceItemImage": "String", "servicePrice": Number, "serviceTimes": {Object}, "state": {Object}, "subCategory": {Object}, "totalPrice": Number, } ] ```
result.serviceCategories.flexibleServices.​capacity Capacity requested when requesting the workplace service item.Data type: Number
result.serviceCategories.flexibleServices.​capacityEnabled Flag that indicates whether the user creating the reservation can specify the capacity of the workplace.Possible values: - true: User can specify the capacity. - false: User can't specify the capacity. Data type: Boolean
result.serviceCategories.flexibleServices.​category Sys\_id of the category of the workplace service or extra service associated with the reservation.Data type: String
result.serviceCategories.flexibleServices.​categoryComment Additional comments about the category.Data type: String
result.serviceCategories.flexibleServices.​categoryFriendlyName User friendly name of the category of the workplace service or extra service, such as Space arrangement.Data type: String
result.serviceCategories.flexibleServices.​comment Additional comments about the workplace service item or extra service. Data type: String
result.serviceCategories.flexibleServices.​currencyCode Currency code used to calculate the cost of the associated workplace service item or extra service.Data type: String
result.serviceCategories.flexibleServices.​deliveryTime Delivery time of the workplace service item or extra service. Data type: String Format: UTC - yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z
result.serviceCategories.flexibleServices.​flexibleServiceId Sys\_id of the extra service or workplace service item. Data type: String Table: Workplace Service Item \[sn\_wsd\_case\_workplace\_service\_item\]
result.serviceCategories.flexibleServices.​flexibleServiceName Name of the associated extra service or workplace service item.Data type: String
result.serviceCategories.flexibleServices.​maxCapacity Maximum capacity of the workplace that can be requested.Data type: Number
result.serviceCategories.flexibleServices.​quantity Number of extra service items requested. Data type: Number
result.serviceCategories.flexibleServices.​quantityEnabled Flag that indicates whether the user creating the reservation can specify the quantity of service items.Possible values: - true: User can specify the quantity. - false: User can't specify the quantity. Data type: Boolean
result.serviceCategories.flexibleServices.​requestId Sys\_id of the extra service or workplace service item.Data type: String Table: Request Service \[sn\_wsd\_case\_service\_item\_request\]
result.serviceCategories.flexibleServices.​serviceItemImage File name of the thumbnail image of the workplace service item.Data type: String
result.serviceCategories.flexibleServices.​servicePrice Cost of the workplace service item or extra service.Data type: String
result.serviceCategories.flexibleServices.​serviceTimes Details about the time it takes to prepare and cleanup the workplace service item.Data type: Object ``` "serviceTimes": { "endCleanup": "String", "endPreparation": "String", "startCleanup": "String", "startPreparation": "String" } ```
result.serviceCategories.flexibleServices.​serviceTimes.endCleanup Date and time when the clean-up of the workplace service item will end.Data type: String
result.serviceCategories.flexibleServices.​serviceTimes.endPreparation Date and time when the preparation of the workplace service item will end.Data type: String
result.serviceCategories.flexibleServices.​serviceTimes.startCleanup Date and time when the clean-up of the workplace service item will start.Data type: String
result.serviceCategories.flexibleServices.​serviceTimes.startPreparation Date and time when the preparation of the workplace service item will start.Data type: String
result.serviceCategories.flexibleServices.state Details about the current state of the associated workplace service item.Data type: Object ``` "state": { "display_value": "String", "value": "String" } ```
result.serviceCategories.flexibleServices.state.​display\_value Display value of the state of the workplace service item, such as Open.Data type: String
result.serviceCategories.flexibleServices.state.​value Internal value of the state of the workplace service item, such as Open.Data type: String
result.serviceCategories.flexibleServices.​subCategory Details about the subcategory of the associated workplace service item.Data type: Object ``` "subCategory": { "display_value": "String", "value": "String" } ```
result.serviceCategories.flexibleServices.​subCategory.display\_value Display value of the subCategory for the workplace service item or extra service, such as such as chair layout, drinks, or IT support.Data type: String
result.serviceCategories.flexibleServices.​subCategory.value Internal value of the subcategory of the workplace service item or extra service, such as chair\_layout, drinks, or IT\_support.Data type: String
result.serviceCategories.flexibleServices.​total\_price Total cost of the workplace service item or extra service for the reservation.Data type: Number
result.serviceTimes Details about the time it takes to prepare and cleanup the workplace service item.Data type: Object ``` "serviceTimes": { "endCleanup": "String", "endPreparation": "String", "startCleanup": "String", "startPreparation": "String" } ```
result.serviceTimes.endCleanup Date and time when the clean up of the workplace service item will end.Data type: String
result.serviceTimes.endPreparation Date and time when the preparation of the workplace service item will end.Data type: String
result.serviceTimes.startCleanup Date and time when the clean up of the workplace service item will start.Data type: String
result.serviceTimes.startPreparation Date and time when the preparation of the workplace service item will start.Data type: String
### cURL request This code example shows how to request the details of the extra services or workplace service items for a reservation. ``` curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/reservation/383e36c1536f01103cf7ddeeff7b1245" \ --request GET \ --header "Accept:application/json" \ --user "username": "password" ``` Return results: ``` { "result": { "reservationId": "383e36c1536f01103cf7ddeeff7b1245", "serviceTimes": { "startPreparation": "2022-05-17T11:45:00ZZ", "endPreparation": "2022-05-17T12:00:00ZZ", "startCleanup": "2022-05-17T13:00:00ZZ", "endCleanup": "2022-05-17T13:15:00ZZ" }, "reservableId": "02000d4edb7650106c731dcd13961914", "serviceCategories": { "50723fbf07100110c9b36b6e0ad300b4": { "serviceTimes": { "startPreparation": "2022-05-17T11:45:00Z", "endPreparation": "2022-05-17T12:00:00Z", "startCleanup": "2022-05-17T13:00:00Z", "endCleanup": "2022-05-17T13:15:00Z" }, "flexibleServices": [ { "requestId": "743eb605536f01103cf7ddeeff7b126b", "category": "50723fbf07100110c9b36b6e0ad300b4", "categoryComment": "test2", "subCategory": { "value": "chair_layout", "display_value": "Chair layout" }, "categoryFriendlyName": "Space arrangement", "servicePrice": 0, "serviceItemImage": "4c6a0d7107600110c9b36b6e0ad300fc.iix", "currencyCode": "GBP", "totalPrice": 0, "flexibleServiceId": "21e2c08407600110c9b36b6e0ad3007c", "flexibleServiceName": "Theater Style", "deliveryTime": "2022-05-17 12:00:00", "comment": "test1", "quantity": 1, "capacity": 1, "quantityEnabled": false, "capacityEnabled": true, "maxCapacity": null, "state": { "value": "2", "display_value": "Work in Progress" }, "serviceTimes": { "startPreparation": "2022-05-17T11:45:00Z", "endPreparation": "2022-05-17T12:00:00Z", "startCleanup": "2022-05-17T13:00:00Z", "endCleanup": "2022-05-17T13:15:00Z" } } ], "comment": "test2", "categoryFriendlyName": "Space arrangement", "categoryCurrencyCode": "GBP" } } } } ``` ## WSD Extra Service Request - PATCH /api/sn\_wsd\_rsv/wsd\_extra\_service\_request/submit Adds an new or updates an existing extra service request to a specified single reservation. **Note:** This endpoint does not work for group or multi reservations. ### URL format Versioned URL: `/api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/submit` Default URL: `/api/sn_wsd_rsv/wsd_extra_service_request/submit` **Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md). ### 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
reservationDateTimeChanged Flag that indicates whether the reservation date and time has changed.Valid values: - true: The reservation date and time was changed. - false: The reservation date and time wasn't changed. Data type: Boolean Default: false
reservableId Required.Sys\_id of the workplace location that the reservation is created against. Data type: String Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\]
reservationId Required. Sys\_id of the reservation for which to add the extra service requests.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\]
serviceCategories Required. List of workplace service items or extra services to add to the reservation.Data type: Array of Objects ``` "serviceCategories": [ { "category": "String", "comment": "String", "flexibleServices": [Array] } ] ```
serviceCategories.category Required. Sys\_id or name of the workplace service to add to the reservation.Data type: String Table: Workplace Service \[sn\_wsd\_case\_workplace\_service\]
serviceCategories.comment Required. Comments about the service category. Data type: String
serviceCategories.flexibleServices Required. Details about each of the workplace service items or extra service to add to or cancel from the reservation.Data type: Array of Objects ``` "flexibleServices": [ { "cancelFlag": Boolean, "comment": "String", "deliveryTime": "String", "extraServiceRequestId": "String", "flexibleServiceId": "String", "quantity": Number } ] ```
serviceCategories.flexibleServices.cancelFlag Flag that indicates whether to cancel the specified extra service request.Possible values: - true: Delete the associated extra service request. - false: No operation. Data type: Boolean Default: false
serviceCategories.flexibleServices.comment Required.Additional comments about the workplace service item or extra service. Data type: String
serviceCategories.flexibleServices.​deliveryTime Required. Delivery time of the workplace service item or extra service. Data type: String Format: UTC - yyyy-mm-ddThh:mm:ssZ, such as 2021-02-05T18:00:00Z
serviceCategories.flexibleServices.​extraServiceRequestId Sys\_id of the existing extra service request. Provide this parameter to update an existing extra service request.Data type: String Table: Request Service Items \[sn\_wsd\_case\_service\_item\_request\]
serviceCategories.flexibleServices.​flexibleServiceId Required. Sys\_id of the extra service or workplace service item.Data type: String Table: Workplace Service Item \[sn\_wsd\_case\_workplace\_service\_item\]
serviceCategories.flexibleServices.​quantity Required. Number of extra service items requested. Data type: Number
### 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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).
Header Description
Accept Data format of the request body. Supported types: **application/json**, **application/xml** or, **text/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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md). |Status code|Description| |-----------|-----------| |200|Successful. The request was successfully processed.| |400|Bad Request. A bad request type or malformed request was detected.| |401|Unauthorized. The user credentials are incorrect or have not been passed.| |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 request.Data type: Object ``` "result": { "extraServiceRequests": [Array], "reservableId": "String", "reservationId": "String", "success": Boolean } ```
result.extraServiceRequests Details about the added or cancelled extra service request.Data type: Array of Object ``` "extraServiceRequests": [ { "flexibleServiceId": "String", "requestId": "String" } ] ```
result.extraServiceRequests.flexibleServiceId Sys\_id of the extra service item request that was added to the reservation.Data type: String Table: Workplace Service Item \[sn\_wsd\_case\_workplace\_service\_item\]
result.extraServiceRequests.requestId Sys\_id of the extra service item that was added to the request.Data type: String Table: Request Service Items \[sn\_wsd\_case\_service\_item\_request\]
result.reservableId Sys\_id of the workplace location that the reservation is created against. Data type: String Table: Workplace Location \[sn\_wsd\_core\_workplace\_location\]
result.reservationId Sys\_id of the reservation for which the extra service request was added.Data type: String Table: Workplace Reservation \[sn\_wsd\_rsv\_reservation\]
result.success Flag that indicates whether the extra service request was successfully added to the reservation.Possible values: - true: Successfully added. - false: Operation failed. Data type: Boolean
### cURL request The following code example shows how to add an extra service item request to a reservation. ``` curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/submit" \ --request POST \ --header "Accept:application/json" \ --header "Concept-Type:application/json" \ --user 'username':'password' ``` Return results: ``` { "result": { "reservationId": "2dc2efdf531701103cf7ddeeff7b1227", "reservableId": "02000d4edb7650106c731dcd13961914", "extraServiceRequests": [ { "requestId": "bea46dbc53e701103cf7ddeeff7b1236", "flexibleServiceId": "e2ecf7b307500110c9b36b6e0ad30033" } ], "success": true } } ```