{"info":{"_postman_id":"62d83423-f4d4-4d71-ade0-44dca386d29e","name":"Sagenda API v3 Public","description":"Welcome to an interactive documentation of Sagenda free booking system third-party developer API!\n\nAfter going through the steps, you can use our infrastructure to get a head-start on managing your bookings and control the way you do it.\n\nTo get started, you need to:\n\n1. Get a **[Sagenda](https://sagenda.net)** account (if you don't have it already)\n2. Set up your account with event patterns and bookable items (optional)\n3. Go to **[Account settings](https://sagenda.net/Settings/AccountSettings)** page to get your `Authentication code` and, optionally generate a `Client credentials` pair (for sensitive data endpoints)\n4. Acquire an `Authentication code`-based access token for client-facing public web apps. This token allows listing your events, booking them and getting frontend settings.\n5. Acquire a `Client credentials`-based access token for server-side request **ONLY**. Exposing this token WILL put your account data at risk of unauthorized access and modification for a duration of an access token\n\n**Don'f forget to check back once in a while, we're constantly adding features and documentation!**\n\n> Last updated: November 20, 2019","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"Postman-specific setup","item":[],"id":"921dacf6-7b71-4e64-96c5-e87795b2b697","description":"Using information from your account dashboard you need to set the following _environment variables_ in Postman:\n\n* __authenticationCode__: Authentication code from [Account Settings](https://sagenda.net/Settings/AccountSettings) page\n* __clientId__, __clientSecret__: Client credentials from ```Developer settings``` section in [Account  Settings](https://sagenda.net/Settings/AccountSettings) page (optional, only if you want to use server-side access token)\n\n> Variable values should not be enclosed in quotes\n\nOther valuables that are automatically set after each succesful endpoint response:\n\n* __accessToken__: Access token value \n\t* Automatically set after any ```Authentication``` endpoint\n* __refreshToken__: Refresh token value\n\t* Automatically set after `Authentication` -> `Using client credentials` or refresh token response \n* __userIdentifier__: Identifier for multiple-booking process\n\t* Automatically set after ```Event locks``` -> ```Create```\n* __eventLock__: Event lock identifier of locked event identifier\t\n\t* Automatically set after ```Event locks``` -> ```Create```\n\t \nThese variables are set only on first-time successful request:\n\n* __startDate__, __endDate__: Event search start and end date\n\t* Automatically set after any ```Authentication``` endpoint\n* __bookableItem__: Bookable item ID to use in event search \n\t* Automatically set after ```Bookable items``` -> ```List```\n* __eventIdentifier__: Event identifier of bookable event\n\t* Automatically set after ```Events ``` -> ```Search```\n\n\t\n> **If you want these variables to be updated automatically each time, set `updateVariablesEveryRequest`  variable to `true` in the Postman collection environment**","event":[{"listen":"prerequest","script":{"id":"a08fccbd-7e32-4901-a00e-7485d8952f72","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5c8e4a06-d30a-44cc-ac8f-9e72fb3dd13a","type":"text/javascript","exec":[""]}}],"_postman_id":"921dacf6-7b71-4e64-96c5-e87795b2b697"},{"name":"Authentication","item":[{"name":"Using authentication code","event":[{"listen":"test","script":{"id":"cc9a278b-2efd-49a7-8c66-aad477a2a127","exec":["pm.environment.set(\"accessToken\", pm.response.json().access_token);"],"type":"text/javascript"}}],"id":"9c2b3be2-9e1c-4d63-918a-d726059586b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"OAuth flow type","key":"grant_type","type":"text","value":"api_token"},{"description":"Authentication code","key":"api_token","type":"text","value":"{{authenticationCode}}"}]},"url":"{{domain}}/api/token","description":"## Get a short-lived access token for public frontend functionality\n\n---\n\n> ## *Do NOT expose your Authentication code to public! If the code accidentally got exposed, even briefly, go to [Account settings](https://sagenda.net/Settings/AccountSettings) and re-generate it*\n> _Resulting token CAN to be used on or exposed to client-side (web-app)_\n\n---\n\nBefore getting a token you need to acquire `Authentication code` from the [Account settings](https://sagenda.net/Settings/AccountSettings)  page of your Sagenda dashboard.\n\n__Keep authentication code server-side and only communicate access tokens to front-end__"},"response":[{"id":"a3ba0b4c-115c-43f4-bfc1-5885fe0993fe","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"OAuth flow type","key":"grant_type","type":"text","value":"api_token"},{"description":"Authentication code","key":"api_token","type":"text","value":"{{authenticationCode}}"}]},"url":"{{domain}}/api/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"432"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJhb...t-1A\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3599\n}"}],"_postman_id":"9c2b3be2-9e1c-4d63-918a-d726059586b6"},{"name":"Using client credentials","event":[{"listen":"test","script":{"id":"d17029d1-5ecb-467f-909f-31de27f71e09","exec":["// This is to set Postman variables automatically","pm.environment.set(\"accessToken\", pm.response.json().access_token);","pm.environment.set(\"refreshToken\", pm.response.json().refresh_token);",""],"type":"text/javascript"}}],"id":"e15f5177-a3ef-4657-b4f7-a0723992cd0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text","description":"OAuth flow type"},{"key":"client_id","value":"{{clientId}}","type":"text","description":"Client identifier"},{"key":"client_secret","value":"{{clientSecret}}","type":"text","description":"Client secret"}]},"url":"{{domain}}/api/v3/token","description":"# Get a short-lived access token to the private API endpoints\n\n---\n\n> ## *This token is NOT supposed to be used on or exposed to client-side*\n> *Doing so WILL compromise your account security! In this case you must re-generate your client secret and ask support to revoke a refresh token*\n\n---\n\nBefore getting a token you need to acquire `client credentials` from [Account settings](https://sagenda.net/Settings/AccountSettings) page of your Sagenda account. \nIn the `Developer Settings` section in the bottom of the page you can generate up one or more client credentials\n\n**We recommend using separate client credentials for development and production use**"},"response":[{"id":"59e10d77-622c-461d-b174-800465337cf1","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text","description":"OAuth flow type"},{"key":"client_id","value":"{{clientId}}","type":"text","description":"Client identifier"},{"key":"client_secret","value":"{{clientSecret}}","type":"text","description":"Client secret"}]},"url":"{{domain}}/api/v3/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"608"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJhb...9Bc\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3599,\n    \"refresh_token\": \"49be72f6-422a-4470-ab5f-dc70af419165\",\n    \"refresh_token_expires_in\": 2592000\n}"}],"_postman_id":"e15f5177-a3ef-4657-b4f7-a0723992cd0e"},{"name":"Renew using refresh token","event":[{"listen":"test","script":{"id":"ad3d8144-815c-4313-93c4-49c2e1ba9971","exec":["pm.environment.set(\"accessToken\", pm.response.json().access_token);","pm.environment.set(\"refreshToken\", pm.response.json().refresh_token);",""],"type":"text/javascript"}}],"id":"3897b862-e677-4a54-b76f-b10586b50817","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","type":"text","value":"refresh_token","description":"OAuth flow type"},{"key":"refresh_token","type":"text","value":"{{refreshToken}}","description":"Refresh token value"},{"key":"client_id","type":"text","value":"{{clientId}}","description":"Client identifier"}]},"url":"{{domain}}/api/v3/token","description":"# Renew access token without re-authorizing using client credentials\n\n---\n\n> ## Only tokens acquired using *client credentials* flow can be renewed\n---\n\nTo renew your access token you should save `refresh_token` value from your previous access token and use it in the request. You will get a new access and refresh tokens from this endpoint\n\n**Please note that each refresh token is valid one-time only. Each time you request access token you should save a new refresh token value**"},"response":[{"id":"d0e12dee-055a-4974-bc26-cae11f165399","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","type":"text","value":"refresh_token","description":"OAuth flow type"},{"key":"refresh_token","type":"text","value":"{{refreshToken}}","description":"Refresh token value"},{"key":"client_id","type":"text","value":"{{clientId}}","description":"Client identifier"}]},"url":"{{domain}}/api/v3/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"608"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJhb..Rco\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3599,\n    \"refresh_token\": \"5390e0aa-93b7-40e3-98cb-890975060ea0\",\n    \"refresh_token_expires_in\": 2592000\n}"}],"_postman_id":"3897b862-e677-4a54-b76f-b10586b50817"}],"id":"aff33b50-2859-48ea-81c9-84eac5a9e50b","description":"Acquire API access tokens for different use case scenarios and check token validity. Pay attention, considerer using token authentication to get list of events and register a booking, but to get booking information (private data such as name...) should be done only using \"client credentials\" (see below).","event":[{"listen":"prerequest","script":{"id":"eedd523c-410d-4628-b689-c9fb7321dfa7","type":"text/javascript","exec":["const moment = require('moment');","","var startDate= pm.environment.get(\"startDate\");","var endDate = pm.environment.get(\"endDate\");","var forceUpdate = Boolean(pm.environment.get(\"updateVariablesEveryRequest\"));","","if (!startDate || forceUpdate)","{","    pm.environment.set(\"startDate\", moment().format(\"YYYY-MM-DD\"));","}","","if (!endDate || forceUpdate)","{","    pm.environment.set(\"endDate\", moment().add(7, \"days\").format(\"YYYY-MM-DD\"));","}"]}},{"listen":"test","script":{"id":"dc438f2d-8181-4685-adf9-38a96012f056","type":"text/javascript","exec":[""]}}],"_postman_id":"aff33b50-2859-48ea-81c9-84eac5a9e50b"},{"name":"Status","item":[{"name":"Check API status","event":[{"listen":"test","script":{"id":"c0ccb691-a0d9-4d82-b314-9d147c8dff42","exec":[""],"type":"text/javascript"}}],"id":"313ddc82-8caf-417f-a1c3-74d873af7424","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"GET","header":[],"url":"{{domain}}/api/v3/status","description":"If API is online and functional, responds with `HTTP 200 OK` and a requested API version"},"response":[{"id":"1a899418-37bc-44fc-81e6-cb3b40b25092","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"20"}],"cookie":[],"responseTime":null,"body":"{\n    \"apiVersion\": \"3.0\"\n}"}],"_postman_id":"313ddc82-8caf-417f-a1c3-74d873af7424"},{"name":"Check access token status","event":[{"listen":"test","script":{"id":"18e06706-6363-4cf5-893a-5d73b0823c57","exec":[""],"type":"text/javascript"}}],"id":"c11b4a68-13d6-4eac-9e0a-a9cfee50ff19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{accessToken}}"}},"method":"GET","header":[],"url":"{{domain}}/api/v3/status/oauth","description":"If API in online and functional, and presented `access token` is valid and not expired, responds with a `HTTP 200 OK` status, current endpoint API version and list of claims from supplied `access token`"},"response":[{"id":"749161f2-edad-4820-82dd-99d1cc1de96d","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/status/oauth"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"358"}],"cookie":[],"responseTime":null,"body":"{\n    \"apiVersion\": \"3.0\",\n    \"claims\": [\n        \"jti: 6fe6b5e8-f2df-4dc3-85d8-bd4abe073051\",\n        \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name: 57130c704dec521a80aa7486\",\n        \"scope: frontend:rw bookableItems:rw bookings:rw eventPatterns:rw settings:rw account:rw modules:rw\",\n        \"nbf: 1574022498\",\n        \"exp: 1574026098\",\n        \"iat: 1574022498\",\n        \"iss: https://sagenda.net\",\n        \"aud: Any\"\n    ]\n}"}],"_postman_id":"c11b4a68-13d6-4eac-9e0a-a9cfee50ff19"}],"id":"3ccc23e4-f422-49f9-b6a7-dd4022aadf00","_postman_id":"3ccc23e4-f422-49f9-b6a7-dd4022aadf00"},{"name":"Resources","item":[{"name":"Bookable items","item":[{"name":"List","event":[{"listen":"test","script":{"id":"68b0a143-d7eb-42d9-acc1-56462c9c5c9c","exec":["var forceUpdate = Boolean(pm.environment.get(\"updateVariablesEveryRequest\"));","var bookableItem = pm.environment.get(\"bookableItem\");","var firstItem = pm.response.json()[0];","","if( (!bookableItem || forceUpdate) && firstItem) {","    pm.environment.set(\"bookableItem\", firstItem.identifier);","}"],"type":"text/javascript"}}],"id":"0a27cb74-9516-45e5-abf1-3e8775005fb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{domain}}/api/v3/bookableItems","description":"Returns an array of zero or more bookable items belonging to account\n\n> First bookable item identifier from this endpoint response is used to automatically fill `bookableItem` Postman variable (if it's empty)"},"response":[{"id":"11fb0da6-8b2e-47cd-a9b2-1c9ca466e795","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/bookableItems"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"628"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"identifier\": \"5a424855dc94451bb0242e0c\",\n        \"name\": \"A\",\n        \"description\": \"Description A\"\n    },\n    {\n        \"identifier\": \"5bf73033dc9445202883650f\",\n        \"name\": \"B\"\n    },\n    {\n        \"identifier\": \"5d037d4adc944508e06445d2\",\n        \"location\": \"Location C\"\n        \"name\": \"C\"\n    }\n]"}],"_postman_id":"0a27cb74-9516-45e5-abf1-3e8775005fb2"}],"id":"a64dd2d5-248c-4092-9963-12759c0f4c2a","_postman_id":"a64dd2d5-248c-4092-9963-12759c0f4c2a"},{"name":"Events","item":[{"name":"Search within date range","event":[{"listen":"prerequest","script":{"id":"27057f44-8a62-4e90-a7d7-48c572ccbe04","exec":["// Here you can override start and end dates using YYYY-MM-DD format","//pm.environment.set(\"startDate\", \"2019-11-08\");","//pm.environment.set(\"endDate\", \"2019-11-08\");","","// Here you can override bookable item variable","//pm.environment.set(\"bookableItem\", \"5a424855dc94451bb0242e0c\");"],"type":"text/javascript"}},{"listen":"test","script":{"id":"4ac6a6bd-7740-4981-b438-cbaa8ab9adef","exec":["var forceUpdate = Boolean(pm.environment.get(\"updateVariablesEveryRequest\"));","var eventIdentifier = pm.environment.get(\"eventIdentifier\");","var firstItem = pm.response.json()[0];","","if( firstItem && (!eventIdentifier || forceUpdate)) {","    pm.environment.set(\"eventIdentifier\", firstItem.identifier);","}"],"type":"text/javascript"}}],"id":"e61b3159-2d8c-4aa4-b7e3-7b402d87ab19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{domain}}/api/v3/events/{{startDate}}/{{endDate}}/{{bookableItem}}","description":"Returns an array of zero or more event occurrence for the requested bookable item in the defined date range\n\n> Please refer to example request and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn of the possible response fields\n\n**You can override or set desired date range/bookable item in the `Pre-request Script` tab** \n\n> First event identifier from this endpoint response is used to automatically fill `eventIdentifier` Postman variable (if it's empty)"},"response":[{"id":"09a4ef5a-28e6-46d0-8f42-a0373cc794f5","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/events/{{startDate}}/{{endDate}}/{{bookableItem}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1770"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"identifier\": \"NWFiZ...GM\",\n        \"type\": \"schedule\",\n        \"from\": \"2019-11-08T10:00Z\",\n        \"to\": \"2019-11-08T14:00Z\",\n        \"membership\": {\n            \"maximum\": 1,\n            \"reserved\": 0\n        }\n    },\n    {\n        \"identifier\": \"NWFiZ...Yw\",\n        \"type\": \"allDay\",\n        \"date\": \"2019-11-08\",\n        \"membership\": {\n            \"maximum\": 3,\n            \"reserved\": 0\n        }\n    },\n    {\n        \"identifier\": \"NWFiZ...Yw\",\n        \"type\": \"allDay\",\n        \"date\": \"2019-11-08\",\n        \"endDate\": \"2019-11-10\",\n        \"membership\": {\n            \"maximum\": 10,\n            \"reserved\": 2\n        }\n    }\n]"}],"_postman_id":"e61b3159-2d8c-4aa4-b7e3-7b402d87ab19"},{"name":"Book single event","event":[{"listen":"prerequest","script":{"id":"a407ef7a-7a69-4b9a-85bd-8e470a43e5c3","exec":["//pm.environment.set(\"eventIdentifier\", \"JdufnjUsdhS\");","//pm.environment.set(\"eventLock\", \"JdufnjUsdhS\");",""],"type":"text/javascript"}}],"id":"709e9314-65a7-4a75-a633-49aac31663ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"eventIdentifier\": \"{{eventIdentifier}}\",\r\n\t\"lockIdentifier\": \"{{eventLock}}\",\r\n\t\"member\": { \r\n\t\t\"email\": \"test@example.com\",\r\n\t\t\"participants\": 1\r\n\t}\r\n}"},"url":"{{domain}}/api/v3/events","description":"Request to book a single event occurence\n\n\nThis endpoint expects an `application/json` request body with these fields:\n* __eventIdentifier__: identifier of the event being booked\n* __eventLock__: identifier of the event lock acquired for this event\n* __member__: details of the person booking the event. Required fields depend on the account settings\n\n> Please refer to example response and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn possible values of `member` structure\n\n**You can override or set desired event identifier/event lock in the `Pre-request Script` tab**"},"response":[{"id":"0625716d-839a-4280-bd4b-191c19e4efff","name":"Successful request (free event)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"eventIdentifier\": \"{{eventIdentifier}}\",\r\n\t\"lockIdentifier\": \"{{eventLock}}\",\r\n\t\"member\": { \r\n\t\t\"email\": \"test@example.com\",\r\n\t\t\"participants\": 1\r\n\t}\r\n}"},"url":"{{domain}}/api/v3/events"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"2411dfa8-7c50-4ca3-b7c5-6a3f1b4f039a","name":"Expired lock error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"eventIdentifier\": \"{{eventIdentifier}}\",\r\n\t\"lockIdentifier\": \"{{eventLock}}\",\r\n\t\"member\": { \r\n\t\t\"email\": \"test@example.com\",\r\n\t\t\"participants\": 1\r\n\t}\r\n}"},"url":"{{domain}}/api/v3/events"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"60"}],"cookie":[],"responseTime":null,"body":"{\n    \"Message\": \"The lock provided for this booking has expired\"\n}"}],"_postman_id":"709e9314-65a7-4a75-a633-49aac31663ee"},{"name":"Book multiple events","event":[{"listen":"prerequest","script":{"id":"73677613-2a95-4ca2-b1b7-b3dda0c34a1c","exec":["//pm.environment.set(\"eventIdentifier\", \"2017-12-26\");"],"type":"text/javascript"}}],"id":"d719f40d-5017-4bbc-ae7d-ed8eeca2c885","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"userIdentifier\": \"{{userIdentifier}}\",\r\n  \"member\": {\r\n    \"email\": \"test@example.com\"\r\n    }\r\n}"},"url":"{{domain}}/api/v3/events/multi","description":"Request to book multiple event occurrences in one request\n\n> You can use this endpoint for single event bookings as well, to simplify your workflow if you support multi-booking in your API consumer\n\nTo book multiple event you should obtain event locks for all of them (either in one request or one-by one)\n\n**When obtaining event locks one-by-one or via multiple requests, make sure that you supply `userIdentifier` received from first event lock to the next lock requests, ALL locks should share the same `userIdentifier`**\n\nThis endpoint expects an `application/json` request body with these fields:\n* __userIdentifier__: user identifier that is shared by all of the event locks representing events intended to be booked\n* __member__: details of the person booking the event. Required fields depend on the account settings\n* __discountCode__: if account owner has set up discount codes for this event, the value entered by user should be passed here (optional, subscription required) \n\n> Please refer to example response and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn possible values of `member` structure\n\n> If your account has paid events enabled (optional, requires module subscription) and the request \n> contained one or more of there events, then this endpoint will return an URL to redirect user to \n> complete payment (please see `Successful request with paid events` example)\n\n**You can override or set desired event identifier in the `Pre-request Script` tab**"},"response":[{"id":"0fd694af-b630-4d75-92d3-ad379891893e","name":"Succesful request with paid events","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"userIdentifier\": \"{{userIdentifier}}\",\r\n  \"member\": {\r\n    \"email\": \"test@example.com\"\r\n    }\r\n}"},"url":"{{domain}}/api/v3/events/multi"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"895"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentUrl\": \"https://payment.processor.com/...\"\n}"}],"_postman_id":"d719f40d-5017-4bbc-ae7d-ed8eeca2c885"},{"name":"Book multiple members","event":[{"listen":"prerequest","script":{"id":"1cf0cb0a-22d0-4ec9-931a-fd25039c4ea6","exec":["//pm.environment.set(\"userIdentifier\", \"2292a080-aa29-4c01-ab7f-b633c48d23bf\");"],"type":"text/javascript"}}],"id":"27635abc-4245-4782-ac9b-ef710a4a108a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"userIdentifier\": \"{{userIdentifier}}\",\r\n  \"mappings\": \r\n  [\r\n    {\r\n      \"eventIdentifier\": \"{{eventIdentifier}}\",\r\n      \"members\": \r\n      [\r\n        {\r\n        \t\"email\": \"test@example.com\"\r\n    \t},\r\n    \t{\r\n    \t\t\"email\": \"test2@example.com\"\r\n    \t}\r\n      ]\r\n    }\r\n  ] \r\n}"},"url":"{{domain}}/api/v3/events/multi-member","description":"Request to book multiple members for one or more events in one request\n\n> You can use this endpoint for single event-single member bookings as well, to simplify your workflow if you support multi-member booking in your API consumer\n\nTo book multiple event with multiple members you should maintain a mapping of event identifiers and members that need to be booked under that identifier (`eventIdentifier` -> `member` pairs)\n\nObtain event locks based on that information (either in one request or one-by one)\n\n**When obtaining event locks one-by-one or via multiple requests, make sure that you supply `userIdentifier` received from first event lock to the next lock requests, ALL locks should share the same `userIdentifier`**\n\nThis endpoint expects an `application/json` request body with these fields:\n* __userIdentifier__: user identifier that is shared by all of the event locks representing events intended to be booked\n* __mappings__: array of `eventIdentifier` - `member` mappings, below are single object fields\n\t*  __eventIdentifier__: identifier of the event being booked\n\t*  __members__: array of `member` entities that should be booked under this identifier\n* __discountCode__: if account owner has set up discount codes for this event, the value entered by user should be passed here (optional, subscription required) \n\n> Please refer to example response and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn possible values of `member` structure\n\n**You can override or set desired event identifier in the `Pre-request Script` tab**"},"response":[{"id":"322ab22b-54b6-4620-b218-e4c7dbe8486c","name":"Book event","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","disabled":false}],"body":{"mode":"raw","raw":"{\r\n\t\"eventIdentifier\": \"NWE0MjRiMThkYzk0NDUxYzk0NGI2ZTViO1R1ZSwgMjYgRGVjIDIwMTcgMDA6MDA6MDAgR01UOzVhNDI0ODU1ZGM5NDQ1MWJiMDI0MmUwYw==\"\r\n}"},"url":"{{domain}}/api/v3/events"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache","name":"Cache-Control","description":"Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"},{"key":"Content-Length","value":"37","name":"Content-Length","description":"The length of the response body in octets (8-bit bytes)"},{"key":"Content-Type","value":"application/json; charset=utf-8","name":"Content-Type","description":"The mime type of this content"},{"key":"Date","value":"Wed, 27 Dec 2017 06:23:24 GMT","name":"Date","description":"The date and time that the message was sent"},{"key":"Expires","value":"-1","name":"Expires","description":"Gives the date/time after which the response is considered stale"},{"key":"Location","value":"http://localhost:49815/api/v3/events/NWE0MjQ5OWNkYzk0NDUxYzk0NGI2ZTU3OzEvMy8yMDE4IDE6MDUgUE07NWE0MjQ4NTVkYzk0NDUxYmIwMjQyZTBj","name":"Location","description":"Used in redirection, or when a new resource has been created."},{"key":"Pragma","value":"no-cache","name":"Pragma","description":"Implementation-specific headers that may have various effects anywhere along the request-response chain."},{"key":"Server","value":"Microsoft-IIS/10.0","name":"Server","description":"A name for the server"},{"key":"X-AspNet-Version","value":"4.0.30319","name":"X-AspNet-Version","description":"Custom header"},{"key":"X-Powered-By","value":"ASP.NET","name":"X-Powered-By","description":"Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcZXZlbnRz?=","name":"X-SourceFiles","description":"Custom header"}],"cookie":[],"responseTime":null,"body":"{\"success\":true,\"bookedAt\":\"6:23 AM\"}"},{"id":"c20bdbae-2161-4dee-867f-29837b640c3a","name":"Successful request with paid events","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"userIdentifier\": \"{{userIdentifier}}\",\r\n  \"mappings\": \r\n  [\r\n    {\r\n      \"eventIdentifier\": \"{{eventIdentifier}}\",\r\n      \"members\": \r\n      [\r\n        {\r\n        \t\"email\": \"test@example.com\"\r\n    \t},\r\n    \t{\r\n    \t\t\"email\": \"test2@example.com\"\r\n    \t}\r\n      ]\r\n    }\r\n  ] \r\n}"},"url":"{{domain}}/api/v3/events/multi-member"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"818"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentUrl\": \"https://payment.processor.com/...\"\n}"}],"_postman_id":"27635abc-4245-4782-ac9b-ef710a4a108a"},{"name":"Calculate total payment value","event":[{"listen":"prerequest","script":{"id":"2da843bb-059c-41a1-980d-b6d3b26f8d8b","exec":["//pm.environment.set(\"eventIdentifier\", \"NWQ...ZTM=\");"],"type":"text/javascript"}}],"id":"81382fa6-62b0-430b-86da-932c587ce4a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"discountCode\": \"EXAMPLE\", \r\n  \"mappings\": \r\n  [\r\n    {\r\n      \"eventIdentifier\":  \"{{eventIdentifier}}\",\r\n      \"members\": \r\n      [\r\n        {\r\n          \"email\": \"test@example.com\",\r\n          \"participants\": 1\r\n    \t}\r\n      ]\r\n    }\r\n  ] \r\n}"},"url":"{{domain}}/api/v3/payment/calculate-totals","description":"If you are working with paid events (optional, module subscription required) and allow multi-booking, you can use this endpoint to get a total payment amount for selected events before actually booking them. \n\nIt will take features that are enabled on your account (like discounts, taxes & fees, etc.) and apply them automatically to price calculation.\n\nTo calculate payments, you just need to supply the same request body here as you would for the actual `Book multiple members` endpoint.\n\n> Note that this price isn't a guarantee, because something can change before you actually request booking. Payment URL will contain the correct and final amount"},"response":[{"id":"fabd19b3-e543-4588-8736-504013ead152","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"discountCode\": \"EXAMPLE\", \r\n  \"mappings\": \r\n  [\r\n    {\r\n      \"eventIdentifier\":  \"{{eventIdentifier}}\",\r\n      \"members\": \r\n      [\r\n        {\r\n          \"email\": \"test@example.com\",\r\n          \"participants\": 1\r\n    \t}\r\n      ]\r\n    }\r\n  ] \r\n}"},"url":"{{domain}}/api/v3/payment/calculate-totals"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNccGF5bWVudFxjYWxjdWxhdGUtdG90YWxz?="},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Tue, 19 Nov 2019 15:17:20 GMT"},{"key":"Content-Length","value":"334"},{"key":"Forwarded","value":"host=192.168.235.1:45455; proto=http"}],"cookie":[],"responseTime":null,"body":"{\n    \"currency\": \"USD\",\n    \"eventsSubtotal\": 10,\n    \"discount\": 0,\n    \"grandTotal\": 137,\n    \"feesBreakdown\": [\n        {\n            \"name\": \"Test fixed fee\",\n            \"type\": \"fixed\",\n            \"amount\": 100\n        },\n        {\n            \"name\": \"Test percentage tax (don't include fixed fees)\",\n            \"type\": \"percentage\",\n            \"includeFixedCosts\": false,\n            \"value\": \"50.00 %\",\n            \"amount\": 5\n        },\n        {\n            \"name\": \"Test percentage tax (include fixed fees)\",\n            \"type\": \"percentage\",\n            \"includeFixedCosts\": true,\n            \"value\": \"20.00 %\",\n            \"amount\": 22\n        }\n    ]\n}"}],"_postman_id":"81382fa6-62b0-430b-86da-932c587ce4a3"}],"id":"50b0b02f-0166-408a-ae12-86e8eed0c605","_postman_id":"50b0b02f-0166-408a-ae12-86e8eed0c605"},{"name":"Event locks","item":[{"name":"Request for single event","event":[{"listen":"prerequest","script":{"id":"d6f0e07c-ca38-4b80-b54d-0104689305a3","exec":["// Here you can override default eventIdentifier","//pm.environment.set(\"eventIdentifier\", \"NWRh...MTE\");"],"type":"text/javascript"}},{"listen":"test","script":{"id":"ea9de5a8-9a5a-4e7a-8b95-050fd74badc5","exec":["if (pm.response.code == 201)","{","    pm.environment.set(\"eventLock\", pm.response.json().identifier);","} "],"type":"text/javascript"}}],"id":"df0325a8-1ae3-43c1-ac67-f712fc5e009c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"eventIdentifier\": \"{{eventIdentifier}}\",\r\n  \"participants\": 1\r\n}"},"url":"{{domain}}/api/v3/eventLocks","description":"Request an event lock for single event occurrence.\n\nThis endpoint expects an `application/json` request body with these parameters:\n* __eventIdentifier__: identifier of the event being locked\n* __participants__: how many slots should this event lock reserve, for multi-user events (optional)\n* __userIdentifier__: shared identifier between locks created for events that are intended to be booked together\n\t*\tTip: supply `userIdentifier` that you get from the first response from this endpoint to consequent requests (for one user and booking session)\t \n\n**Getting an event lock guarantees that no else will be able to book or lock your slot(s) before this lock is removed (by you) or expired**\n\n> Please refer to example response and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn of the request structure response fields\n\n**You can override or set desired event identifier in the `Pre-request Script` tab** \n\n> Event lock identifier from this endpoint response is used to automatically overwrite `eventLock` Postman variable"},"response":[{"id":"59711f5c-f902-46a0-83c9-24aa00cc72bb","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"eventIdentifier\": \"{{eventIdentifier}}\",\r\n  \"participants\": 1\r\n}"},"url":"{{domain}}/api/v3/eventLocks"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Location","value":"http://192.168.235.1:45455/api/v3/eventLocks/dd15c8ebc32f4e18afb03540"},{"key":"Content-Length","value":"256"}],"cookie":[],"responseTime":null,"body":"{\n    \"identifier\": \"dd15c8ebc32f4e18afb03540\",\n    \"eventIdentifier\": \"NWF...GM\",\n    \"userIdentifier\": \"6d32a2f1-9fe4-48a1-ad5e-d0a03d9ebfa0\",\n    \"expires\": \"2019-11-17T22:12Z\",\n    \"participants\": 1\n}"}],"_postman_id":"df0325a8-1ae3-43c1-ac67-f712fc5e009c"},{"name":"Request for multiple events","event":[{"listen":"prerequest","script":{"id":"2c53de8b-c071-4c85-8c38-15be82e859c0","exec":["//pm.environment.set(\"eventIdentifier\", \"NWEzYjA3ODk5ODAyMjA4MWZjMWQwMTQ5OzEvMTIvMjAxOCAxMjo1OSBBTTs1YTAwZjA1NGViNDIzNmU4MTRjODNjNmY=\");"],"type":"text/javascript"}},{"listen":"test","script":{"id":"4f3577d1-398b-45e5-9f22-f9c1497ee446","exec":["if (pm.response.code == 201)","{","    pm.environment.set(\"eventLock\", pm.response.json().locks[0].identifier);","    pm.environment.set(\"userIdentifier\", pm.response.json().userIdentifier);","} "],"type":"text/javascript"}}],"id":"ad7a0603-eaf3-4677-a3d2-3591839619c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"events\": [\r\n\t\t{\r\n\t\t\t\"participants\": 1,\r\n\t\t\t\"eventIdentifier\" : \"{{eventIdentifier}}\"\r\n\t\t}\r\n\t]\r\n}"},"url":"{{domain}}/api/v3/eventLocks/multi","description":"Request event locks for multiple event occurrences. User identifier will be shared among all of the locks (to be used for multi-booking `Events` endpoints\n\nThis endpoint expects an `application/json` request body with these fields:\n* __events__: array of individual lock requests. See `Request for single event` documentation for possible values\n* __userIdentifier__: shared identifier to be shared for created locks (optional, will be automatically generated)\n\n> If this is not your first request to the endpoint in the booking session and you want to keep the locks together, you should supply previous `userIdentifier` to subsequent requests\n\n**Getting an event lock guarantees that no else will be able to book or lock your slot(s) before this lock is removed (by you) or expired**\n\n> Please refer to example response and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn of the request structure response fields\n\nEvent lock identifier and user identifier from this endpoint response is used to automatically overwrite `eventLock` and `userIdentifier` Postman variables"},"response":[{"id":"330bf5ac-371d-4f1a-8328-dad8a1e2d21f","name":"Successful request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"events\": [\r\n\t\t{\r\n\t\t\t\"participants\": 1,\r\n\t\t\t\"eventIdentifier\" : \"{{eventIdentifier}}\"\r\n\t\t}\r\n\t]\r\n}"},"url":"{{domain}}/api/v3/eventLocks/multi"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Location","value":"https://sagenda.net/api/v3/eventLocks/multi/79d4d4e8-c474-4b75-91a8-89ddf569020d"},{"key":"Content-Length","value":"324"}],"cookie":[],"responseTime":null,"body":"{\n    \"locks\": [\n        {\n            \"identifier\": \"02ff6950a9bb453fbc016ee3\",\n            \"eventIdentifier\": \"NWM4YzYwOTVkYzk0NDUxZjA4NDNmZDFiOzExLzI2LzIwMTkgNzo1MCBQTTs1YTQyNDg1NWRjOTQ0NTFiYjAyNDJlMGM\",\n            \"userIdentifier\": \"79d4d4e8-c474-4b75-91a8-89ddf569020d\",\n            \"expires\": \"2019-11-19T15:58Z\",\n            \"participants\": 1\n        }\n    ],\n    \"userIdentifier\": \"79d4d4e8-c474-4b75-91a8-89ddf569020d\"\n}"}],"_postman_id":"ad7a0603-eaf3-4677-a3d2-3591839619c6"},{"name":"Get by identifier","event":[{"listen":"prerequest","script":{"id":"6ac9326a-9008-4b40-b268-20135ead9d36","exec":["// Here you can set event lock identifier to get","//pm.environment.set(\"eventLock\", \"2701d492c06b4ca49d44807d\");"],"type":"text/javascript"}}],"id":"121a7a6e-14ad-4efd-9588-c2659a271b83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"urlencoded","urlencoded":[]},"url":"{{domain}}/api/v3/eventLocks/{{eventLock}}","description":"Get a single event lock entity by its identifier. Can be used to check an expiration or other lock parameters\n\n**You can override or set desired event lock identifier in the `Pre-request Script` tab**"},"response":[{"id":"ae90ec68-76c5-4f35-b760-ccef71ddb17f","name":"Successful request","originalRequest":{"method":"GET","header":[],"body":{"mode":"urlencoded","urlencoded":[]},"url":"{{domain}}/api/v3/eventLocks/{{eventLock}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcZXZlbnRMb2Nrc1xlYTlmNjQ5YTM3MDI0MzFhODhmNDNhNDg=?="},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Sun, 17 Nov 2019 22:22:18 GMT"},{"key":"Content-Length","value":"257"},{"key":"Forwarded","value":"host=192.168.235.1:45455; proto=http"}],"cookie":[],"responseTime":null,"body":"{\n    \"identifier\": \"ea9f649a3702431a88f43a48\",\n    \"eventIdentifier\": \"NWFiZD..GM=\",\n    \"userIdentifier\": \"7ca5c769-0d38-47a7-a094-3ce925fe049f\",\n    \"expires\": \"2019-11-17T22:23Z\",\n    \"participants\": 1\n}"}],"_postman_id":"121a7a6e-14ad-4efd-9588-c2659a271b83"},{"name":"Delete by identifier","event":[{"listen":"prerequest","script":{"id":"6ac9326a-9008-4b40-b268-20135ead9d36","exec":["// Here you can set event lock identifier to delete","//pm.environment.set(\"eventLock\", \"2701d492c06b4ca49d44807d\");"],"type":"text/javascript"}}],"id":"9526c83e-1001-41ea-8bd2-d8d72b09eac5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{domain}}/api/v3/eventLocks/{{eventLock}}","description":"Delete a single event lock by its identifier.\n\nImmediately after receiving HTTP 204 response event slot that has been locked by deleted lock is free to be booked or locked by anyone.\n\n**You can override or set desired event lock identifier in the `Pre-request Script` tab**"},"response":[{"id":"e6d8abf4-ee7e-4097-b4c1-603554fdf8dd","name":"Successful request","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/eventLocks/{{eventLock}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"9526c83e-1001-41ea-8bd2-d8d72b09eac5"},{"name":"Delete by user identifier","id":"469dac26-d9ab-4eaf-86f5-8dc5739674c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"urlencoded","urlencoded":[]},"url":"{{domain}}/api/v3/eventLocks/user/{{userIdentifier}}","description":"Delete event locks that were locked with supplied user identifier. Useful for freeing up all of the locks at once\n\nImmediately after receiving HTTP 204 response event slot that has been locked by deleted lock is free to be booked or locked by anyone.\n\n**You can override or set desired user identifier in the `Pre-request Script` tab**"},"response":[{"id":"9938c728-01fd-47c0-9045-e379114541ab","name":"Successful request","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"urlencoded","urlencoded":[]},"url":"{{domain}}/api/v3/eventLocks/user/{{userIdentifier}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"469dac26-d9ab-4eaf-86f5-8dc5739674c4"}],"id":"02ee14ac-e661-4afb-a66a-bdf0db4bcc9b","_postman_id":"02ee14ac-e661-4afb-a66a-bdf0db4bcc9b"},{"name":"Bookings","item":[{"name":"For date range","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"4f4cdcd3-05c4-47c3-ac40-4c96f5a88197","exec":["//2017-09-20","pm.environment.set(\"startDate\", \"2019-11-08\");","pm.environment.set(\"endDate\", \"2019-11-08\");//"],"type":"text/javascript"}}],"id":"1af7b900-4d23-48f9-aede-d2375dfe0977","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":{"raw":"{{domain}}/api/v3/bookings/{{startDate}}/{{endDate}}?status=booked","host":["{{domain}}"],"path":["api","v3","bookings","{{startDate}}","{{endDate}}"],"query":[{"key":"itemId","value":"{{bookableItem}}","type":"text","disabled":true},{"key":"status","value":"booked","type":"text"}]},"description":"This endpoint lets you request detailed booking information for a given period of time, optionally filtered by bookable item and status.\n\nParameters:\n* `fromDate`: inclusive request range start date \n* `toDate`: inclusive request range end date\n* `itemId`: (optional) filter by specified item identifier\n* `status`: (optional, default = all) filter by specified booking status\n\t* **all** – no filtering\n\t* **booked** – events that are fully booked\n\t* **partiallyBooked** – event that are not fully booked but not free\n\t* **free** – events that have no bookings yet\n\t\n**To filter results you can enable disabled query parameters in `Params` Postman tab**\n\n> Please refer to example request and documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) to learn of the possible response fields\n\n**You can override or set desired date range/bookable item in the `Pre-request Script` tab**"},"response":[{"id":"9a7a1ff9-ef4e-4588-b084-1481444d8c5f","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{domain}}/api/v3/bookings/{{startDate}}/{{endDate}}?itemId={{bookableItem}}","host":["{{domain}}"],"path":["api","v3","bookings","{{startDate}}","{{endDate}}"],"query":[{"key":"itemId","value":"{{bookableItem}}"},{"key":"status","value":"booked","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"3368"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"eventIdentifier\": \"NWFi..GM\",\n        \"type\": \"schedule\",\n        \"participation\": {\n            \"current\": 1,\n            \"maximum\": 1\n        },\n        \"bookableItem\": {\n            \"identifier\": \"5a424855dc94451bb0242e0c\",\n            \"name\": \"A\",\n            \"description\": \"Description A\"\n        },\n        \"from\": \"2019-11-08T10:00Z\",\n        \"to\": \"2019-11-08T14:00Z\",\n        \"archived\": false,\n        \"blocked\": false,\n        \"members\": [\n            {\n                \"identifier\": \"2fbde7bcbed84a37b61db7fc\",\n                \"email\": \"test@example.com\",\n                \"participants\": 1\n            }\n        ]\n    },\n    {\n        \"eventIdentifier\": \"NWMz...GM\",\n        \"type\": \"allDay\",\n        \"participation\": {\n            \"current\": 0,\n            \"maximum\": 1\n        },\n        \"bookableItem\": {\n            \"identifier\": \"5a424855dc94451bb0242e0c\",\n            \"name\": \"A\",\n            \"description\": \"Description A\"\n        },\n        \"date\": \"2019-11-08\",\n        \"archived\": false,\n        \"blocked\": true,\n        \"blockedBy\": [\n            \"NWFi..Yw\"\n        ],\n        \"members\": []\n    }\n]"}],"_postman_id":"1af7b900-4d23-48f9-aede-d2375dfe0977"},{"name":"Get by identifier","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"b922288c-4cdf-4df9-8d71-c24a038a16d5","exec":["//pm.environment.set(\"eventIdentifier\", \"NWI0YzUzYjFkYzk0NDUzYWMwOWE0ODgzOzgvMTMvMjAxOSAyOjAwIFBNOzVhNDI0ODU1ZGM5NDQ1MWJiMDI0MmUwYw\");",""],"type":"text/javascript"}}],"id":"10e23cb8-c3f1-4b49-a6d8-5e534de28094","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}","description":"Get a single booking details entity by its identifier\n\n**You can override or set desired booking identifier in the `Pre-request Script` tab**"},"response":[{"id":"a9d4ba3c-2166-41d9-8e77-d760fccf6ad4","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"369"}],"cookie":[],"responseTime":null,"body":"{\n    \"eventIdentifier\": \"NWI0...Yw\",\n    \"type\": \"schedule\",\n    \"participation\": {\n        \"current\": 0,\n        \"maximum\": 10\n    },\n    \"bookableItem\": {\n        \"identifier\": \"5a424855dc94451bb0242e0c\",\n        \"name\": \"A\",\n        \"description\": \"Description A\"\n    },\n    \"from\": \"2019-08-13T14:00Z\",\n    \"to\": \"2019-08-13T16:00Z\",\n    \"archived\": false,\n    \"blocked\": false,\n    \"members\": []\n}"}],"_postman_id":"10e23cb8-c3f1-4b49-a6d8-5e534de28094"},{"name":"Cancel member","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"4b963cc4-ecd6-414c-aa8f-93a3e1456eb7","exec":["//pm.environment.set(\"eventIdentifier\", \"NWFi...Yw\");","//pm.environment.set(\"memberIdentifier\", \"2fbde7bcbed84a37b61db7fc\");"],"type":"text/javascript"}}],"id":"4dd476b6-a56d-48df-b299-f95841c0f309","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/members/{{memberIdentifier}}","description":"Using `event identifier` and `member identifier` from `Bookings` -> `For date range` endpoint, you can cancel a specific member reservation without affecting other bookings.\n\n**For Postman you should set corresponding `eventIdentifier` and `memberIdentifier` variables in the pre-request script or manually to use this endpoint**\n\nImmediately after cancellation the slot will be available for booking again, if applicable\n\n> Both owner of the account and cancelled member will receive emails and/or SMS (subscription required)"},"response":[{"id":"9ee06913-b29f-4945-8df6-1bf746b83ee5","name":"Successful request","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/members/{{memberIdentifier}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"4dd476b6-a56d-48df-b299-f95841c0f309"},{"name":"Cancel all members","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9e328663-ba20-4503-b36c-919e8ab02db3","exec":["//pm.environment.set(\"eventIdentifier\",\"NWFi...Yw\");"],"type":"text/javascript"}}],"id":"feea7832-5e5d-438a-9b4f-a71ec51fd0f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/members","description":"Using `event identifier`  from `Bookings` -> `For date range` endpoint, you can cancel all member reservations for the specified event occurrence.\n\n**You can set `eventIdentifier` variable  of the desired event in the pre-request script**\n\nImmediately after cancellation the slot(s) will be available for booking again, if applicable\n\n> Both owner of the account and cancelled member will receive emails and/or SMS (subscription required)"},"response":[{"id":"3ea6836a-5f54-4cf9-9566-458ac9ff6d1e","name":"Successful request","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/members"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcYm9va2luZ3NcTldGaVpEa3lNMkprWXprME5EVXlabVkwTjJVeVkyRTFPekV4THpndk1qQXhPU0ExT2pBd0lFRk5PelZoTkRJME9EVTFaR001TkRRMU1XSmlNREkwTW1Vd1l3XG1lbWJlcnM=?="},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Wed, 20 Nov 2019 13:14:31 GMT"},{"key":"Forwarded","value":"host=192.168.235.1:45455; proto=http"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"feea7832-5e5d-438a-9b4f-a71ec51fd0f4"},{"name":"Block by identifier","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9e328663-ba20-4503-b36c-919e8ab02db3","exec":[""],"type":"text/javascript"}}],"id":"88c06de7-9f28-4401-93e7-ae622ab8012f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/block","description":"Blocks this specific event from being returned in search results and being booked. \n> Blocking an event doesn’t affect existing bookings, you can cancel them by separate request if you need to do so."},"response":[{"id":"5b13a964-d2a7-4c7f-ab2a-26b3b15a572d","name":"Successful request","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/block"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"6338940f-34a4-4a64-9d65-920b61b384b9","name":"Bookings","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{domain}}/api/v3/bookings/{{startDate}}/{{endDate}}?status=booked","host":["{{domain}}"],"path":["api","v3","bookings","{{startDate}}","{{endDate}}"],"query":[{"key":"status","value":"booked"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache","name":"Cache-Control","description":"Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"},{"key":"Content-Length","value":"1018","name":"Content-Length","description":"The length of the response body in octets (8-bit bytes)"},{"key":"Content-Type","value":"application/json; charset=utf-8","name":"Content-Type","description":"The mime type of this content"},{"key":"Date","value":"Fri, 12 Jul 2019 02:44:59 GMT","name":"Date","description":"The date and time that the message was sent"},{"key":"Expires","value":"-1","name":"Expires","description":"Gives the date/time after which the response is considered stale"},{"key":"Pragma","value":"no-cache","name":"Pragma","description":"Implementation-specific headers that may have various effects anywhere along the request-response chain."},{"key":"Server","value":"Microsoft-IIS/10.0","name":"Server","description":"A name for the server"},{"key":"X-AspNet-Version","value":"4.0.30319","name":"X-AspNet-Version","description":"Custom header"},{"key":"X-Powered-By","value":"ASP.NET","name":"X-Powered-By","description":"Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcYm9va2luZ3NcMjAxOS0wNy0xMFwyMDE5LTA3LTIz?=","name":"X-SourceFiles","description":"Custom header"}],"cookie":[],"responseTime":null,"body":"[{\"eventIdentifier\":\"NWQyNzg5ZDJkYzk0NDUwYzBjODdmODFhOzcvMTEvMjAxOSA3OjA5IFBNOzVkMDAxMmI4ZGM5NDQ1MGI2YzU5NmZlMw==\",\"type\":\"dateAndTime\",\"participation\":{\"Current\":1,\"Maximum\":1},\"bookableItem\":{\"identifier\":\"5d0012b8dc94450b6c596fe3\",\"name\":\"newA\"},\"from\":\"2019-07-11T19:09Z\",\"to\":\"2019-07-11T20:09Z\",\"archived\":false,\"blocked\":false,\"members\":[{\"payment\":{\"status\":\"paid\",\"discountCode\":\"RUBATO\",\"discountAmount\":100.0,\"amount\":0.0,\"currencyCode\":\"USD\"},\"email\":\"vlad6226@gmail.com\",\"firstName\":\"kukuruku\",\"participants\":1}]},{\"eventIdentifier\":\"NWQyNjRmNDJkYzk0NDUyMjc4MjcyMWQxOzcvMTAvMjAxOSAxMjowMCBBTTs1ZDAwMTJiOGRjOTQ0NTBiNmM1OTZmZTM=\",\"type\":\"allDay\",\"participation\":{\"Current\":1,\"Maximum\":1},\"bookableItem\":{\"identifier\":\"5d0012b8dc94450b6c596fe3\",\"name\":\"newA\"},\"date\":\"2019-07-12\",\"archived\":false,\"blocked\":false,\"members\":[{\"payment\":{\"status\":\"pending\",\"discountCode\":\"TOMATO\",\"discountAmount\":25.0,\"amount\":0.0,\"currencyCode\":\"USD\"},\"email\":\"vlad6226@gmail.com\",\"firstName\":\"kukuruku\",\"participants\":1}]}]"},{"id":"a5fc33a6-7210-4ed1-a798-2b184e906624","name":"Frontend settings","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/settings/frontend"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache","name":"Cache-Control","description":""},{"key":"Content-Length","value":"234","name":"Content-Length","description":""},{"key":"Content-Type","value":"application/json; charset=utf-8","name":"Content-Type","description":""},{"key":"Date","value":"Wed, 10 Jan 2018 23:29:25 GMT","name":"Date","description":""},{"key":"Expires","value":"-1","name":"Expires","description":""},{"key":"Pragma","value":"no-cache","name":"Pragma","description":""},{"key":"Server","value":"Microsoft-IIS/10.0","name":"Server","description":""},{"key":"X-AspNet-Version","value":"4.0.30319","name":"X-AspNet-Version","description":""},{"key":"X-Powered-By","value":"ASP.NET","name":"X-Powered-By","description":""},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcc2V0dGluZ3NcZnJvbnRlbmQ=?=","name":"X-SourceFiles","description":""}],"cookie":[],"responseTime":null,"body":"{\"enabled\":true,\"startDateOffset\":0,\"endDateOffset\":60,\"defaultBookableItemId\":\"5a424855dc94451bb0242e0c\",\"enableMultiBooking\":true,\"backgroundColor\":\"#ffffff\",\"textColor\":\"#000000\",\"buttonColor\":\"#e32235\",\"buttonTextColor\":\"#002aff\"}"},{"id":"ddd8afb1-c17f-4507-9446-6999ee07a315","name":"Bookable items for a token","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/bookableItems"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache","name":"Cache-Control","description":"Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"},{"key":"Content-Length","value":"164","name":"Content-Length","description":"The length of the response body in octets (8-bit bytes)"},{"key":"Content-Type","value":"application/json; charset=utf-8","name":"Content-Type","description":"The mime type of this content"},{"key":"Date","value":"Thu, 07 Dec 2017 06:37:49 GMT","name":"Date","description":"The date and time that the message was sent"},{"key":"Expires","value":"-1","name":"Expires","description":"Gives the date/time after which the response is considered stale"},{"key":"Pragma","value":"no-cache","name":"Pragma","description":"Implementation-specific headers that may have various effects anywhere along the request-response chain."},{"key":"Server","value":"Microsoft-IIS/10.0","name":"Server","description":"A name for the server"},{"key":"X-AspNet-Version","value":"4.0.30319","name":"X-AspNet-Version","description":"Custom header"},{"key":"X-Powered-By","value":"ASP.NET","name":"X-Powered-By","description":"Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)"},{"key":"X-SourceFiles","value":"=?UTF-8?B?QzpcVXNlcnNcTWFpblxEb2N1bWVudHNcbXJzMlxzb2x1dGlvblxJdGVyYXRpb24uTVJTLldlYlxhcGlcdjNcYm9va2FibGVJdGVtcw==?=","name":"X-SourceFiles","description":"Custom header"}],"cookie":[],"responseTime":null,"body":"[{\"identifier\":\"589261684dec5221a430bc28\",\"name\":\"GENÜCHT\",\"location\":\"YAYA\",\"description\":\"NATÜRLICH\"},{\"identifier\":\"5a00e9e54dec521ad8fd88a8\",\"name\":\"test A\"}]"}],"_postman_id":"88c06de7-9f28-4401-93e7-ae622ab8012f"},{"name":"Un-block by identifier","event":[{"listen":"test","script":{"id":"c1e36bda-3ae0-4c73-abbc-f7324bb6d42b","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9e328663-ba20-4503-b36c-919e8ab02db3","exec":[""],"type":"text/javascript"}}],"id":"9b94acfe-0fff-4720-bc39-04e2de4da51c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/block","description":"Removes block from the specific event identifier\n\n**Un-blocked event will immediately appear in search results and is available to be booked (if applicable)**"},"response":[{"id":"31e0f060-f9eb-4e70-a67b-98168a480c50","name":"Successful request","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"formdata","formdata":[]},"url":"{{domain}}/api/v3/bookings/{{eventIdentifier}}/block"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9b94acfe-0fff-4720-bc39-04e2de4da51c"}],"id":"486e2bd8-97ff-4fd1-8b53-a8f3fea1ac53","_postman_id":"486e2bd8-97ff-4fd1-8b53-a8f3fea1ac53"},{"name":"Settings","item":[{"name":"Booking form","id":"47223777-667c-476e-a0b2-b27adafd15ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{domain}}/api/v3/settings/customForm","description":"Returns fields that are to be displayed in the booking form\n\nCustom fields reference:\n* `title`: name of the custom field\n* `type`:  diplay type\n* `required`: is value for this field to be required from user input\n* `fieldRole`: role of the field for data storage purposes"},"response":[],"_postman_id":"47223777-667c-476e-a0b2-b27adafd15ee"},{"name":"Frontend ","event":[{"listen":"test","script":{"id":"6d4ae53e-6a60-4c9f-819e-34d73dffa348","exec":[""],"type":"text/javascript"}}],"id":"78e0cedd-c50f-438f-8ee7-dde355b91892","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{domain}}/api/v3/settings/frontend","description":"Gets frontend settings associated with authorized account\n\n**These values are not required for you to build an API consumer and are mostly display settings (subject to change)**"},"response":[{"id":"16d0eadc-f97b-4fd5-8a4a-d1baae245880","name":"Successful request","originalRequest":{"method":"GET","header":[],"url":"{{domain}}/api/v3/settings/frontend"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"265"}],"cookie":[],"responseTime":null,"body":"{\n    \"enabled\": true,\n    \"startDateOffset\": 0,\n    \"endDateOffset\": 7,\n    \"defaultBookableItemId\": \"\",\n    \"enableMultiBooking\": true,\n    \"enableMultiPersonBooking\": true,\n    \"backgroundColor\": \"#fff\",\n    \"textColor\": \"#58b5ab\",\n    \"buttonColor\": \"#447ab2\",\n    \"buttonTextColor\": \"#ffffff\",\n    \"startHour\": 0,\n    \"endHour\": 24\n}"}],"_postman_id":"78e0cedd-c50f-438f-8ee7-dde355b91892"}],"id":"96727b11-bb65-4bc5-b90b-2a179c26f3bc","_postman_id":"96727b11-bb65-4bc5-b90b-2a179c26f3bc"},{"name":"Statistics","item":[{"name":"Get Statistics","event":[{"listen":"prerequest","script":{"id":"d5e34bb1-1783-41e0-b61d-8b817433a5db","exec":["// Here you can override start and end dates using YYYY-MM-DD format","//pm.environment.set(\"startDate\", \"2019-11-08\");","//pm.environment.set(\"endDate\", \"2019-11-08\");","","// Here you can override bookable item variable","//pm.environment.set(\"bookableItem\", \"5a424855dc94451bb0242e0c\");"],"type":"text/javascript"}}],"id":"5b195d11-6025-4c89-ab29-9050adeb8163","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman.","key":"Authorization","value":"Bearer","type":"text"}],"url":"{{domain}}/api/v3/statistics/reservationStatus/{{startDate}}/{{endDate}}/{{bookableItem}}","description":"This request returns an array of events (date/time). For each event there's n integer that represents the total number of slots : open, partially booked or booked."},"response":[{"id":"588998f2-bf7b-48b0-9be4-e6ebf8d74dd6","name":"Get Statistics","originalRequest":{"method":"GET","header":[{"warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman.","key":"Authorization","value":"Bearer","type":"text"}],"url":"{{domain}}/api/v3/statistics/reservationStatus/{{startDate}}/{{endDate}}/{{bookableItem}}"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"date\": \"2021-11-08T10:00Z\",\n    \"open\": 1,\n    \"partiallyBooked\": 2,\n    \"booked\": 4\n}\n"}],"_postman_id":"5b195d11-6025-4c89-ab29-9050adeb8163"}],"id":"b1197168-5e41-42c2-b3c8-a9ce20c46f06","_postman_id":"b1197168-5e41-42c2-b3c8-a9ce20c46f06"}],"id":"2c63eb09-aaca-4e7e-bd1a-35b441113924","description":"Section below describe access to various resources exposed by Sagenda API\n\nEach resource endpoint has a scope required to access it. Your access token contains information about these scopes. You can access this information via `Status` -> `Check access token status` endpoint. You can learn more about scope system by visiting our documentation at [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) website\n\nListed below are scopes that you get by default when using each authentication method (subject to change):\n\n* __Authentication code (public)__\n\t* Frontend.ReadWrite\n\t* BookableItems.Read\n* **Client credentials (private)**\n\t* Bookings.ReadWrite\n\t* EventPatterns.ReadWrite\n\t* BookableItems.ReadWrite\n\t* Settings.ReadWrite\n\t* Account.ReadWrites\n\t* Modules.ReadWrite\n\n> Some of the scopes may represent functionality not yet implemented in the API and have no effect on your access privileges\n\n**To reduce access token footprint and enhance account security when using _client credentials_ flow we recommend you request only the scopes you need (follow [Sagenda.com](https://www.sagenda.com/booking-system-api-v3/) documentation)**\n","auth":{"type":"bearer","bearer":{"token":"{{accessToken}}"}},"event":[{"listen":"prerequest","script":{"id":"91f163ec-da97-4167-a6c4-db891c071955","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"2e5fd6d8-1098-425f-880f-d46bccc9a421","type":"text/javascript","exec":[""]}}],"_postman_id":"2c63eb09-aaca-4e7e-bd1a-35b441113924"}],"event":[{"listen":"prerequest","script":{"id":"bd131a21-449f-4cbd-bf6e-e4ed0487b6bf","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d9b70f87-a4bb-47f7-8381-80d757c7ce12","type":"text/javascript","exec":[""]}}]}