{"info":{"_postman_id":"aa6d8488-467a-460f-a05b-5a4ccf6d2c81","name":"Appointment Booking","description":"<html><head></head><body><p><em><strong>Appointment Booking</strong></em> is a service that allows vendors to create and manage appointments (service, repair, etc...) for the purpose of driving in-store traffic for vendor's customers and enabling them to develop better 1:1 relationships.</p>\n<h2 id=\"http-verb\">HTTP Verb</h2>\n<p>All requests should be made using the <a href=\"https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5\"><strong>POST</strong> HTTP method</a>.</p>\n<h2 id=\"useful-urls\">Useful URLs</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Description</th>\n<th>URL</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Test environment</td>\n<td><a href=\"https://booking.appointment.ca.dev.stflo.io/graphql\">https://booking.appointment.ca.dev.stflo.io/graphql</a></td>\n</tr>\n<tr>\n<td>GraphQL Schema</td>\n<td><a href=\"https://statflo.github.io/docs/appointments/api/v1.3/\">https://statflo.github.io/docs/appointments/api/v1.3/</a></td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"781496","collectionId":"aa6d8488-467a-460f-a05b-5a4ccf6d2c81","publishedId":"RWEfNfHw","public":true,"customColor":{"top-bar":"0498B4","right-sidebar":"03697D","highlight":"03697D"},"publishDate":"2018-06-18T22:32:58.000Z"},"item":[{"name":"Authentication operations","item":[{"name":"Obtain authentication token","id":"713f66f1-02cf-442e-9310-ae39cc059140","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{securityAccessToken(appKey:\\\"<your API key>\\\", appSecret:\\\"<your API secret>\\\", vendorName:\\\"<your vendor name>\\\", dealerId:\\\"<optional dealer ID - required for some operations>\\\") {token\\n    vendorId\\n    dealerId\\n    scopes\\n  }\\n}\\n\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Generates an authentication <code>Bearer</code> token based on a given API key, API secret, vendor name and, optionally, a dealer ID. Some operations require the dealer ID to be null, whereas other operations require the dealer ID to be informed.</p>\n<p>An authentication token may be of administrator level or visitor level. Each level has its own API key and API secret. An administrator level token allows the user to change information on settings and other administrator level operations, whereas a visitor level token allows user-facing operations such as booking an appointment, querying outlets, among others.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"d178d2ef-aa8d-4d43-b5b8-7523c3df93c8","name":"Obtain authentication token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{securityAccessToken(appKey:\\\"<your API key>\\\", appSecret:\\\"<your API secret>\\\", vendorName:\\\"<your vendor name>\\\", dealerId:\\\"<optional dealer ID - required for some operations>\\\") {token\\n    vendorId\\n    dealerId\\n    scopes\\n  }\\n}\\n\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"securityAccessToken\": {\n            \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cGUiOiJKV1QifQ.eyJzdWIiOiJ0ZXN0LWluZm8iLCJuYW1lIjoiVGVzdCBEYXRhIiwiaWF0IjoxNTE2MjM5MDIyfQ.Tp132TyqwgF8k6QEjURsFRrz6m3U6kjHzyMUg6Lqh6s\",\n            \"vendorId\": \"c8d4cb65-8473-40c0-b317-7f2cdde27605\",\n            \"dealerId\": \"test-dealer\",\n            \"scopes\": [\n                \"ROLE_ADMIN\"\n            ]\n        }\n    }\n}"}],"_postman_id":"713f66f1-02cf-442e-9310-ae39cc059140"}],"id":"4107162a-1a05-42ae-aa7a-bfb1392c66d3","description":"<p>Operations that allow obtaining an authentication token to access other operations.</p>\n","event":[{"listen":"prerequest","script":{"id":"826c626f-82e5-4ed5-a22f-aaeecdc1c496","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"7cf38c2e-1eae-438e-8bf9-a8f99b29b7bd","type":"text/javascript","exec":[""]}}],"_postman_id":"4107162a-1a05-42ae-aa7a-bfb1392c66d3"},{"name":"Feature flag operations","item":[{"name":"Enable/disable dealer","id":"037a94b4-73f0-4947-972f-54b993827602","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  toggleFeatureForDealer( enabled:<flag indicating whether to enable or disable dealer>)}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to enable or disable a dealer.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"d9d3769c-27a9-4727-9762-bc3ca7bf5c2a","name":"Enable/disable dealer","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  toggleFeatureForDealer( enabled:<flag indicating whether to enable or disable dealer>)}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"toggleFeatureForDealer\": true\n    }\n}"}],"_postman_id":"037a94b4-73f0-4947-972f-54b993827602"},{"name":"Enable/disable outlet","id":"6ebbb2b3-1dac-4c43-9a7e-c3118c13d5ff","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  toggleFeatureForOutlet( enabled:<flag indicating whether the outlet is to be enabled or disabled>, outletId:\\\"<outlet ID>\\\", timezone: \\\"<optional TZ database timezone name>\\\")}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to enable or disable an outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"ad0be047-c3ec-45e5-8d39-da7536c5c14a","name":"Enable/disable outlet","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  toggleFeatureForOutlet( enabled:<flag indicating whether the outlet is to be enabled or disabled>, outletId:\\\"<outlet ID>, timezone: \\\"<optional TZ database timezone name>\\\")}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"toggleFeatureForOutlet\": true\n    }\n}"}],"_postman_id":"6ebbb2b3-1dac-4c43-9a7e-c3118c13d5ff"},{"name":"Retrieve dealer enabled flag","id":"5431c1ba-1b1e-4e89-9438-fe8e6b7992a0","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{ \"query\":\"{featureEnabledForDealer}\" }"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that indicates whether a dealer is enabled or not.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"bbfda67f-ed15-4190-8197-ada392a2e0d7","name":"Retrieve dealer enabled flag","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"}],"body":{"mode":"raw","raw":"{ \"query\":\"{featureEnabledForDealer}\" }"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"featureEnabledForDealer\": true\n    }\n}"}],"_postman_id":"5431c1ba-1b1e-4e89-9438-fe8e6b7992a0"},{"name":"Retrieve outlet enabled flag","id":"64b98829-5b58-4998-9ce3-8265d2e6ff26","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{ \"query\":\"{featureEnabledForOutlet(outletId:\\\"<outlet ID>\\\")}\" }"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that indicates whether the outlet is enabled or not.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"c1004bc2-d1f7-4aa9-88ab-7d5913bc0af7","name":"Retrieve outlet enabled flag","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"}],"body":{"mode":"raw","raw":"{ \"query\":\"{featureEnabledForOutlet(outletId:\\\"<outlet ID>\\\")}\" }"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"featureEnabledForOutlet\": false\n    }\n}"}],"_postman_id":"64b98829-5b58-4998-9ce3-8265d2e6ff26"}],"id":"b651b164-631b-4629-a26f-98e84c07d030","description":"<p>Operations that allow enabling, disabling and retrieving status of dealers and outlets.</p>\n","event":[{"listen":"prerequest","script":{"id":"930c651c-7a7b-49d8-9fdb-f4bff52ec9d4","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ef0487f8-97d6-45ea-934a-f5c72d104d61","type":"text/javascript","exec":[""]}}],"_postman_id":"b651b164-631b-4629-a26f-98e84c07d030"},{"name":"Outlet operations","item":[{"name":"List nearby outlets","id":"82e8cdf0-9e08-4240-85f2-e2788fb7c5ae","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{nearbyOutlets(criteria:{appointmentTypeId: \\\"<preset appointment type ID>\\\", geolocation: {latitude: <client latitude>, longitude: <client longitude>} }){outlet{dealerId, outletId, name, phoneNumber, address{formattedAddress, geolocation{latitude, longitude}}, timezone}, distance, nextAvailability{from, to}, appointmentTypeId}}\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor-level operation that retrieves a list of nearby outlets, given the current client location, including the distance from the current point and the next available time for each outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"c65735af-adf2-40bd-8ce5-d78fef018e9f","name":"List nearby outlets","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"Visitor-level token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{nearbyOutlets(criteria:{appointmentTypeId: \\\"<preset appointment type ID>\\\", geolocation: {latitude: <client latitude>, longitude: <client longitude>} }){outlet{dealerId, outletId, name, phoneNumber, address{formattedAddress, geolocation{latitude, longitude}}, timezone}, distance, nextAvailability{from, to, localFrom, localTo}, appointmentTypeId}}\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"nearbyOutlets\": [\n            {\n                \"outlet\": {\n                    \"dealerId\": \"dealer1\",\n                    \"outletId\" : \"1\",\n                    \"name\": \"Test XYZ Outlet 1\",\n                    \"phoneNumber\": \"+1 416-000-0000\",\n                    \"address\": {\n                        \"formattedAddress\": \"100 Dummy Ave\\nToronto, ON A1A 1A1\\nCA\",\n                        \"geolocation\": {\n                            \"latitude\": 123.123,\n                            \"longitude\": 121.121\n                        }\n                    },\n                    \"timezone\": \"America/Toronto\"\n                },\n                \"distance\": 0.123456,\n                \"nextAvailability\" : {\n                \t\"from\" : \"2018-06-12T12:00:00Z\",\n                \t\"to\" : \"2018-06-12T13:00:00Z\",\n                \t\"localFrom\" : \"2018-06-12T08:00:00\",\n                \t\"localTo\" : \"2018-06-12T09:00:00\"\n                },\n                \"appointmentTypeId\" : \"0eb1e834-cc4d-4e87-b40c-2e80d740b712\"\n            },\n            {\n                \"outlet\": {\n                    \"dealerId\": \"dealer1\",\n                \t\"outletId\" : \"2\",\n                    \"name\": \"Test XYZ Outlet 2\",\n                    \"phoneNumber\": \"+1 905-000-000\",\n                    \"address\": {\n                        \"formattedAddress\": \"100 Dummy Blvd\\nMississauga, ON A1A 1A1\\nCA\",\n                        \"geolocation\": {\n                            \"latitude\": 123.123,\n                            \"longitude\": 121.121\n                        }\n                    },\n                    \"timezone\": \"America/Toronto\"\n                },\n                \"distance\": 0.456789,\n                \"nextAvailability\" : {\n                \t\"from\" : \"2018-06-12T12:00:00Z\",\n                \t\"to\" : \"2018-06-12T13:00:00Z\",\n                \t\"localFrom\" : \"2018-06-12T08:00:00\",\n                \t\"localTo\" : \"2018-06-12T09:00:00\"\n                },\n                \"appointmentTypeId\" : \"7ace946e-f68d-41fe-aa32-8d7efe10b5d5\"\n            }\n        ]\n    }\n}"}],"_postman_id":"82e8cdf0-9e08-4240-85f2-e2788fb7c5ae"},{"name":"Query an outlet","id":"4aaca356-c858-4fb9-8027-7f3adb8e358f","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \"query\": \"{outlet(outletId: \\\"<outlet ID>\\\"){dealerId, outletId, name, address{geolocation{latitude, longitude}, formattedAddress}, phoneNumber}}\", \"variables\": null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor-level operation that allows a user to query for information of a specific outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"5f708b9a-5e64-496a-9ac2-8aaee75cdbd8","name":"Query an outlet","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"Visitor-level token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \"query\": \"{outlet(outletId: \\\"<outlet ID>\\\"){dealerId, outletId, name, address{geolocation{latitude, longitude}, formattedAddress}, phoneNumber}}\", \"variables\": null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"outlet\": {\n            \"dealerId\": \"1\",\n            \"outletId\": \"1\",\n            \"name\": \"Test Outlet XYZ\",\n            \"address\": {\n                \"formattedAddress\": \"2000 Dummy St\\nToronto, ON\\nCA\",\n                \"geolocation\": {\n                    \"latitude\": 100.002,\n                    \"longitude\": -73.97488\n                }\n            },\n            \"phoneNumber\": \"+1 416 000-0000\",\n            \"timezone\": \"America/Toronto\"\n        }\n    }\n}"}],"_postman_id":"4aaca356-c858-4fb9-8027-7f3adb8e358f"},{"name":"Define outlet capacity","id":"7fc85cc2-98dc-4ec0-b269-b0ec6258afd6","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  defineOutletCapacity( outletId:\\\"<outlet ID>\\\", capacity:<maximum desired capacity> )}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to set the maximum number of appointments that can be booked for the same time slot at a given outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"9d793ca3-95c3-487f-bc8b-bde6bba5305e","name":"Define outlet capacity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  defineOutletCapacity( outletId:\\\"<outlet ID>\\\", capacity:<maximum desired capacity> )}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"defineOutletCapacity\": true\n    }\n}"}],"_postman_id":"7fc85cc2-98dc-4ec0-b269-b0ec6258afd6"},{"name":"Obtain outlet capacity","id":"363a1aff-c272-44de-bd9b-19733fd9bda5","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{outletCapacity(criteria:{outletId:\\\"<outlet ID>\\\"})}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to retrieve the maximum capacity for a given outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"4fa5cb44-2478-49ec-95d9-b4ae6ca2426c","name":"Obtain outlet capacity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{outletCapacity(criteria:{outletId:\\\"<outlet ID>\\\"})}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"outletCapacity\": 2\n    }\n}"}],"_postman_id":"363a1aff-c272-44de-bd9b-19733fd9bda5"}],"id":"eb255bf3-5d77-4706-81a3-62c94d0b16ca","description":"<p>Operations that allow querying outlets and managing the capacity of outlets.</p>\n","event":[{"listen":"prerequest","script":{"id":"4a7f6d51-a0c3-4a3b-8e59-f79e473eb00b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"37657fb5-4617-4ae2-ab7d-a069bcddfddd","type":"text/javascript","exec":[""]}}],"_postman_id":"eb255bf3-5d77-4706-81a3-62c94d0b16ca"},{"name":"Setting operations","item":[{"name":"Define a setting","id":"96ccf5cd-e6b9-4756-8208-355d00d8f458","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  defineSetting( outletId: \\\"<optional outlet ID>\\\" setting:{key: \\\"<common setting key>\\\",  value: \\\"<desired common setting value>\\\"  } )}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Operation that allows an administrator to define a common setting, from the list of common settings currently supported on our API. Common settings can belong to vendor-scope, dealer-scope or outlet-scope. When defining an outlet-scope setting, <code>outletId</code> parameter is mandatory.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"96ccf5cd-e6b9-4756-8208-355d00d8f458"},{"name":"Define batched settings","id":"be1eebd7-b03a-4de4-be3e-3c4f27392ce9","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  defineSettings(outletId: \\\"<optional outlet ID>\\\", settings:[{key: \\\"<common setting key>\\\",  value: \\\"<desired setting value>\\\" }, ...] )}\",\"variables\":null}\n"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Operation that allows an administrator to define a batch of common settings, from the list of common settings currently supported on our API. The common settings can be vendor-scoped, dealer-scoped or outlet-scoped. Only one scope may be used for this operation. When defining settings in outlet-scope, outlet ID is mandatory.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"be1eebd7-b03a-4de4-be3e-3c4f27392ce9"},{"name":"List common settings","id":"9de2f56e-d9ff-4161-b408-aa28389fc7ac","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n    \"query\": \"{settings(outletId: \\\"<optional outlet ID to list settings>\\\"){dealerId, outletId,key,value}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows the administrator to list all settings for a given vendor, dealer or outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"9de2f56e-d9ff-4161-b408-aa28389fc7ac"},{"name":"Retrieve a setting","id":"ad534938-7127-40bc-8c84-dcb4cabad4f5","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{setting(key:\\\"<desired common setting key>\\\"){dealerId, outletId,key,value}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level query that allows a user to retrieve a single common setting value using its setting key.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad534938-7127-40bc-8c84-dcb4cabad4f5"},{"name":"Retrieve an outlet setting","id":"9326ef23-d4d1-48f9-a321-4fd9e5cf3642","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{setting(key:\\\"<desired setting key>\\\", outletId:\\\"<outlet ID>\\\"){dealerId, outletId,key,value}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to retrieve a setting for a specific outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"9326ef23-d4d1-48f9-a321-4fd9e5cf3642"},{"name":"List public settings","id":"da388704-8397-492e-bf7d-7ff1beefe6df","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{publicSettings{minimumLeadingTime, bookableTimePeriod}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor-level operation that allows a user to retrieve a list of public settings currently defined on the system.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"da388704-8397-492e-bf7d-7ff1beefe6df"}],"id":"e2496f65-fb0a-4ab5-956c-8bfab65fe4b9","description":"<p>Operations that allow defining and retrieving setting values.</p>\n","event":[{"listen":"prerequest","script":{"id":"f5800aca-dbf5-4809-ba10-73365ea4909f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c0c75ccc-20e7-4b4e-b54e-c35a97c6478d","type":"text/javascript","exec":[""]}}],"_postman_id":"e2496f65-fb0a-4ab5-956c-8bfab65fe4b9"},{"name":"Appointment type operations","item":[{"name":"List preset appointment types","id":"31df24ff-592e-4c11-8eb1-62511af1f659","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{appointmentTypes{id, name, duration, enabled}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level query that allows to retrieve all preset appointment types.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"31df24ff-592e-4c11-8eb1-62511af1f659"},{"name":"Toggle appointment type","id":"8a2d40c1-941e-4209-8d94-9c2558fafb8c","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  toggleAppointmentType(outletId: \\\"<your outlet ID>\\\", appointmentTypeId: \\\"<appointment type ID>\\\", enabled: <flag indicating whether to enable or disable the appointment type>, duration: <optional custom duration for this appointment type in this outlet> )}\",\"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator level operation that allows an administrator to link a preset appointment type to an outlet, generating an outlet-specific appointment type.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"8a2d40c1-941e-4209-8d94-9c2558fafb8c"},{"name":"List available appointment types","id":"3aa95001-19cf-42b3-8eb1-fd2096ea08f2","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{availableAppointmentTypes(outletId: \\\"<outlet ID>\\\"){id, outletAppointmentId, name, duration}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor level operation that lists all appointment types that have been linked to an outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"3aa95001-19cf-42b3-8eb1-fd2096ea08f2"}],"id":"ae312866-a057-43a2-9fd6-9221a70cb195","description":"<p>Operations that allow listing, enabling and disabling appointment types for outlets.</p>\n","event":[{"listen":"prerequest","script":{"id":"b0976ebd-97e4-4275-af40-c6dd9b32e58a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"fd5245cc-b058-4f26-9a60-6055a074d13c","type":"text/javascript","exec":[""]}}],"_postman_id":"ae312866-a057-43a2-9fd6-9221a70cb195"},{"name":"Appointment window operations","item":[{"name":"Create appointment window","id":"c24f162b-b369-4b9a-aefe-73c84d2700a1","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"mutation { createAppointmentWindow(input:{outletId:\\\"<outlet ID>\\\", dayOfWeek:\\\"<day of week>\\\", endedAt:\\\"<end time>\\\", startedAt:\\\"<start time>\\\"}){id, outletId, dealerId, dayOfWeek, startedAt, endedAt, updatedAt} }\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to create an appointment window. All times in appointment operations should be UTC.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"c24f162b-b369-4b9a-aefe-73c84d2700a1"},{"name":"List existing appointment windows","id":"60a59901-e350-46b8-b93c-9a8d861ae731","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{ appointmentWindows(outletId:\\\"<outlet ID>\\\") { id, dayOfWeek, startedAt, endedAt, updatedAt, dealerId, outletId } }\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to list all existing appointment windows for a given outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"60a59901-e350-46b8-b93c-9a8d861ae731"},{"name":"Delete appointment window","id":"588c8217-8e18-4965-8653-91caba7de287","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation{deleteAppointmentWindow(id: \\\"<appointment window ID>\\\")}\", \"variables\" : null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to delete an appointment window.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"588c8217-8e18-4965-8653-91caba7de287"}],"id":"a8ec0370-be01-4bf9-afa0-83e2912eb3bb","description":"<p>Operations that allow creation, removal and listing of appointment windows. Appointment windows specify the times for each day of week when the outlet is open for receiving customers.</p>\n","event":[{"listen":"prerequest","script":{"id":"909b11cc-760d-4dc6-9cbd-91c6713d7dcd","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"39244daf-d472-4715-91cf-ec282e1407e1","type":"text/javascript","exec":[""]}}],"_postman_id":"a8ec0370-be01-4bf9-afa0-83e2912eb3bb"},{"name":"Appointment window break operations","item":[{"name":"Create appointment window break","id":"e2fd16f2-5663-4a0a-9e82-a5723323c02f","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  createAppointmentBreakWindow(input: {outletId:\\\"<outlet ID>\\\", startedAt: \\\"<date and time to start the window break>\\\", endedAt: \\\"<date and time to finish the window break>\\\"} ) { id, dealerId, outletId, startedAt, endedAt } }\",\"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to identify a specific date/time when appointments cannot be booked.\nThis overrides any created appointment window.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"e2fd16f2-5663-4a0a-9e82-a5723323c02f"},{"name":"List appointment window breaks","id":"72fa9e47-b95d-487b-8750-dd399c2d208b","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{ appointmentBreakWindows(outletId:\\\"<outlet ID>\\\") { id, dealerId, outletId, startedAt, endedAt } }\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to list all appointment window breaks for a given outlet.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"72fa9e47-b95d-487b-8750-dd399c2d208b"},{"name":"Delete appointment window break","id":"9d52bdf4-c812-4297-943f-de27e123ff1e","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation {  deleteAppointmentBreakWindow(id: \\\"<appointment window break ID>\\\" ) }\",\"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator-level operation that allows a user to remove an existing appointment window break.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"9d52bdf4-c812-4297-943f-de27e123ff1e"}],"id":"7a56df58-1f38-4ff3-88a9-386789a5365a","description":"<p>Operations that allow listing, creation and removal of appointment window breaks. Appointment window breaks are discontinuities in times when the outlet is open for booking appointments. Appointment window breaks override appointment windows, preventing appointments from being booked in the time interval specified.</p>\n","event":[{"listen":"prerequest","script":{"id":"c2b4e023-a463-4d57-ac65-15583b5d2547","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5b792f3d-94db-4204-be70-997c208113f1","type":"text/javascript","exec":[""]}}],"_postman_id":"7a56df58-1f38-4ff3-88a9-386789a5365a"},{"name":"Time slot operations","item":[{"name":"List available time slots","id":"372b87ac-8fe4-4a74-873c-75e20a633cb1","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{ availableTimeSlots(outletId: \\\"<your outlet ID>\\\",  appointmentTypeId: \\\"<preset appointment type ID>\\\", dateRange: { from: \\\"<date range start>\\\", to: \\\"<date range end>\\\"}){ from, to, localFrom, localTo } }\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor-level operation that allows to query a list of the next available time slots from 3 hours from current time to 28 days from current time. It is also possible to retrieve the available time slots in local time, using localFrom and localTo fields.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"ac225b90-7608-4f9c-95e1-c51cd17e3eca","name":"List available time slots","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"Visitor token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"{ availableTimeSlots(outletId: \\\"<your outlet ID>\\\",  appointmentTypeId: \\\"<preset appointment type ID>\\\", dateRange: { from: \\\"<date range start>\\\", to: \\\"<date range end>\\\"}){ from, to, localFrom, localTo } }\"}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"availableTimeSlots\": [\n            {\n                \"from\": \"2018-11-08T23:00:00Z\",\n                \"to\": \"2018-11-09T00:00:00Z\",\n                \"localFrom\": \"2018-11-09T12:00\",\n                \"localTo\": \"2018-11-09T13:00\"\n            },\n            {\n                \"from\": \"2018-11-09T00:00:00Z\",\n                \"to\": \"2018-11-09T01:00:00Z\",\n                \"localFrom\": \"2018-11-09T13:00\",\n                \"localTo\": \"2018-11-09T14:00\"\n            },\n            {\n                \"from\": \"2018-11-09T01:00:00Z\",\n                \"to\": \"2018-11-09T02:00:00Z\",\n                \"localFrom\": \"2018-11-09T14:00\",\n                \"localTo\": \"2018-11-09T15:00\"\n            },\n            {\n                \"from\": \"2018-11-09T02:00:00Z\",\n                \"to\": \"2018-11-09T03:00:00Z\",\n                \"localFrom\": \"2018-11-09T15:00\",\n                \"localTo\": \"2018-11-09T16:00\"\n            },\n            {\n                \"from\": \"2018-11-09T03:00:00Z\",\n                \"to\": \"2018-11-09T04:00:00Z\",\n                \"localFrom\": \"2018-11-09T16:00\",\n                \"localTo\": \"2018-11-09T17:00\"\n            }\n        ]\n    }\n}"}],"_postman_id":"372b87ac-8fe4-4a74-873c-75e20a633cb1"}],"id":"254f3612-5a0e-4017-aba0-0b545c24bcc8","description":"<p>Operations that allow listing time slots.</p>\n","event":[{"listen":"prerequest","script":{"id":"a2baf5cb-4a5d-4898-8ec6-7fc3e235b79a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"3a889220-92a6-41fe-bbb7-31d3211c968b","type":"text/javascript","exec":[""]}}],"_postman_id":"254f3612-5a0e-4017-aba0-0b545c24bcc8"},{"name":"Appointment management operations","item":[{"name":"Create new appointment","id":"18161fbe-5f49-4201-acc7-3de0268173c7","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation { createAppointment( input: {  outletId: \\\"<your outlet ID>\\\",  appointmentTypeId: \\\"<your appointment type ID>\\\", firstName: \\\"<customer first name>\\\",  lastName: \\\"<customer last name>\\\", phoneNumber: \\\"<phone number>\\\",  emailAddress: \\\"<email address>\\\",  comments: \\\"<optional customer comments>\\\",  emailNotificationRequested: <flag to indicate if a notification was requested>,  scheduledStartedAt: \\\"<appointment booked time>\\\", externalCustomerId: \\\"<optional external customer ID>\\\" } ){id, outlet{dealerId, outletId, name, address{formattedAddress, geolocation{latitude, longitude}}}, appointmentType{id, outletAppointmentId, name, type, duration, enabled}, externalCustomerId, firstName, lastName, phoneNumber, emailAddress, comments, emailNotificationRequested, scheduledStartedAt, scheduledEndedAt, startedAt, endedAt, cancelledAt, checkedInAt, createdAt, updatedAt, localScheduledStartedAt, localScheduledEndedAt, localStartedAt, localEndedAt, localCancelledAt, localCheckedInAt} }\",\n\"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>A visitor-level operation that allows the user to create a new appointment with information from the customer.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"18161fbe-5f49-4201-acc7-3de0268173c7"},{"name":"List booked appointments","id":"4399ff14-3e2b-4578-8360-632bccac5fee","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{bookedAppointments(criteria: {outletId:\\\"<outlet ID>\\\", appointmentTypeId: \\\"<appointment type ID>\\\", dateRange: {from: \\\"<start of date range>\\\", to: \\\"<end of date range>\\\"}}){id, outlet{dealerId, outletId, name, address{formattedAddress, geolocation{latitude, longitude}}}, appointmentType{id, outletAppointmentId, name, type, duration, enabled}, externalCustomerId, firstName, lastName, phoneNumber, emailAddress, comments, emailNotificationRequested, scheduledStartedAt, scheduledEndedAt, startedAt, endedAt, cancelledAt, checkedInAt, createdAt, updatedAt, localScheduledStartedAt, localScheduledEndedAt, localStartedAt, localEndedAt, localCancelledAt, localCheckedInAt}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Administrator level operation that allows the administrator to list a range of booked appointments.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"cf4018d3-3756-4879-9242-48ff359a1bcb","name":"List booked appointments","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <administrator token>","description":"Administrator-level token"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{bookedAppointments(criteria: {outletId:\\\"<outlet ID>\\\", appointmentTypeId: \\\"<appointment type ID>\\\", dateRange: {from: \\\"<start of date range>\\\", to: \\\"<end of date range>\\\"}}){id, outlet{dealerId, outletId, name, address{formattedAddress, geolocation{latitude, longitude}}}, appointmentType{id, outletAppointmentId, name, type, duration, enabled}, externalCustomerId, firstName, lastName, phoneNumber, emailAddress, comments, emailNotificationRequested, scheduledStartedAt, scheduledEndedAt, startedAt, endedAt, cancelledAt, checkedInAt, createdAt, updatedAt, localScheduledStartedAt, localScheduledEndedAt, localStartedAt, localEndedAt, localCancelledAt, localCheckedInAt}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"bookedAppointments\": [\n            {\n                \"id\": \"5fba146e-bd14-49b1-b548-1d4ca663e5a4\",\n                \"outlet\": {\n                    \"dealerId\": \"123456\",\n                    \"outletId\": \"123456\",\n                    \"name\": \"Park XYZ\",\n                    \"address\": {\n                        \"formattedAddress\": \"12345 XYZ\",\n                        \"geolocation\": {\n                            \"latitude\": 11.11111,\n                            \"longitude\": -11.11111\n                        }\n                    }\n                },\n                \"appointmentType\": {\n                    \"id\": \"614e5ad9-69f1-43da-9e64-933d820e3985\",\n                    \"outletAppointmentId\": \"77bb3b8c-443d-42dc-90b3-084c9a9d7131\",\n                    \"name\": \"sales\",\n                    \"type\": \"SALES\",\n                    \"duration\": 60,\n                    \"enabled\": true\n                },\n                \"externalCustomerId\": null,\n                \"firstName\": \"Hello\",\n                \"lastName\": \"Kitty\",\n                \"phoneNumber\": \"1234567890\",\n                \"emailAddress\": \"email@xyz.com\",\n                \"comments\": \"Some comment\",\n                \"emailNotificationRequested\": false,\n                \"scheduledStartedAt\": \"2018-08-31T04:00:00Z\",\n                \"scheduledEndedAt\": \"2018-08-31T05:00:00Z\",\n                \"startedAt\": null,\n                \"endedAt\": null,\n                \"cancelledAt\": null,\n                \"checkedInAt\": null,\n                \"createdAt\": \"2018-08-30T14:42:20.164Z\",\n                \"updatedAt\": \"2018-08-30T14:42:20.164Z\",\n                \"localScheduledStartedAt\": \"2018-08-31T16:00:00\",\n                \"localScheduledEndedAt\": \"2018-08-31T17:00:00\",\n                \"localStartedAt\": null,\n                \"localEndedAt\": null,\n                \"localCancelledAt\": null,\n                \"localCheckedInAt\": null\n            },\n            {\n                \"id\": \"e91e5a43-7474-4e6a-aeab-9b2bdd343abe\",\n                \"outlet\": {\n                    \"dealerId\": \"111111\",\n                    \"outletId\": \"222222\",\n                    \"name\": \"Park 123456\",\n                    \"address\": {\n                        \"formattedAddress\": \"Place 123\",\n                        \"geolocation\": {\n                            \"latitude\": 22.2222,\n                            \"longitude\": -22.22222\n                        }\n                    }\n                },\n                \"appointmentType\": {\n                    \"id\": \"614e5ad9-69f1-43da-9e64-933d820e3985\",\n                    \"outletAppointmentId\": \"77bb3b8c-443d-42dc-90b3-084c9a9d7131\",\n                    \"name\": \"sales\",\n                    \"type\": \"SALES\",\n                    \"duration\": 60,\n                    \"enabled\": true\n                },\n                \"externalCustomerId\": null,\n                \"firstName\": \"Hello\",\n                \"lastName\": \"Kitty\",\n                \"phoneNumber\": \"1234567890\",\n                \"emailAddress\": \"email2@xyz.com\",\n                \"comments\": \"Some comment\",\n                \"emailNotificationRequested\": false,\n                \"scheduledStartedAt\": \"2018-08-31T04:00:00Z\",\n                \"scheduledEndedAt\": \"2018-08-31T05:00:00Z\",\n                \"startedAt\": null,\n                \"endedAt\": null,\n                \"cancelledAt\": null,\n                \"checkedInAt\": null,\n                \"createdAt\": \"2018-08-30T19:46:42.466Z\",\n                \"updatedAt\": \"2018-08-30T19:46:42.466Z\",\n                \"localScheduledStartedAt\": \"2018-08-31T16:00:00\",\n                \"localScheduledEndedAt\": \"2018-08-31T17:00:00\",\n                \"localStartedAt\": null,\n                \"localEndedAt\": null,\n                \"localCancelledAt\": null,\n                \"localCheckedInAt\": null\n            }\n        ]\n    }\n}"}],"_postman_id":"4399ff14-3e2b-4578-8360-632bccac5fee"},{"name":"Query an appointment","id":"33afdc76-06c4-4419-a30e-b7e387c438e5","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor-level token</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{appointment(id: \\\"<appointment ID>\\\"){id, outlet{dealerId, outletId, name, address{formattedAddress, geolocation{latitude, longitude}}}, appointmentType{id, outletAppointmentId, name, type, duration, enabled}, externalCustomerId, firstName, lastName, phoneNumber, emailAddress, comments, emailNotificationRequested, scheduledStartedAt, scheduledEndedAt, startedAt, endedAt, cancelledAt, checkedInAt, createdAt, updatedAt, localScheduledStartedAt, localScheduledEndedAt, localStartedAt, localEndedAt, localCancelledAt, localCheckedInAt}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>Visitor-level operation that allows a user to query information on a given appointment.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[{"id":"d1ba441f-83cc-4b78-997c-98363d5c2915","name":"Query an appointment","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <visitor token>","description":"Visitor-level token"}],"body":{"mode":"raw","raw":"{\n  \"query\":\"{appointment(id: \\\"<appointment ID>\\\"){id, outlet{dealerId, outletId, name, address{formattedAddress, geolocation{latitude, longitude}}}, appointmentType{id, outletAppointmentId, name, type, duration, enabled}, externalCustomerId, firstName, lastName, phoneNumber, emailAddress, comments, emailNotificationRequested, scheduledStartedAt, scheduledEndedAt, startedAt, endedAt, cancelledAt, checkedInAt, createdAt, updatedAt, localScheduledStartedAt, localScheduledEndedAt, localStartedAt, localEndedAt, localCancelledAt, localCheckedInAt}}\"\n}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"appointment\": {\n            \"id\": \"e91e5a43-7474-4e6a-aeab-9b2bdd343abe\",\n            \"outlet\": {\n                \"dealerId\": \"123456\",\n                \"outletId\": \"123456\",\n                \"name\": \"Park XYZ\",\n                \"address\": {\n                    \"formattedAddress\": \"XYZ ABC, MO ABCD\",\n                    \"geolocation\": {\n                        \"latitude\": 11.11111,\n                        \"longitude\": -11.11111\n                    }\n                }\n            },\n            \"appointmentType\": {\n                \"id\": \"614e5ad9-69f1-43da-9e64-933d820e3985\",\n                \"outletAppointmentId\": \"77bb3b8c-443d-42dc-90b3-084c9a9d7131\",\n                \"name\": \"sales\",\n                \"type\": \"SALES\",\n                \"duration\": 60,\n                \"enabled\": true\n            },\n            \"externalCustomerId\": null,\n            \"firstName\": \"Hello\",\n            \"lastName\": \"Kitty\",\n            \"phoneNumber\": \"1234567890\",\n            \"emailAddress\": \"email@xyz.com\",\n            \"comments\": \"some comment\",\n            \"emailNotificationRequested\": false,\n            \"scheduledStartedAt\": \"2018-08-31T04:00:00Z\",\n            \"scheduledEndedAt\": \"2018-08-31T05:00:00Z\",\n            \"startedAt\": null,\n            \"endedAt\": null,\n            \"cancelledAt\": null,\n            \"checkedInAt\": null,\n            \"createdAt\": \"2018-08-30T19:46:42.466Z\",\n            \"updatedAt\": \"2018-08-30T19:46:42.466Z\",\n            \"localScheduledStartedAt\": \"2018-08-31T16:00:00\",\n            \"localScheduledEndedAt\": \"2018-08-31T17:00:00\",\n            \"localStartedAt\": null,\n            \"localEndedAt\": null,\n            \"localCancelledAt\": null,\n            \"localCheckedInAt\": null\n        }\n    }\n}"}],"_postman_id":"33afdc76-06c4-4419-a30e-b7e387c438e5"},{"name":"Check-in for appointment","id":"b06c6261-b1ac-4d4b-b681-f3490f120a15","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <administrator token>","description":"<p>Administrator-level token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation { checkInForAppointment( id:\\\"<appointment ID>\\\", externalCustomerId: \\\"<external customer ID>\\\") }\", \"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>An admin-level operation that allows the administrator to flag that a customer has shown up for their appointment. Optionally, allows the user to fill in an external customer ID to be linked to this appointment.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"b06c6261-b1ac-4d4b-b681-f3490f120a15"},{"name":"Cancel an appointment","id":"953a44a3-f9cb-485a-a426-6614eef7b187","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer <visitor token>","description":"<p>Visitor token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"query\":\"mutation { cancelAppointment( id:\\\"<appointment ID>\\\") }\",\n\"variables\":null}"},"url":"https://booking.appointment.ca.dev.stflo.io/graphql","description":"<p>A visitor-level operation that allows the user to cancel their booked appointment.</p>\n","urlObject":{"protocol":"https","path":["graphql"],"host":["booking","appointment","ca","dev","stflo","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"953a44a3-f9cb-485a-a426-6614eef7b187"}],"id":"78781fe0-c117-45a3-9778-148ea1a2a278","description":"<p>Operations that allow creating, cancelling and setting up an appointment.</p>\n","event":[{"listen":"prerequest","script":{"id":"3e315b61-256d-4277-8ac3-ad2caad996aa","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a841f96a-7269-4b4e-a79a-56e6a7a38696","type":"text/javascript","exec":[""]}}],"_postman_id":"78781fe0-c117-45a3-9778-148ea1a2a278"}],"event":[{"listen":"prerequest","script":{"id":"1d2b3050-f9ac-44e6-b1bd-92a832dcf752","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e461b501-a436-4d3d-9e05-adc38f022d1b","type":"text/javascript","exec":[""]}}]}