---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# WSD Multi Reservation API

# WSD Multi Reservation API {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 14 minutes to read

The Workplace Service Delivery (WSD) Multi Reservation
API provides endpoints for managing reservations with multiple workplace locations.
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](https://www.servicenow.com/docs/access?context=workplace-rsv-mgmt-feat&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US).

## WSD Multi Reservation - PATCH /api/sn_wsd_rsv/multi_reservation/cancel/{sys_id} {#ariaid-title2}

Cancels a specified multi-reservation.
<br />

### URL format

Versioned URL:
/api/sn_wsd_rsv/{api_version}/multi_reservation/cancel/{sys_id}

Default URL:
/api/sn_wsd_rsv/multi_reservation/cancel/{sys_id}

### Supported request parameters

{#wsd_multi_reserv-PATCH-cancel__entry__2}{#wsd_multi_reserv-PATCH-cancel__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
| sys_id | Sys_id of the multi-reservation to cancel. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. Data type: String |
[Table 1. Path parameters]

{#wsd_multi_reserv-PATCH-cancel__entry__8}

| Name | Description |
|-|-|
| None |   |
[Table 2. Query parameters]

{#wsd_multi_reserv-PATCH-cancel__entry__12}

| Name | Description |
|-|-|
| cancel_notes | Reason for cancelling the reservation. Data type: String |
[Table 3. Request body parameters]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-PATCH-cancel__entry__16}{#wsd_multi_reserv-PATCH-cancel__accept-reserv-entry}{#wsd_multi_reserv-PATCH-cancel__content_type-JSON-only-entry-RESTAPI}

| 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. |
[Table 4. Request headers]

{#wsd_multi_reserv-PATCH-cancel__entry__22}

| Header | Description |
|-|-|
| None |   |
[Table 5. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-PATCH-cancel__entry__26}{#wsd_multi_reserv-PATCH-cancel__entry-200-status-code}{#wsd_multi_reserv-PATCH-cancel__entry-401-status-code}{#wsd_multi_reserv-PATCH-cancel__entry-404-status-code}{#wsd_multi_reserv-PATCH-cancel__entry-500-status-code}

| 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. |
[Table 6. Status codes]

### Response body parameters

{#wsd_multi_reserv-PATCH-cancel__entry__36}{#wsd_multi_reserv-PATCH-cancel__parent-multi-entry}

| Name | Description |
|-|-|
| result | Details of the results of the cancel request. Data type: Object "result": { "error": "String", "parent": "String", "success": Boolean, "successfulReservations": [Array], "unSuccessfulReservations": [Array] } |
| result.error | Message that describes the associated error. Data type: String |
| result.parent | Sys_id of the parent reservation. A parent may have one or more child reservations associated to it. Data type: String |
| result.success | Flag that indicates whether the reservation was successfully cancelled. Possible values: * true: Successfully cancelled. * false: Reservation was not cancelled. Data type: Boolean |
| result.successfulReservations | Details about the successful cancellation of the multi-reservation. Data type: Array of Objects "successfulReservations": [ { "msg": "String", "success": Boolean, "sys_id": "String" } ] |
| result.successfulReservations.msg | Cancellation message. Data type: String |
| result.successfulReservations.success | Flag that indicates whether the reservation was successfully cancelled. Possible values: * true: Successfully cancelled. * false: Operation failed. Data type: Boolean |
| result.successfulReservations.sys_id | Sys_id of the reservation that was cancelled. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. Data type: String |
| result.unSuccessfulReservations | Details about the unsuccessful cancellation of the multi-reservation. Data type: Array of Objects "unSuccessfulReservations": [ { "msg": "String", "success": Boolean, "sys_id": "String" } ] |
| result.unSuccessfulReservations.msg | Cancellation message. Data type: String |
| result.unSuccessfulReservations.success | Flag that indicates whether the reservation was successfully cancelled. Possible values: * true: Successfully cancelled. * false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.sys_id | Sys_id of the reservation that was not cancelled. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. Data type: String |
[ ]

### cURL request

The following code example shows how to cancel a multi-reservations.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/cancel/1b1fdf5987ab01506342b846dabb35ec" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"cancel_notes\":\"Meeting no longer needed.\"}" \ 
    --user "username":"password'"

Return results:

    {
      "result": {
        "success": true,
        "successfulReservations": [
          {
            "success": true,
            "msg": "Cancelled successfully.",
            "sys_id": "5b1f9f1d87ab01506342b846dabb35a4"
          },
          {
            "success": true,
            "msg": "Cancelled successfully.",
            "sys_id": "931f9f1d87ab01506342b846dabb35a0"
          }
        ],
        "unSuccessfulReservations": [],
        "error": null,
        "parent": "1b1fdf5987ab01506342b846dabb35ec"
      }
    }

## WSD Multi Reservation - PATCH /api/sn_wsd_rsv/multi_reservation/update/{sys_id} {#ariaid-title3}

Updates the reservations associated with a multi-reservation where the same reservation
(meeting) has multiple workplace locations.
This endpoint can handle four different update scenarios:

1. Update the content of the multi-reservation record, such as the subject, date, or time.
2. Convert the multi-reservation into a single reservation based on the parent (reservation for a single workplace location).
3. Convert a single reservation (reservation for a single workplace location) into a multi-reservation.
4. Add or remove a workplace location to an existing multi-reservation.

### URL format

Versioned URL:
/api/sn_wsd_rsv/{api_version}/multi_reservation/update/{sys_id}

Default URL:
/api/sn_wsd_rsv/multi_reservation/update/{sys_id}

### Supported request parameters

{#wsd_multi_reserv-PATCH-update__entry__2}{#wsd_multi_reserv-PATCH-update__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
| sys_id | Sys_id of the reservation to update. * Single reservation to multi-reservation: Sys_id of the single reservation. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. * Update content of multi-reservation: Sys_id of the parent reservation record. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. To get the details of a multi parent reservation from the child record, refer to the sys_id in the source_reservation field of the child record. Data type: String |
[Table 7. Path parameters]

{#wsd_multi_reserv-PATCH-update__entry__8}

| Name | Description |
|-|-|
| None |   |
[Table 8. Query parameters]

{#wsd_multi_reserv-PATCH-update__entry__12}{#wsd_multi_reserv-PATCH-update__end-update_reserv-entry}{#wsd_multi_reserv-PATCH-update__requested_for-update_reserv-entry}{#wsd_multi_reserv-PATCH-update__reservable_module-update_reserv-entry}{#wsd_multi_reserv-PATCH-update__shift-update_reserv-entry}{#wsd_multi_reserv-PATCH-update__start-update_reserv-entry}

| Name | Description |
|-|-|
| end | Required if the shift parameter isn't passed in. Requested end time of the reservation. Data type: String Format: UTC or local time (yyyy-mm-dd hh:mm:ss) |
| requested_for | Sys_id or email address of the user for which the reservation is being made. Located in the User \[sys_user\] table. Data type: String |
| reservables | List of details about the reservables associated with the reservation. Data type: Array of Objects "reservables": [ { "is_private": Boolean, "sys_id": "String" } ] |
| reservables.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](https://www.servicenow.com/docs/access?context=location-privacy-settings-and-impact&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US). Valid values: * true: Reservation is private. * false: Reservation isn't private. Data type: Boolean Default: Value set for privacy in the system properties. |
| reservables.sys_id | Sys_id of the location at which to make the reservations. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| reservable_module | Required. Sys_id of the reservable module to associate with the reservation. A [reservable module](https://www.servicenow.com/docs/access?context=config-reservable-module&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US) defines the workplace items needed for a reservation. Located in the Reservable Module \[sn_wsd_rsv_reservable_module\] table. Data type: String |
| shift | Sys_id of the shift to associate with the reservation. Located in the Shift \[sn_wsd_core_shift\] table. If this parameter is passed in, the end parameter isn't required. For additional information on shift-based reservations, see [Enable shift-based reservation](https://www.servicenow.com/docs/access?context=wsd-reservation-setup&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US). Data type: String |
| start | Required. Requested start time of the reservation. Data type: String Format: UTC or local time (yyyy-mm-dd hh:mm:ss) |
| subject | Subject of the meeting associated with the reservation. Data type: String |
[Table 9. Request body parameters]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-PATCH-update__entry__32}{#wsd_multi_reserv-PATCH-update__accept-reserv-entry}{#wsd_multi_reserv-PATCH-update__content_type-JSON-only-entry-RESTAPI}

| 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. |
[Table 10. Request headers]

{#wsd_multi_reserv-PATCH-update__entry__38}

| Header | Description |
|-|-|
| None |   |
[Table 11. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-PATCH-update__entry__42}{#wsd_multi_reserv-PATCH-update__entry-200-status-code}{#wsd_multi_reserv-PATCH-update__entry-401-status-code}{#wsd_multi_reserv-PATCH-update__entry-404-status-code}{#wsd_multi_reserv-PATCH-update__entry-500-status-code}

| 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. |
[Table 12. Status codes]

### Response body parameters

{#wsd_multi_reserv-PATCH-update__entry__52}{#wsd_multi_reserv-PATCH-update__result-multi-entry}{#wsd_multi_reserv-PATCH-update__parent-multi-entry}{#wsd_multi_reserv-PATCH-update__success-multi-entry}{#wsd_multi_reserv-PATCH-update__successfulReservations_error-multi-entry}{#wsd_multi_reserv-PATCH-update__successfulReservations_reservable-multi-entry}{#wsd_multi_reserv-PATCH-update__successfulReservations_sys_id-multi-entry}{#wsd_multi_reserv-PATCH-update__unSuccessfulReservations_error-multi-entry}{#wsd_multi_reserv-PATCH-update__unSuccessfulReservations_reservable-multi-entry}{#wsd_multi_reserv-PATCH-update__unSuccessfulReservations_success-multi-entry}{#wsd_multi_reserv-PATCH-update__unSuccessfulReservations_sy_id-multi-entry}

| Name | Description |
|-|-|
| result | Return results from the multi-reservation creation or update. Data type: Object "result": { "parent": "String", "success": Boolean, "successfulReservations": Array, "unSuccessfulReservations": Array } |
| result.parent | Sys_id of the parent reservation. A parent may have one or more child reservations associated to it. Data type: String |
| result.success | Flag that indicates whether the reservation was successfully created. Possible values: * true: Successfully created. * false: Operation failed. Data type: Boolean |
| result.successfulReservations | List of the reservations that were successfully created. Data type: Array "successfulReservations": [ { "cancelled": Boolean, "error": "String", "reservable": "String" "success": Boolean, "sys_id": "String", "updated": Boolean } ] |
| result.successfulReservations.cancelled | Flag that indicates whether the reservation was successfully cancelled. Possible values: * true: Successfully cancelled. * false: Not cancelled. Data type: Boolean |
| result.successfulReservations.error | Error message if there was a problem while creating the reservation. Data type: String |
| result.SuccessfulReservations.insert | 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.reservable | Sys_id of the workplace for which the reservation was made. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| result.successfulReservations.success | Flag that indicates whether the associated operation was successful. Possible values: * true: Operation was successful. * false: Operation failed. Data type: Boolean |
| result.successfulReservations.sys_id | Sys_id of the reservation that was created. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. Data type: String |
| result.successfulReservations.update | Flag that indicates whether the reservation was successfully updated. Possible values: * true: Successfully updated. * false: Not updated. Data type: Boolean |
| result.unSuccessfulReservations | List of the reservations that were unsuccessful. Data type: Array "unSuccessfulReservations": [ { "cancelled": Boolean, "error": "String", "insert": Boolean "reservable": "String" "success": Boolean, "sys_id": "String", "updated": Boolean } ] |
| result.unSuccessfulReservations.cancelled | Flag that indicates whether the reservation was successfully cancelled. Possible values: * true: Successfully cancelled. * false: Not cancelled. Data type: Boolean |
| result.unSuccessfulReservations.error | Error message if there was a problem while creating the reservation. Data type: String |
| result.unSuccessfulReservations.insert | Flag that indicates whether the reservation was successfully inserted. Possible values: * true: Successfully inserted. * false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.reservable | Sys_id of the workplace for which the reservation was trying to be made. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| result.unSuccessfulReservations.success | Flag that indicates whether the reservation was successfully created. Possible values: * true: Successfully created. * false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.sys_id | Sys_id of the unsuccessful reservation. Always null. Data type: String |
| result.unSuccessfulReservations.update | Flag that indicates whether the reservation was successfully updated. Possible values: * true: Successfully updated. * false: Not updated. Data type: Boolean |
[ ]

### cURL request

The following code example shows how to modify the content of an existing
multi-reservation.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        \"reservables\":[
            { 
                \"sys_id\":\"fe1f744edb7650106c731dcd139619ca\" 
            }, 
            {
                \"sys_id\":\"02000d4edb7650106c731dcd13961914\"
            }
        ],
        \"reservable_module\":\"c31241cedb7650106c731dcd13961917\",
        \"subject\":\"Test 1\",
        \"start\":\"2022-05-27 13:00:00\",
        \"end\":\"2022-05-27 14:00:00\",
        \"requested_for\": \"workplace_user@example.com\"
    }" \
    --user 'username':'password'

Return results:

    {
      "result": {
        "parent": "98ccb4348723cd106342b846dabb359a",
        "success": true,
        "successfulReservations": [
          {
            "success": true,
            "updated": true,
            "cancelled": false,
            "sys_id": "6cccb4348723cd106342b846dabb359d",
            "error": null,
            "reservable": "5eafb44edb7650106c731dcd13961943"
          },
          {
            "success": true,
            "updated": true,
            "cancelled": false,
            "sys_id": "74af283c87ef8d106342b846dabb3592",
            "error": null,
            "reservable": "fe1f744edb7650106c731dcd139619ca"
          }
        ],
        "unSuccessfulReservations": []
      }
    }

### cURL request

The following code example shows how to add a workplace location to an existing
multi-reservation.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"reservables\":[
           { 
               \"sys_id\":\"fe1f744edb7650106c731dcd139619ca\",
               \"is_private\": false 
           }, 
           {
               \"sys_id\":\"5eafb44edb7650106c731dcd13961943\",
               \"is_private\": false
           },
        {
               \"sys_id\":\"c4308d4edb7650106c731dcd1396194c\",
               \"is_private\": false
           }
       ],
       \"reservable_module\":\"c31241cedb7650106c731dcd13961917\",
       \"subject\":\"Test 1\",
       \"start\":\"2022-05-27 13:00:00\",
       \"end\":\"2022-05-27 14:00:00\",
       \"requested_for\": \"workplace_user@example.com\"
    }" \
    --user 'username':'password'

Return results:

    {
      "result": {
        "parent": "98ccb4348723cd106342b846dabb359a",
        "success": true,
        "successfulReservations": [
          {
            "success": true,
            "updated": true,
            "cancelled": false,
            "sys_id": "6cccb4348723cd106342b846dabb359d",
            "error": null,
            "reservable": "5eafb44edb7650106c731dcd13961943"
          },
          {
            "success": true,
            "updated": true,
            "cancelled": false,
            "sys_id": "74af283c87ef8d106342b846dabb3592",
            "error": null,
            "reservable": "fe1f744edb7650106c731dcd139619ca"
          },
          {
            "success": true,
            "inserted": true,
            "sys_id": "9e6d78748723cd106342b846dabb35a5",
            "error": null,
            "reservable": "c4308d4edb7650106c731dcd1396194c"
          }
        ],
        "unSuccessfulReservations": []
      }
    }

### cURL request

The following code example shows how to convert a single reservation to a
multi-reservation.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"reservables\":[
           { 
               \"sys_id\":\"fe1f744edb7650106c731dcd139619ca\",
               \"is_private\": false
           }, 
           {
               \"sys_id\":\"5eafb44edb7650106c731dcd13961943\",
               \"is_private\": false
           }
       ],
       \"reservable_module\":\"c31241cedb7650106c731dcd13961917\",
       \"subject\":\"Test 1\",
       \"start\":\"2022-05-27 13:00:00\",
       \"end\":\"2022-05-27 14:00:00\",
       \"requested_for\": \"workplace_user@example.com\"
    }" \
    --user 'username':'password'

Return results:

    {
      "result": {
        "success": true,
        "parent": "98ccb4348723cd106342b846dabb359a",
        "successfulReservations": [
          {
            "success": true,
            "inserted": true,
            "sys_id": "6cccb4348723cd106342b846dabb359d",
            "error": null,
            "reservable": "5eafb44edb7650106c731dcd13961943"
          },
          {
            "success": true,
            "insert": false,
            "update": true,
            "cancel": false,
            "sys_id": "74af283c87ef8d106342b846dabb3592",
            "reservable": "fe1f744edb7650106c731dcd139619ca"
          }
        ],
        "unSuccessfulReservations": [],
        "error": null
      }
    }

### cURL request

The following code example shows how to convert a multi-reservation into a single
reservation.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"reservables\":[
           { 
               \"sys_id\":\"fe1f744edb7650106c731dcd139619ca\",
               \"is_private\": false
           }
       ],
       \"reservable_module\":\"c31241cedb7650106c731dcd13961917\",
       \"subject\":\"Test 1\",
       \"start\":\"2022-05-27 13:00:00\",
       \"end\":\"2022-05-27 14:00:00\",
       \"requested_for\": \"workplace_user@example.com\"
    }" \
    --user 'username':'password'

Return results:

    {
      "result": {
        "sys_id": "74af283c87ef8d106342b846dabb3592",
        "success": true,
        "successfulReservations": [
          {
            "success": true,
            "insert": false,
            "update": true,
            "cancel": false,
            "sys_id": "74af283c87ef8d106342b846dabb3592",
            "reservable": "fe1f744edb7650106c731dcd139619ca",
            "error": ""
          },
          {
            "success": true,
            "insert": false,
            "update": true,
            "cancel": true,
            "sys_id": "3caf283c87ef8d106342b846dabb3596",
            "reservable": "5eafb44edb7650106c731dcd13961943"
          }
        ],
        "unSuccessfulReservations": [],
        "error": null
      }
    }

## WSD Multi Reservation - POST /api/sn_wsd_rsv/multi_reservation/add {#ariaid-title4}

Creates workplace reservations for the same time at different workplace
locations.
<br />

### URL format

Versioned URL:
/api/sn_wsd_rsv/{api_version}/multi_reservation/add

Default URL:
/api/sn_wsd_rsv/multi_reservation/add

### Supported request parameters

{#wsd_multi_reserv-POST-add__entry__2}{#wsd_multi_reserv-POST-add__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 13. Path parameters]

{#wsd_multi_reserv-POST-add__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 14. Query parameters]

{#wsd_multi_reserv-POST-add__entry__10}{#wsd_multi_reserv-POST-add__end-update_reserv-entry}{#wsd_multi_reserv-POST-add__requested_for-update_reserv-entry}{#wsd_multi_reserv-POST-add__reservable_module-update_reserv-entry}{#wsd_multi_reserv-POST-add__shift-update_reserv-entry}{#wsd_multi_reserv-POST-add__start-update_reserv-entry}{#wsd_multi_reserv-POST-add__subject-update_reserv-entry}

| Name | Description |
|-|-|
| end | Required if the shift parameter isn't passed in. Requested end time of the reservation. Data type: String Format: UTC or local time (yyyy-mm-dd hh:mm:ss) |
| requested_for | Sys_id or email address of the user for which the reservation is being made. Located in the User \[sys_user\] table. Data type: String |
| reservables | List of details about the reservables associated with the reservation. Data type: Array of Objects "reservables": [ { "is_private": Boolean, "sys_id": "String" } ] |
| reservables.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](https://www.servicenow.com/docs/access?context=location-privacy-settings-and-impact&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US). Valid values: * true: Reservation is private. * false: Reservation isn't private. Data type: Boolean Default: Value set for privacy in the system properties. |
| reservables.sys_id | Sys_id of the location at which to make the reservations. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| reservable_module | Required. Sys_id of the reservable module to associate with the reservation. A [reservable module](https://www.servicenow.com/docs/access?context=config-reservable-module&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US) defines the workplace items needed for a reservation. Located in the Reservable Module \[sn_wsd_rsv_reservable_module\] table. Data type: String |
| shift | Sys_id of the shift to associate with the reservation. Located in the Shift \[sn_wsd_core_shift\] table. If this parameter is passed in, the end parameter isn't required. For additional information on shift-based reservations, see [Enable shift-based reservation](https://www.servicenow.com/docs/access?context=wsd-reservation-setup&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US). Data type: String |
| start | Required. Requested start time of the reservation. Data type: String Format: UTC or local time (yyyy-mm-dd hh:mm:ss) |
| subject | Required. Subject of the meeting associated with the reservation. Data type: String |
[Table 15. Request body parameters]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-POST-add__entry__30}{#wsd_multi_reserv-POST-add__accept-reserv-entry}{#wsd_multi_reserv-POST-add__content_type-JSON-only-entry-RESTAPI}

| 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. |
[Table 16. Request headers]

{#wsd_multi_reserv-POST-add__entry__36}

| Header | Description |
|-|-|
| None |   |
[Table 17. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_multi_reserv-POST-add__entry__40}{#wsd_multi_reserv-POST-add__entry-200-status-code}{#wsd_multi_reserv-POST-add__entry-401-status-code}{#wsd_multi_reserv-POST-add__entry-404-status-code}{#wsd_multi_reserv-POST-add__entry-500-status-code}

| 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. |
[Table 18. Status codes]

### Response body parameters

{#wsd_multi_reserv-POST-add__entry__50}{#wsd_multi_reserv-POST-add__result-multi-entry}{#wsd_multi_reserv-POST-add__parent-multi-entry}{#wsd_multi_reserv-POST-add__success-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations_error-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations_inserted-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations_reservable-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations_success-multi-entry}{#wsd_multi_reserv-POST-add__successfulReservations_sys_id-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations_error-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations_inserted-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations_reservable-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations_success-multi-entry}{#wsd_multi_reserv-POST-add__unSuccessfulReservations_sy_id-multi-entry}

| Name | Description |
|-|-|
| result | Return results from the multi-reservation creation or update. Data type: Object "result": { "parent": "String", "success": Boolean, "successfulReservations": Array, "unSuccessfulReservations": Array } |
| result.parent | Sys_id of the parent reservation. A parent may have one or more child reservations associated to it. Data type: String |
| result.success | Flag that indicates whether the reservation was successfully created. Possible values: * true: Successfully created. * false: Operation failed. Data type: Boolean |
| result.successfulReservations | List of the reservations that were successfully created. Data type: Array "successfulReservations": [ { "error": "String", "inserted": Boolean, "reservable": "String" "success": Boolean, "sys_id": "String" } ] |
| 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.reservable | Sys_id of the workplace for which the reservation was made. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| result.successfulReservations.success | Flag that indicates whether the reservation was successfully created. Possible values: * true: Successfully created. * false: Operation failed. Data type: Boolean |
| result.successfulReservations.sys_id | Sys_id of the reservation that was created. Located in the Workplace Reservation \[sn_wsd_rsv_reservation\] table. Data type: String |
| result.unSuccessfulReservations | List of the reservations that were unsuccessfully. Data type: Array "unSuccessfulReservations": [ { "error": "String", "inserted": Boolean, "reservable": "String" "success": Boolean, "sys_id": "String" } ] |
| 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. Possible values: * true: Successfully inserted. * false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.reservable | Sys_id of the workplace for which the reservation was trying to be made. Located in the Workplace Location \[sn_wsd_core_workplace_location\] table. Data type: String |
| result.unSuccessfulReservations.success | Flag that indicates whether the reservation was successfully created. Possible values: * true: Successfully created. * false: Operation failed. Data type: Boolean |
| result.unSuccessfulReservations.sys_id | Sys_id of the unsuccessful reservation. Always null. Data type: String |
[ ]

### cURL request

This code example shows how to reserve two different workplaces for the same
reservation.

    curl "https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/add" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        \"reservable_module\": \"c31241cedb7650106c731dcd13961917\",
        \"subject\": \"Test-123\",
        \"reservation_purpose\": \"meeting\",
        \"timezone\": \"US/Pacific\",
        \"requested_for\": \"6816f79cc0a8016401c5a33be04be441\",
        \"reservables\": [
            {
                \"sys_id\": \"fe1f744edb7650106c731dcd139619ca\",
                \"is_private\": false
            },
            {
                \"sys_id\": \"d1208d4edb7650106c731dcd1396194a\",
                \"is_private\": false
            }
        ],
        \"start\": \"2023-01-12T11:30:00Z\",
        \"end\": \"2023-01-12T12:30:00Z\",
        \"reservation_type\": \"space\"
    }" \
    --user "username":"password"

Return results:

    {
      "result": {
        "success": true,
        "parent": "08e8a18687586550cfaa99b73cbb354f",
        "successfulReservations": [
          {
            "success": true,
            "inserted": true,
            "sys_id": "44e8a18687586550cfaa99b73cbb3552",
            "error": null,
            "reservable": "fe1f744edb7650106c731dcd139619ca"
          },
          {
            "success": true,
            "inserted": true,
            "sys_id": "04e8a18687586550cfaa99b73cbb3555",
            "error": null,
            "reservable": "d1208d4edb7650106c731dcd1396194a"
          }
        ],
        "unSuccessfulReservations": []
      }
    }


