WSD Extra Service API

concept brazil Updated Sep 10, 2026 11 min read wsd_extra_service-api.md
Raw file servicenow.com

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.

Parent Topic:REST API reference

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. 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

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.

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.

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

CSS
"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

JavaScript
"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

JavaScript
"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

JSON
"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

Text
"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

Text
"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

JSON
"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.

Shell
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:

JSON
{  "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. 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

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

JavaScript
"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

JavaScript
"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.

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.

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

JavaScript
"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

Text
"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.

Shell
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:

JSON
{  "result": {    "reservationId": "2dc2efdf531701103cf7ddeeff7b1227",    "reservableId": "02000d4edb7650106c731dcd13961914",    "extraServiceRequests": [      {        "requestId": "bea46dbc53e701103cf7ddeeff7b1236",        "flexibleServiceId": "e2ecf7b307500110c9b36b6e0ad30033"      }],    "success": true  }}
Search documentation
Search document titles and file paths on the brazil branch