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.
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.
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}
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 |
| 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 |
| result.serviceCategories.categoryFriendlyName | 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 |
| 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:
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:
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 |
| 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 |
| 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 |
| 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 |
| 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.
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
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:
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 | 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 |
| serviceCategories.flexibleServices.cancelFlag | Flag that indicates whether to cancel the specified extra service request. Possible values:
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 |
| result.extraServiceRequests | Details about the added or cancelled extra service request. Data type: Array of Object |
| 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:
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
}
}