{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":575,"path":"api-reference/rest-apis/wsd_multi_reserv-api.md","title":"WSD Multi Reservation API","bundle":null,"doc_type":null,"release":"australia","body":"\n# WSD Multi Reservation API\n\nThe Workplace Service Delivery \\(WSD\\) Multi Reservation API provides endpoints for managing reservations with multiple workplace locations.\n\nTo 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.\n\nThis API runs in the `sn_wsd_rsv` namespace.\n\nFor 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).\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## WSD Multi Reservation - PATCH /api/sn\\_wsd\\_rsv/multi\\_reservation/cancel/\\{sys\\_id\\}\n\nCancels a specified multi-reservation.\n\n### URL format\n\nVersioned URL: `/api/sn_wsd_rsv/{api_version}/multi_reservation/cancel/{sys_id}`\n\nDefault URL: `/api/sn_wsd_rsv/multi_reservation/cancel/{sys_id}`\n\n**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).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nsys\\_id\n\n</td><td>\n\nSys\\_id of the multi-reservation to cancel.Data type: String\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncancel\\_notes\n\n</td><td>\n\nReason for cancelling the reservation.Data type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe 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).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-reserv-entry\">\n\nData format of the request body. Supported types: **application/json**, **application/xml** or, **text/xml**. Default: **application/json**\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td id=\"content_type-JSON-only-entry-RESTAPI\">\n\nData format of the request body. Only supports **application/json**.\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe 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).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|401|Unauthorized. The user credentials are incorrect or have not been passed.|\n|404|Not found. The requested item wasn't found.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails of the results of the cancel request.Data type: Object\n\n```\n\"result\": {\n  \"error\": \"String\",\n  \"parent\": \"String\",\n  \"success\": Boolean,\n  \"successfulReservations\": [Array],\n  \"unSuccessfulReservations\": [Array]\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nMessage that describes the associated error.Data type: String\n\n</td></tr><tr><td>\n\nresult.parent\n\n</td><td id=\"parent-multi-entry\">\n\nSys\\_id of the parent reservation. A parent may have one or more child reservations associated to it.Data type: String\n\n</td></tr><tr><td>\n\nresult.success\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully cancelled.Possible values:\n\n-   true: Successfully cancelled.\n-   false: Reservation wasn't cancelled.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations\n\n</td><td>\n\nDetails about the successful cancellation of the multi-reservation.Data type: Array of Objects\n\n```\n\"successfulReservations\": [\n  {\n    \"msg\": \"String\",\n    \"success\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.successfulReservations.msg\n\n</td><td>\n\nCancellation message.Data type: String\n\n</td></tr><tr><td>\n\nresult.successfulReservations.success\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully cancelled.Possible values:\n\n-   true: Successfully cancelled.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.sys\\_id\n\n</td><td>\n\nSys\\_id of the reservation that was cancelled.Data type: String\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations\n\n</td><td>\n\nDetails about the unsuccessful cancellation of the multi-reservation.Data type: Array of Objects\n\n```\n\"unSuccessfulReservations\": [\n  {\n    \"msg\": \"String\",\n    \"success\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.msg\n\n</td><td>\n\nCancellation message.Data type: String\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.success\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully cancelled.Possible values:\n\n-   true: Successfully cancelled.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.sys\\_id\n\n</td><td>\n\nSys\\_id of the reservation that was not cancelled.Data type: String\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to cancel a multi-reservations.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/cancel/1b1fdf5987ab01506342b846dabb35ec\" \\\n--request PATCH \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\\\"cancel_notes\\\":\\\"Meeting no longer needed.\\\"}\" \\ \n--user \"username\":\"password’\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"success\": true,\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"msg\": \"Cancelled successfully.\",\n        \"sys_id\": \"5b1f9f1d87ab01506342b846dabb35a4\"\n      },\n      {\n        \"success\": true,\n        \"msg\": \"Cancelled successfully.\",\n        \"sys_id\": \"931f9f1d87ab01506342b846dabb35a0\"\n      }\n    ],\n    \"unSuccessfulReservations\": [],\n    \"error\": null,\n    \"parent\": \"1b1fdf5987ab01506342b846dabb35ec\"\n  }\n}\n```\n\n## WSD Multi Reservation - PATCH /api/sn\\_wsd\\_rsv/multi\\_reservation/update/\\{sys\\_id\\}\n\nUpdates the reservations associated with a multi-reservation where the same reservation \\(meeting\\) has multiple workplace locations.\n\nThis endpoint can handle four different update scenarios:\n\n1.  Update the content of the multi-reservation record, such as the subject, date, or time.\n2.  Convert the multi-reservation into a single reservation based on the parent \\(reservation for a single workplace location\\).\n3.  Convert a single reservation \\(reservation for a single workplace location\\) into a multi-reservation.\n4.  Add or remove a workplace location to an existing multi-reservation.\n\n### URL format\n\nVersioned URL: `/api/sn_wsd_rsv/{api_version}/multi_reservation/update/{sys_id}`\n\nDefault URL: `/api/sn_wsd_rsv/multi_reservation/update/{sys_id}`\n\n**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).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nsys\\_id\n\n</td><td>\n\nSys\\_id of the reservation to update.-   Single reservation to multi-reservation: Sys\\_id of the single reservation.\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n-   Update content of multi-reservation: Sys\\_id of the parent reservation record.\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n\nTo 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.\n\n Data type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nend\n\n</td><td id=\"end-update_reserv-entry\">\n\nRequired if the **shift** parameter isn't passed in. Requested end time of the reservation.Data type: String\n\nFormat: UTC or local time \\(yyyy-mm-dd hh:mm:ss\\)\n\n</td></tr><tr><td>\n\nrequested\\_for\n\n</td><td id=\"requested_for-update_reserv-entry\">\n\nSys\\_id or email address of the user for which the reservation is being made.Data type: String\n\nTable: User \\[sys\\_user\\]\n\n</td></tr><tr><td>\n\nreservables\n\n</td><td>\n\nList of details about the reservables associated with the reservation.Data type: Array of Objects\n\n```\n\"reservables\": [\n  {\n    \"is_private\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nreservables.is\\_private\n\n</td><td>\n\nFlag 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://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/location-privacy-settings-and-impact.md).\n\nValid values:\n\n-   true: Reservation is private.\n-   false: Reservation isn't private.\n\nData type: Boolean\n\nDefault: Value set for privacy in the system properties.\n\n</td></tr><tr><td>\n\nreservables.sys\\_id\n\n</td><td>\n\nSys\\_id of the location at which to make the reservations. Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nreservable\\_module\n\n</td><td id=\"reservable_module-update_reserv-entry\">\n\nRequired only for April 2026 store and earlier releases. Not required with May 2026 store and later releases. Sys\\_id of the reservable module to associate with the reservation. A [reservable module](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/config-reservable-module.md) defines the workplace items needed for a reservation.\n\nData type: String\n\nTable: Reservable Module \\[sn\\_wsd\\_rsv\\_reservable\\_module\\]\n\n</td></tr><tr><td>\n\nshift\n\n</td><td id=\"shift-update_reserv-entry\">\n\nSys\\_id of the shift to associate with the reservation. If this parameter is passed in, the **end** parameter isn't required.\n\nFor additional information on shift-based reservations, see [Enable shift-based reservation](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/wsd-reservation-setup.md).\n\nData type: String\n\nTable: Shift \\[sn\\_wsd\\_core\\_shift\\]\n\n</td></tr><tr><td>\n\nstart\n\n</td><td id=\"start-update_reserv-entry\">\n\nRequired. Requested start time of the reservation.Data type: String\n\nFormat: UTC or local time \\(yyyy-mm-dd hh:mm:ss\\)\n\n</td></tr><tr><td>\n\nsubject\n\n</td><td>\n\nSubject of the meeting associated with the reservation.\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe 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).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-reserv-entry\">\n\nData format of the request body. Supported types: **application/json**, **application/xml** or, **text/xml**. Default: **application/json**\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td id=\"content_type-JSON-only-entry-RESTAPI\">\n\nData format of the request body. Only supports **application/json**.\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe 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).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|401|Unauthorized. The user credentials are incorrect or have not been passed.|\n|404|Not found. The requested item wasn't found.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td id=\"result-multi-entry\">\n\nReturn results from the multi-reservation creation or update.Data type: Object\n\n```\n\"result\": {\n  \"parent\": \"String\",\n  \"success\": Boolean,\n  \"successfulReservations\": [Array],\n  \"unSuccessfulReservations\": [Array]\n}\n```\n\n</td></tr><tr><td>\n\nresult.parent\n\n</td><td id=\"parent-multi-entry\">\n\nSys\\_id of the parent reservation. A parent may have one or more child reservations associated to it.Data type: String\n\n</td></tr><tr><td>\n\nresult.success\n\n</td><td id=\"success-multi-entry\">\n\nFlag that indicates whether the reservation was successfully created.Possible values:\n\n-   true: Successfully created.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations\n\n</td><td>\n\nList of the reservations that were successfully created.Data type: Array of Objects\n\n```\n\"successfulReservations\": [\n  {\n    \"cancelled\": Boolean,\n    \"error\": \"String\",\n    \"reservable\": \"String\"\n    \"success\": Boolean,\n    \"sys_id\": \"String\",\n    \"updated\": Boolean\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.successfulReservations.cancelled\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully cancelled.Possible values:\n\n-   true: Successfully cancelled.\n-   false: Not cancelled.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.error\n\n</td><td id=\"successfulReservations_error-multi-entry\">\n\nError message if there was a problem while creating the reservation.Data type: String\n\n</td></tr><tr><td>\n\nresult.SuccessfulReservations.insert\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully inserted. Such as when a reservation is added.Possible values:\n\n-   true: Successfully inserted.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.reservable\n\n</td><td id=\"successfulReservations_reservable-multi-entry\">\n\nSys\\_id of the workplace for which the reservation was made.Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nresult.successfulReservations.success\n\n</td><td>\n\nFlag that indicates whether the associated operation was successful.Possible values:\n\n-   true: Operation was successful.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.sys\\_id\n\n</td><td id=\"successfulReservations_sys_id-multi-entry\">\n\nSys\\_id of the reservation that was created.Data type: String\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n</td></tr><tr><td>\n\nresult.successfulReservations.update\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully updated.Possible values:\n\n-   true: Successfully updated.\n-   false: Not updated.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations\n\n</td><td>\n\nList of the reservations that were unsuccessful.Data type: Array of Objects\n\n```\n\"unSuccessfulReservations\": [\n  {\n    \"cancelled\": Boolean,\n    \"error\": \"String\",\n    \"insert\": Boolean\n    \"reservable\": \"String\"\n    \"success\": Boolean,\n    \"sys_id\": \"String\",\n    \"updated\": Boolean\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.cancelled\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully cancelled.Possible values:\n\n-   true: Successfully cancelled.\n-   false: Not cancelled.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.error\n\n</td><td id=\"unSuccessfulReservations_error-multi-entry\">\n\nError message if there was a problem while creating the reservation.Data type: String\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.insert\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully inserted.Possible values:\n\n-   true: Successfully inserted.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.reservable\n\n</td><td id=\"unSuccessfulReservations_reservable-multi-entry\">\n\nSys\\_id of the workplace for which the reservation was trying to be made.Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.success\n\n</td><td id=\"unSuccessfulReservations_success-multi-entry\">\n\nFlag that indicates whether the reservation was successfully created.Possible values:\n\n-   true: Successfully created.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.sys\\_id\n\n</td><td id=\"unSuccessfulReservations_sy_id-multi-entry\">\n\nSys\\_id of the unsuccessful reservation. Always null.\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.update\n\n</td><td>\n\nFlag that indicates whether the reservation was successfully updated.Possible values:\n\n-   true: Successfully updated.\n-   false: Not updated.\n\nData type: Boolean\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to modify the content of an existing multi-reservation.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914\" \\\n--request PATCH \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n    \\\"reservables\\\":[\n        { \n            \\\"sys_id\\\":\\\"fe1f744edb7650106c731dcd139619ca\\\" \n        }, \n        {\n            \\\"sys_id\\\":\\\"02000d4edb7650106c731dcd13961914\\\"\n        }\n    ],\n    \\\"reservable_module\\\":\\\"c31241cedb7650106c731dcd13961917\\\",\n    \\\"subject\\\":\\\"Test 1\\\",\n    \\\"start\\\":\\\"2022-05-27 13:00:00\\\",\n    \\\"end\\\":\\\"2022-05-27 14:00:00\\\",\n    \\\"requested_for\\\": \\\"workplace_user@example.com\\\"\n}\" \\\n--user 'username':'password'\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"parent\": \"98ccb4348723cd106342b846dabb359a\",\n    \"success\": true,\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"updated\": true,\n        \"cancelled\": false,\n        \"sys_id\": \"6cccb4348723cd106342b846dabb359d\",\n        \"error\": null,\n        \"reservable\": \"5eafb44edb7650106c731dcd13961943\"\n      },\n      {\n        \"success\": true,\n        \"updated\": true,\n        \"cancelled\": false,\n        \"sys_id\": \"74af283c87ef8d106342b846dabb3592\",\n        \"error\": null,\n        \"reservable\": \"fe1f744edb7650106c731dcd139619ca\"\n      }\n    ],\n    \"unSuccessfulReservations\": []\n  }\n}\n```\n\n### cURL request\n\nThe following code example shows how to add a workplace location to an existing multi-reservation.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914\" \\\n--request PATCH \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"reservables\\\":[\n       { \n           \\\"sys_id\\\":\\\"fe1f744edb7650106c731dcd139619ca\\\",\n           \\\"is_private\\\": false \n       }, \n       {\n           \\\"sys_id\\\":\\\"5eafb44edb7650106c731dcd13961943\\\",\n           \\\"is_private\\\": false\n       },\n    {\n           \\\"sys_id\\\":\\\"c4308d4edb7650106c731dcd1396194c\\\",\n           \\\"is_private\\\": false\n       }\n   ],\n   \\\"reservable_module\\\":\\\"c31241cedb7650106c731dcd13961917\\\",\n   \\\"subject\\\":\\\"Test 1\\\",\n   \\\"start\\\":\\\"2022-05-27 13:00:00\\\",\n   \\\"end\\\":\\\"2022-05-27 14:00:00\\\",\n   \\\"requested_for\\\": \\\"workplace_user@example.com\\\"\n}\" \\\n--user 'username':'password'\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"parent\": \"98ccb4348723cd106342b846dabb359a\",\n    \"success\": true,\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"updated\": true,\n        \"cancelled\": false,\n        \"sys_id\": \"6cccb4348723cd106342b846dabb359d\",\n        \"error\": null,\n        \"reservable\": \"5eafb44edb7650106c731dcd13961943\"\n      },\n      {\n        \"success\": true,\n        \"updated\": true,\n        \"cancelled\": false,\n        \"sys_id\": \"74af283c87ef8d106342b846dabb3592\",\n        \"error\": null,\n        \"reservable\": \"fe1f744edb7650106c731dcd139619ca\"\n      },\n      {\n        \"success\": true,\n        \"inserted\": true,\n        \"sys_id\": \"9e6d78748723cd106342b846dabb35a5\",\n        \"error\": null,\n        \"reservable\": \"c4308d4edb7650106c731dcd1396194c\"\n      }\n    ],\n    \"unSuccessfulReservations\": []\n  }\n}\n\n```\n\n### cURL request\n\nThe following code example shows how to convert a single reservation to a multi-reservation.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914\" \\\n--request PATCH \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"reservables\\\":[\n       { \n           \\\"sys_id\\\":\\\"fe1f744edb7650106c731dcd139619ca\\\",\n           \\\"is_private\\\": false\n       }, \n       {\n           \\\"sys_id\\\":\\\"5eafb44edb7650106c731dcd13961943\\\",\n           \\\"is_private\\\": false\n       }\n   ],\n   \\\"reservable_module\\\":\\\"c31241cedb7650106c731dcd13961917\\\",\n   \\\"subject\\\":\\\"Test 1\\\",\n   \\\"start\\\":\\\"2022-05-27 13:00:00\\\",\n   \\\"end\\\":\\\"2022-05-27 14:00:00\\\",\n   \\\"requested_for\\\": \\\"workplace_user@example.com\\\"\n}\" \\\n--user 'username':'password'\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"success\": true,\n    \"parent\": \"98ccb4348723cd106342b846dabb359a\",\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"inserted\": true,\n        \"sys_id\": \"6cccb4348723cd106342b846dabb359d\",\n        \"error\": null,\n        \"reservable\": \"5eafb44edb7650106c731dcd13961943\"\n      },\n      {\n        \"success\": true,\n        \"insert\": false,\n        \"update\": true,\n        \"cancel\": false,\n        \"sys_id\": \"74af283c87ef8d106342b846dabb3592\",\n        \"reservable\": \"fe1f744edb7650106c731dcd139619ca\"\n      }\n    ],\n    \"unSuccessfulReservations\": [],\n    \"error\": null\n  }\n}\n```\n\n### cURL request\n\nThe following code example shows how to convert a multi-reservation into a single reservation.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/update/02000d4edb7650106c731dcd13961914\" \\\n--request PATCH \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"reservables\\\":[\n       { \n           \\\"sys_id\\\":\\\"fe1f744edb7650106c731dcd139619ca\\\",\n           \\\"is_private\\\": false\n       }\n   ],\n   \\\"reservable_module\\\":\\\"c31241cedb7650106c731dcd13961917\\\",\n   \\\"subject\\\":\\\"Test 1\\\",\n   \\\"start\\\":\\\"2022-05-27 13:00:00\\\",\n   \\\"end\\\":\\\"2022-05-27 14:00:00\\\",\n   \\\"requested_for\\\": \\\"workplace_user@example.com\\\"\n}\" \\\n--user 'username':'password'\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"sys_id\": \"74af283c87ef8d106342b846dabb3592\",\n    \"success\": true,\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"insert\": false,\n        \"update\": true,\n        \"cancel\": false,\n        \"sys_id\": \"74af283c87ef8d106342b846dabb3592\",\n        \"reservable\": \"fe1f744edb7650106c731dcd139619ca\",\n        \"error\": \"\"\n      },\n      {\n        \"success\": true,\n        \"insert\": false,\n        \"update\": true,\n        \"cancel\": true,\n        \"sys_id\": \"3caf283c87ef8d106342b846dabb3596\",\n        \"reservable\": \"5eafb44edb7650106c731dcd13961943\"\n      }\n    ],\n    \"unSuccessfulReservations\": [],\n    \"error\": null\n  }\n}\n```\n\n## WSD Multi Reservation - POST /api/sn\\_wsd\\_rsv/multi\\_reservation/add\n\nCreates workplace reservations for the same time at different workplace locations.\n\n### URL format\n\nVersioned URL: `/api/sn_wsd_rsv/{api_version}/multi_reservation/add`\n\nDefault URL: `/api/sn_wsd_rsv/multi_reservation/add`\n\n**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).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nend\n\n</td><td id=\"end-update_reserv-entry\">\n\nRequired if the **shift** parameter isn't passed in. Requested end time of the reservation.Data type: String\n\nFormat: UTC or local time \\(yyyy-mm-dd hh:mm:ss\\)\n\n</td></tr><tr><td>\n\nrequested\\_for\n\n</td><td id=\"requested_for-update_reserv-entry\">\n\nSys\\_id or email address of the user for which the reservation is being made.Data type: String\n\nTable: User \\[sys\\_user\\]\n\n</td></tr><tr><td>\n\nreservables\n\n</td><td>\n\nList of details about the reservables associated with the reservation.Data type: Array of Objects\n\n```\n\"reservables\": [\n  {\n    \"is_private\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nreservables.is\\_private\n\n</td><td>\n\nFlag 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://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/location-privacy-settings-and-impact.md).\n\nValid values:\n\n-   true: Reservation is private.\n-   false: Reservation isn't private.\n\nData type: Boolean\n\nDefault: Value set for privacy in the system properties.\n\n</td></tr><tr><td>\n\nreservables.sys\\_id\n\n</td><td>\n\nSys\\_id of the location at which to make the reservations. Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nreservable\\_module\n\n</td><td id=\"reservable_module-update_reserv-entry\">\n\nRequired only for April 2026 store and earlier releases. Not required with May 2026 store and later releases. Sys\\_id of the reservable module to associate with the reservation. A [reservable module](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/config-reservable-module.md) defines the workplace items needed for a reservation.\n\nData type: String\n\nTable: Reservable Module \\[sn\\_wsd\\_rsv\\_reservable\\_module\\]\n\n</td></tr><tr><td>\n\nshift\n\n</td><td id=\"shift-update_reserv-entry\">\n\nSys\\_id of the shift to associate with the reservation. If this parameter is passed in, the **end** parameter isn't required.\n\nFor additional information on shift-based reservations, see [Enable shift-based reservation](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/employee-service-management/wsd-reservation-setup.md).\n\nData type: String\n\nTable: Shift \\[sn\\_wsd\\_core\\_shift\\]\n\n</td></tr><tr><td>\n\nstart\n\n</td><td id=\"start-update_reserv-entry\">\n\nRequired. Requested start time of the reservation.Data type: String\n\nFormat: UTC or local time \\(yyyy-mm-dd hh:mm:ss\\)\n\n</td></tr><tr><td>\n\nsubject\n\n</td><td id=\"subject-update_reserv-entry\">\n\nRequired. Subject of the meeting associated with the reservation.\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe 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).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-reserv-entry\">\n\nData format of the request body. Supported types: **application/json**, **application/xml** or, **text/xml**. Default: **application/json**\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td id=\"content_type-JSON-only-entry-RESTAPI\">\n\nData format of the request body. Only supports **application/json**.\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe 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).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|401|Unauthorized. The user credentials are incorrect or have not been passed.|\n|404|Not found. The requested item wasn't found.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td id=\"result-multi-entry\">\n\nReturn results from the multi-reservation creation or update.Data type: Object\n\n```\n\"result\": {\n  \"parent\": \"String\",\n  \"success\": Boolean,\n  \"successfulReservations\": [Array],\n  \"unSuccessfulReservations\": [Array]\n}\n```\n\n</td></tr><tr><td>\n\nresult.parent\n\n</td><td id=\"parent-multi-entry\">\n\nSys\\_id of the parent reservation. A parent may have one or more child reservations associated to it.Data type: String\n\n</td></tr><tr><td>\n\nresult.success\n\n</td><td id=\"success-multi-entry\">\n\nFlag that indicates whether the reservation was successfully created.Possible values:\n\n-   true: Successfully created.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations\n\n</td><td id=\"successfulReservations-multi-entry\">\n\nList of the reservations that were successfully created.Data type: Array of Objects\n\n```\n\"successfulReservations\": [\n  {\n    \"error\": \"String\",\n    \"inserted\": Boolean,\n    \"reservable\": \"String\"\n    \"success\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.successfulReservations.error\n\n</td><td id=\"successfulReservations_error-multi-entry\">\n\nError message if there was a problem while creating the reservation.Data type: String\n\n</td></tr><tr><td>\n\nresult.successfulReservations.inserted\n\n</td><td id=\"successfulReservations_inserted-multi-entry\">\n\nFlag that indicates whether the reservation was successfully inserted. Such as when a reservation is added.Possible values:\n\n-   true: Successfully inserted.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.reservable\n\n</td><td id=\"successfulReservations_reservable-multi-entry\">\n\nSys\\_id of the workplace for which the reservation was made.Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nresult.successfulReservations.success\n\n</td><td id=\"successfulReservations_success-multi-entry\">\n\nFlag that indicates whether the reservation was successfully created.Possible values:\n\n-   true: Successfully created.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.successfulReservations.sys\\_id\n\n</td><td id=\"successfulReservations_sys_id-multi-entry\">\n\nSys\\_id of the reservation that was created.Data type: String\n\nTable: Workplace Reservation \\[sn\\_wsd\\_rsv\\_reservation\\]\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations\n\n</td><td id=\"unSuccessfulReservations-multi-entry\">\n\nList of the reservations that were unsuccessfully.Data type: Array of Objects\n\n```\n\"unSuccessfulReservations\": [\n  {\n    \"error\": \"String\",\n    \"inserted\": Boolean,\n    \"reservable\": \"String\"\n    \"success\": Boolean,\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.error\n\n</td><td id=\"unSuccessfulReservations_error-multi-entry\">\n\nError message if there was a problem while creating the reservation.Data type: String\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.inserted\n\n</td><td id=\"unSuccessfulReservations_inserted-multi-entry\">\n\nFlag that indicates whether the reservation was successfully inserted.Possible values:\n\n-   true: Successfully inserted.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.reservable\n\n</td><td id=\"unSuccessfulReservations_reservable-multi-entry\">\n\nSys\\_id of the workplace for which the reservation was trying to be made.Data type: String\n\nTable: Workplace Location \\[sn\\_wsd\\_core\\_workplace\\_location\\]\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.success\n\n</td><td id=\"unSuccessfulReservations_success-multi-entry\">\n\nFlag that indicates whether the reservation was successfully created.Possible values:\n\n-   true: Successfully created.\n-   false: Operation failed.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.unSuccessfulReservations.sys\\_id\n\n</td><td id=\"unSuccessfulReservations_sy_id-multi-entry\">\n\nSys\\_id of the unsuccessful reservation. Always null.\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis code example shows how to reserve two different workplaces for the same reservation.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_wsd_rsv/multi_reservation/add\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n    \\\"reservable_module\\\": \\\"c31241cedb7650106c731dcd13961917\\\",\n    \\\"subject\\\": \\\"Test-123\\\",\n    \\\"reservation_purpose\\\": \\\"meeting\\\",\n    \\\"timezone\\\": \\\"US/Pacific\\\",\n    \\\"requested_for\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\",\n    \\\"reservables\\\": [\n        {\n            \\\"sys_id\\\": \\\"fe1f744edb7650106c731dcd139619ca\\\",\n            \\\"is_private\\\": false\n        },\n        {\n            \\\"sys_id\\\": \\\"d1208d4edb7650106c731dcd1396194a\\\",\n            \\\"is_private\\\": false\n        }\n    ],\n    \\\"start\\\": \\\"2023-01-12T11:30:00Z\\\",\n    \\\"end\\\": \\\"2023-01-12T12:30:00Z\\\",\n    \\\"reservation_type\\\": \\\"space\\\"\n}\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"success\": true,\n    \"parent\": \"08e8a18687586550cfaa99b73cbb354f\",\n    \"successfulReservations\": [\n      {\n        \"success\": true,\n        \"inserted\": true,\n        \"sys_id\": \"44e8a18687586550cfaa99b73cbb3552\",\n        \"error\": null,\n        \"reservable\": \"fe1f744edb7650106c731dcd139619ca\"\n      },\n      {\n        \"success\": true,\n        \"inserted\": true,\n        \"sys_id\": \"04e8a18687586550cfaa99b73cbb3555\",\n        \"error\": null,\n        \"reservable\": \"d1208d4edb7650106c731dcd1396194a\"\n      }\n    ],\n    \"unSuccessfulReservations\": []\n  }\n}\n```\n\n"}}