Worksimply API
Welcome to the Worksimply API. Use this API to access endpoints for real-time data from the Space Operators.
Server
1https://staging-api.worksimply.ca/v1
Enterprises
Enterprises endpoints will create, update and list the enterprises.
Create Enterprises
post/enterprises/createThis endpoint creates an Enterprise
Request body parameters
name string*
The name of the Enterprise
external_id string*
The unique ID of the enterprise that are used in your system
stripe_customer_id string*
The name of the Enterprise
stripe_payment_method_id string*
The name of the Enterprise
1{
2 name: "Enterprise A",
3 external_id: "7160144241",
4 stripe_customer_id: "cus_Je6HsyT4Db6wEc",
5 stripe_payment_method_id: "pm_1J0o5OJo8ARofgK0nh5IxWo2"
6}
1{
2 "message": "Success",
3 "enterprise": {
4 "name": "Enterprise A",
5 "external_id": "7160144241",
6 "stripe_customer_id": "cus_Je6HsyT4Db6wEc",
7 "stripe_payment_method_id": "pm_1J0o5OJo8ARofgK0nh5IxWo2",
8 "enterprise_id": "fffa1cb3-6a19-4078-a6c5-9f1c79acbba6"
9 }
10}
Update Enterprises
post/enterprises/updateThis endpoint updates the Enterprise for the provided ID. Only the name, stripe_customer_id and stripe_payment_method_id are editable. This endpoint will update only the provided values.
Request body parameters
enterprise_id uuid*
The uuid of the Enterprise to be updated
data object*
The data to be updated. Only the values passed in will be updated.
name string
The name of the Enterprise
stripe_customer_id string
The name of the Enterprise
stripe_payment_method_id string
The name of the Enterprise
1{
2 enterprise_id: "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
3 data: {
4 name: "Enterprise B",
5 stripe_customer_id: "cus_Je6HsyT4Db6wEc",
6 stripe_payment_method_id: "pm_1J0o5OJo8ARofgK0nh5IxWo2"
7 }
8}
1{
2 "message": "Success",
3 "enterprise": {
4 "name": "Enterprise B",
5 "stripe_customer_id": "cus_Je6HsyT4Db6wEc",
6 "stripe_payment_method_id": "pm_1J0o5OJo8ARofgK0nh5IxWo2",
7 "external_id": "7160144241",
8 "enterprise_id": "fffa1cb3-6a19-4078-a6c5-9f1c79acbba6"
9 }
10}
List Enterprises
post/enterprises/listThis endpoint lists the enterprises belongs to you. No parameters are required in the body.
1{
2 "message": "Success",
3 "enterprises": [
4 {
5 "enterprise_id": "fffa1cb3-6a19-4078-a6c5-9f1c79acbba6",
6 "name": "Enterprise B",
7 "external_id": "7160144241",
8 "stripe_customer_id": "cus_Je6HsyT4Db6wEc",
9 "stripe_payment_method_id": "pm_1J0o5OJo8ARofgK0nh5IxWo2"
10 },
11 ]
12}
Search
Search endpoints will return the list of matching locations for a given search criteria.
Search Desks
post/search/desksThis endpoint retrieves a list of Location objects that offer desks for the specified search criteria.
Request body parameters
space_operator_id uuid
The uuid of the space operator. When specified, the results will include offices only from the locations that belongs to the specified Space Operator. When null, this endpoint will return all the locations that offer desks.
Default: NULL
1{
2 space_operator_id: "5331a21a-583a-4e29-8795-bb624e678c78"
3}
1{
2 "message": "Success",
3 "locations": [
4 {
5 "location_id": "dbd69df5-cc6b-48ba-b879-f648e6cf1dfb",
6 "name": "Worksimply Test Location",
7 "title": "Pay for what you need, when you need it. ",
8 "description": "Pay for what you need, when you need it. Our bright and inspiring private offices come fully equipped so you can focus on your business.",
9 "cover_image": "https://images.worksimply.ca/local/space-providers/fa89d6e6-c7ab-4ebf-81e9-050a6df7825c.jpg",
10 "location": {
11 "lat": 43.51245979999999,
12 "lng": -79.6782796,
13 "address": "Winston Park Dr, Oakville, ON L6H, Canada",
14 "heading": 0,
15 "camera": {
16 "lat": 43.51245979999999,
17 "lng": -79.6782796
18 },
19 "short_address": "Winston Park Dr",
20 "city": "Oakville",
21 "place_id": "EilXaW5zdG9uIFBhcmsgRHIsIE9ha3ZpbGxlLCBPTiBMNkgsIENhbmFkYSIuKiwKFAoSCY3OZTMKQyuIEY1TMEnQGP4REhQKEgl5mXKPi1sriBHQGyPHKHsDBQ"
22 },
23 "price_per_day_pass": 25
24 }
25 ]
26}
Search On-demand Offices
post/search/on-demand-officesThis endpoint retrieves a list of Location objects that offers on-demand offices for the specified search criteria.
Request body parameters
space_operator_id uuid
The uuid of the Space Operator. If specified, this endpoint will retrieve the locations that belongs to the specified SO.
option_count integer
This limits the number of matched offices returned per location. Defaults to two.
Default: 2
params object*
The start date selected by the user
team_size integer*
Team size to look the available offices for.
Default: 2
location string*
The city of the user.
Default: Toronto
start_date date*
The start date selected by the user, in YYYY-MM-DD format.
Example: 2021-05-14
end_date date*
The end date selected by the user, in YYYY-MM-DD format.
Example: 2021-05-16
on_demand_type string
The type of the on-demand search. Should be one of 'Hourly' or 'Daily'
Default: Daily
Example: Daily
start_time string
The start time selected by the user. This parameter is required if the type is 'Hourly'
Default: NULL
Example: 01:00 PM
end_time string
The end time selected by the user. This parameter is required if the type is 'Hourly'
Default: NULL
Example: 04:00 PM
1{
2 space_operator_id: "5331a21a-583a-4e29-8795-bb624e678c78",
3 option_count: 2,
4 params: {
5 team_size: 2,
6 location: "Toronto",
7 start_date: "2021-05-14",
8 end_date: "2021-05-16",
9 on_demand_type: "Hourly",
10 start_time: "01:00 PM",
11 end_time: "04:00 PM"
12 }
13}
1{
2 "message": "Success",
3 "user": {
4 "team_size": "2",
5 "location": "Toronto",
6 "space_operator_id": null,
7 "daily": false,
8 "start_date": "2021-05-14",
9 "end_date": "2021-05-16",
10 "start_time": "01:00 PM",
11 "end_time": "04:00 PM"
12 },
13 "locations": [
14 {
15 "location_id": "c92fce94-33a8-4ae9-8e34-c089b0d3b075",
16 "location": {
17 "lat": 43.51245979999999,
18 "lng": -79.6782796,
19 "address": "Winston Park Dr, Oakville, ON L6H, Canada",
20 "heading": 0,
21 "camera": {
22 "lat": 43.51245979999999,
23 "lng": -79.6782796
24 },
25 "short_address": "Winston Park Dr",
26 "city": "Oakville",
27 "place_id": "EilXaW5zdG9uIFBhcmsgRHIsIE9ha3ZpbGxlLCBPTiBMNkgsIENhbmFkYSIuKiwKFAoSCY3OZTMKQyuIEY1TMEnQGP4REhQKEgl5mXKPi1sriBHQGyPHKHsDBQ"
28 },
29 "space_operator_id": "d241965e-8046-4cf5-a4c4-a1c462b066d0",
30 "name": "Worksimply Office No.2",
31 "title": "Pay for what you need, when you need it. ",
32 "cover_image": "https://images.worksimply.ca/local/space-providers/fa89d6e6-c7ab-4ebf-81e9-050a6df7825c.jpg",
33 "offices": [
34 {
35 "office_id": "c92fce94-33a8-4ae9-8e34-c089b0d3b075",
36 "svg_identifier": "x:678.5|y:67.5|width:212|height:202",
37 "price_per_month": 3000,
38 "price_per_day": 300,
39 "price_per_hour": 30,
40 "plan_svg": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
41 "plan_bg": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg",
42 "capacity": 3,
43 "square_footage": 0
44 },
45 {
46 "office_id": "f2d10a08-5e5b-409e-af1f-c7c5e9a8ace4",
47 "svg_identifier": "x:1310.5|y:67.5|width:211|height:202",
48 "price_per_month": 3500,
49 "price_per_day": 350,
50 "price_per_hour": 35,
51 "plan_svg": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
52 "plan_bg": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg",
53 "capacity": 6,
54 "square_footage": 0
55 }
56 ]
57 }
58 ]
59}
Location Profile
Endpoints for the actions inside the location profile.
View Location
post/location/viewReturns the Location object for a given uuid.
Request body parameters
id uuid*
The UUID of the location.
Default: NULL
Example: 5331a21a-583a-4e29-8795-bb624e678c78
1{
2 id: "5331a21a-583a-4e29-8795-bb624e678c78"
3}
1{
2 "message": "Success",
3 "location": {
4 "location_id": "dbd69df5-cc6b-48ba-b879-f648e6cf1dfb",
5 "office_term_commitment": "Month to Month",
6 "dedicated_desks_term_commitment": "Month to Month",
7 "office_access_copy": "",
8 "location": {
9 "lat": 43.51245979999999,
10 "lng": -79.6782796,
11 "address": "Winston Park Dr, Oakville, ON L6H, Canada",
12 "heading": 0,
13 "camera": {
14 "lat": 43.51245979999999,
15 "lng": -79.6782796
16 },
17 "short_address": "Winston Park Dr",
18 "city": "Oakville",
19 "place_id": "EilXaW5zdG9uIFBhcmsgRHIsIE9ha3ZpbGxlLCBPTiBMNkgsIENhbmFkYSIuKiwKFAoSCY3OZTMKQyuIEY1TMEnQGP4REhQKEgl5mXKPi1sriBHQGyPHKHsDBQ"
20 },
21 "cover_image": "https://images.worksimply.ca/local/space-providers/fa89d6e6-c7ab-4ebf-81e9-050a6df7825c.jpg",
22 "logo_url": null,
23 "space_title": "Pay for what you need, when you need it.",
24 "space_description": "Pay for what you need, when you need it. Our bright and inspiring private offices come fully equipped so you can focus on your business.",
25 "high_speed_internet": true,
26 "additional_includes": [
27 "Option 1",
28 "Option 2"
29 ],
30 "user_image_url": "https://images.worksimply.ca/local/space-providers/f4f28771-3b05-45c7-a08a-b0ff9f1f84d9.jpg",
31 "contact_name": "Johm Smith",
32 "contact_position": "Community Manager",
33 "contact_email": "[email protected]",
34 "space_name": "Worksimply Test Location",
35 "space_type": "Coworking Space",
36 "on_demand_emails": "[email protected]",
37 "city": "Toronto",
38 "on_demand_instructions": "The first line of test instructions\nAnother line of test instructions",
39 "price_per_desk": 25,
40 "timezone": "America/Toronto",
41 "currency": "cad",
42 "space_operator_id": "d241965e-8046-4cf5-a4c4-a1c462b066d0",
43 "floors": [
44 {
45 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
46 "floor_name": "Floor 1",
47 "map_svg_url": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
48 "map_background_url": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg",
49 "offices": [
50 {
51 "office_id": "c92fce94-33a8-4ae9-8e34-c089b0d3b075",
52 "svg_identifier": "x:678.5|y:67.5|width:212|height:202",
53 "price_per_month": 3000,
54 "capacity": 3,
55 "square_footage": 0,
56 "space_available": true,
57 "space_available_from": null,
58 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
59 "price_per_day": 300,
60 "price_per_hour": 30,
61 "label": "",
62 },
63 {
64 "office_id": "f37fe255-c020-4f70-88e6-84659d76280e",
65 "svg_identifier": "x:890.5|y:67.5|width:206|height:202",
66 "price_per_month": 4000,
67 "capacity": 4,
68 "square_footage": 0,
69 "space_available": true,
70 "space_available_from": null,
71 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
72 "price_per_day": 400,
73 "price_per_hour": 40,
74 "label": "",
75 }
76 ]
77 }
78 ],
79 "amenities": [
80 {
81 "id": "wifi",
82 "value": null,
83 "text": ""
84 },
85 {
86 "id": "furnished",
87 "value": true,
88 "text": "Fully furnished"
89 },
90 {
91 "id": "pet_friendly",
92 "value": true,
93 "text": "Pet friendly"
94 },
95 {
96 "id": "full_kitchen_access",
97 "value": true,
98 "text": "Full kitchen access"
99 },
100 {
101 "id": "coffee",
102 "value": true,
103 "text": "Coffee & Tea"
104 },
105 {
106 "id": "printing",
107 "value": true,
108 "text": "Printing"
109 },
110 {
111 "id": "common_area",
112 "value": true,
113 "text": "Common areas"
114 },
115 {
116 "id": "mail_box",
117 "value": true,
118 "text": "Mail box"
119 },
120 {
121 "id": "high_speed_internet",
122 "value": true,
123 "text": "High Speed Internet"
124 },
125 {
126 "id": "breakout_rooms",
127 "value": 0,
128 "text": ""
129 },
130 {
131 "id": "meeting_rooms",
132 "value": 2,
133 "text": "Access to 2 meeting rooms"
134 },
135 {
136 "id": "phone_booths",
137 "value": 3,
138 "text": "Access to 3 phone booths"
139 },
140 {
141 "id": "ergonomic_chairs",
142 "value": false,
143 "text": ""
144 }
145 ],
146 "common_images": [
147 {
148 "common_image_id": "fb73abc9-6ea9-4ab1-b0e7-2a51d15447d4",
149 "url": "https://images.worksimply.ca/local/space-providers/8e008597-8c97-46fe-a2f7-c8ba1c20de1f.jpg"
150 },
151 {
152 "common_image_id": "e263816a-d405-4800-9243-9e77149f985f",
153 "url": "https://images.worksimply.ca/local/space-providers/2f30bae9-2e2b-4de5-9453-af6653bfe33b.jpg"
154 }
155 ]
156 }
157}
Filter On-demand Offices
post/location/filterThis endpoint returns a list of available on-demand offices for a single location based on given parameters.
Request body parameters
location_id uuid*
The uuid of the selected location.
isDaily bool
Boolean value. True will retrieve the list of locations for daily reservation. False will retrieve the list of locations for hourly reservation.
team_size integer
Team size of the user. Usually this is an integer from 1 - 10
start_date date*
The start date selected by the user, in YYYY-MM-DD format.
Example: 2021-05-14
end_date date*
The end date selected by the user, in YYYY-MM-DD format.
Example: 2021-05-16
start_time string
The start time selected by the user. This parameter is required if the type is 'Hourly'
Default: NULL
Example: 01:00 PM
end_time string
The end time selected by the user. This parameter is required if the type is 'Hourly'
Default: NULL
Example: 04:00 PM
option_cap string
Some description
Default: 2
Example: 2
1{
2 location_id: "5331a21a-583a-4e29-8795-bb624e678c78",
3 isDaily: false,
4 team_size: 2,
5 start_date: "2021-05-14",
6 end_date: "2021-05-16",
7 start_time: "01:00 PM",
8 end_time: "04:00 PM",
9 option_cap: "2"
10}
1{
2 "message": "Success",
3 "officesWithFloors": [
4 {
5 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
6 "plan_svg": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
7 "plan_bg": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg",
8 "offices": [
9 {
10 "id": "c92fce94-33a8-4ae9-8e34-c089b0d3b075",
11 "svg_identifier": "x:678.5|y:67.5|width:212|height:202",
12 "price": 3000,
13 "max_capacity": 3,
14 "square_footage": 0,
15 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
16 "price_per_day": 300,
17 "price_per_hour": 30,
18 "label": "",
19 "asset_url": null,
20 "office_id": "c92fce94-33a8-4ae9-8e34-c089b0d3b075",
21 "capacity": 3,
22 "plan_svg": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
23 "plan_bg": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg"
24 },
25 {
26 "id": "f37fe255-c020-4f70-88e6-84659d76280e",
27 "svg_identifier": "x:890.5|y:67.5|width:206|height:202",
28 "price": 4000,
29 "max_capacity": 4,
30 "square_footage": 0,
31 "floor_id": "59540e96-b496-4deb-9987-e30e67770402",
32 "price_per_day": 400,
33 "price_per_hour": 40,
34 "label": "",
35 "asset_url": null,
36 "office_id": "f37fe255-c020-4f70-88e6-84659d76280e",
37 "capacity": 4,
38 "plan_svg": "https://images.worksimply.ca/local/space-providers/dcca3da7-01c1-4a14-b218-42e67f5cb494.svg",
39 "plan_bg": "https://images.worksimply.ca/local/space-providers/bfddb5d6-991e-4044-a4e3-aec7956e1e3d.jpg"
40 }
41 ]
42 }
43 ]
44}
Reservations
Endpoints for reservations.
Reserve Desks
post/reserve/desksThis endpoint reserves desks for a given location and processes payment
Request body parameters
location_id uuid*
The uuid of the location
number_of_desks integer*
Number of desks to be reserved
Default: 1
from ISO date string*
Reservation date in ISO format
to ISO date string*
Reservation date in ISO format
enterprise_id string*
The ID of the enterprise that the employee works in.
user object*
Details of the user
name string*
Name of the user
Default: John Smith
email string*
Email of the user
Default:
phone date*
Phone number of the user
Example: 7147147147
isConfirmed boolean*
true for confirmed reservations, false for tentative reservations.
Default: false
1{
2 location_id: "5331a21a-583a-4e29-8795-bb624e678c78",
3 number_of_desks: 2,
4 from: "2022-01-07T09:00:00",
5 to: "2022-01-07T17:00:00",
6 enterprise_id: "077cd53c-0178-484f-9daf-e1cd1d6869e0",
7 user: {
8 name: "John Smith",
9 email: "[email protected]",
10 phone: "7147147147"
11 },
12 isConfirmed: false
13}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
5 "location_id": "5331a21a-583a-4e29-8795-bb624e678c78",
6 "enterprise_id": "077cd53c-0178-484f-9daf-e1cd1d6869e0",
7 "number_of_desks": 2,
8 "from": "2022-01-07T09:00:00",
9 "to": "2022-01-07T17:00:00",
10 "user": {
11 "name": "John Smith",
12 "email": "[email protected]",
13 "phone": "7147147147"
14 },
15 "price_per_desk": 25,
16 "tax": 6.5,
17 "total": 56.5,
18 "isConfirmed": false
19 }
20}
Reserve On-demand Offices
post/reserve/on-demand-officesThis endpoint reserves and process payment for day pass
Request body parameters
location_id uuid*
The uuid of the location
office_id uuid*
The uuid of the office to be reserved
enterprise_id string*
The ID of the enterprise that the employee works in
from ISO date string*
Reservation date in ISO format
to ISO date string*
Reservation date in ISO format
user object*
Details of the user
name string*
Name of the user
Default: John Smith
email string*
Email of the user
Default:
phone date*
Phone number of the user
Example: 7147147147
isHourly boolean*
If the reservation is daily or hourly
Default: false
isConfirmed boolean*
true for confirmed reservations, false for tentative reservations.
Default: false
number_of_hours integer*
Number of hours. Required only if isHourly it true.
Default: 0
number_of_days integer*
Number of days. Required only if isHourly it false.
Default: 0
1{
2 location_id: "5331a21a-583a-4e29-8795-bb624e678c78",
3 office_id: "4bb7163c-4eda-4a17-9f18-3f59cb7a23e3",
4 enterprise_id: "077cd53c-0178-484f-9daf-e1cd1d6869e0",
5 from: "2022-01-07T09:00:00",
6 to: "2022-01-08T17:00:00",
7 user: {
8 name: "John Smith",
9 email: "[email protected]",
10 phone: "7147147147"
11 },
12 isHourly: false,
13 isConfirmed: false,
14 number_of_hours: 0,
15 number_of_days: 2
16}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "06a75ad1-2cec-4532-acd5-ed451b2bd0cd",
5 "location_id": "077cd53c-0178-484f-9daf-e1cd1d6869e0",
6 "from": "2022-01-07T09:00:00",
7 "to": "2022-01-08T17:00:00",
8 "enterprise_id": "077cd53c-0178-484f-9daf-e1cd1d6869e0",
9 "user": {
10 "name": "John Smith",
11 "email": "[email protected]",
12 "phone": "7147147147"
13 },
14 "isHourly": false,
15 "price_per_day": 150,
16 "number_of_days": 1,
17 "tax": 19.5,
18 "total": 169.5,
19 "isConfirmed": false
20 }
21}
Endpoints for confirming the tentative reservations
Confirm Desk Reservation
post/confirm-reservation/deskThis endpoint confirms a tentative reservation for desks.
Request body parameters
reservation_id uuid*
The uuid of the reservation
note text*
The reason for the cancellation. Should be less than 200 characters.
1{
2 reservation_id: "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
3 note: "Note for confirmation"
4}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
5 "confirmation_id": "1260241e-71b5-4e1d-9409-2e073f533f6f",
6 "note": "Note for confirmation",
7 }
8}
Confirm On-demand Office Reservation
post/confirm-reservation/on-demand-officeThis endpoint confirms a tentative reservation for on-demand offices.
Request body parameters
reservation_id uuid*
The uuid of the reservation
note text*
The reason for the cancellation. Should be less than 200 characters.
1{
2 reservation_id: "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
3 note: "Note for confirmation"
4}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
5 "confirmation_id": "1260241e-71b5-4e1d-9409-2e073f533f6f",
6 "note": "Note for confirmation",
7 }
8}
Cancelling Reservations
Endpoints for cancelling the reservations.
Cancel Desk Reservation
post/cancel-reservation/deskThis endpoint cancels a reservation made for desks
Request body parameters
reservation_id uuid*
The uuid of the reservation
note text*
The reason for the cancellation. Should be less than 200 characters.
1{
2 reservation_id: "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
3 note: "Reason for the cancellation"
4}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
5 "cancellation_id": "1260241e-71b5-4e1d-9409-2e073f533f6f",
6 "note": "Reason for the cancellation",
7 }
8}
Cancel On-demand Office Reservation
post/cancel-reservation/on-demand-officeThis endpoint cancels a reservation made for on-demand offices
Request body parameters
reservation_id uuid*
The uuid of the reservation.
note text*
The reason for the cancellation. Should be less than 200 characters.
1{
2 reservation_id: "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
3 note: "Reason for the cancellation"
4}
1{
2 "message": "Success",
3 "reservation": {
4 "reservation_id": "3b9bfff7-b692-424f-8ab3-cc6627fb1c40",
5 "cancellation_id": "1260241e-71b5-4e1d-9409-2e073f533f6f",
6 "note": "Reason for the cancellation",
7 }
8}