{"openapi":"3.0.1","servers":[{"url":"https://sandbox-api.onsched.com/"}],"info":{"description":"Build secure and scalable custom apps for onboarding and setup. Our flexible API provides many options for configuration.\r\n<br><br>\r\nTake the API for a test drive. Just click on the Authorize button below and authenticate. \r\nYou can access our demo company profile if you are not a customer, or your own profile by using your assigned ClientId and Secret.\r\n<br><br>\r\nThe API has two interfaces, consumer and setup. \r\n<ul>\r\n<li>\r\nThe consumer interface provides all the endpoints required for implementing consumer booking flows.\r\n</li>\r\n<li>\r\nThe setup interface provides endpoints for profile configuration and setup.\r\n</li>\r\n</ul>\r\nToggle freely between the two interfaces using the swagger tool bar option labelled 'Select a definition'.\r\n","title":"OnSched Setup API","version":"v1","x-apisguru-categories":["collaboration"],"x-logo":{"url":"https://onsched.com/img/apple-touch-icon-57x57-precomposed.ico"},"x-origin":[{"format":"openapi","url":"https://sandbox-api.onsched.com/swagger/setup/swagger.json","version":"3.0"}],"x-providerName":"onsched.com","x-serviceName":"setup"},"security":[{"oauth2":["OnSchedApi"]}],"paths":{"/setup/v1/appointments":{"get":{"description":"<p>Use this endpoint to return a <b>List of Appointments</b>. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further. For more information: <a href=\"https://onsched.readme.io/docs/appointments-overview\">Appointments Overview</a></p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter appointments by email address","in":"query","name":"email","schema":{"type":"string"}},{"description":"Filter appointments by lastname or part of","in":"query","name":"lastname","schema":{"type":"string"}},{"description":"Filter appointments by service","in":"query","name":"serviceId","schema":{"type":"string"}},{"description":"Filter appointments by calendar","in":"query","name":"calendarId","schema":{"type":"string"}},{"description":"Filter appointments by resource","in":"query","name":"resourceId","schema":{"type":"string"}},{"description":"Filter appointments by customer","in":"query","name":"customerId","schema":{"type":"string"}},{"description":"Filter appointments by service allocation","in":"query","name":"serviceAllocationId","schema":{"type":"string"}},{"description":"Format YYYY-MM-DD: Filter appointments by on/after startDate","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"Format YYYY-MM-DD: Filter appointments on/before endDate","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Filter appointments by status: IN, BK, CN, RE, RS","in":"query","name":"status","schema":{"type":"string"}},{"description":"Filter appointments by user email who booked","in":"query","name":"bookedBy","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentListViewModel"}}},"description":"Success"}},"summary":"List Appointments","tags":["Appointments"]}},"/setup/v1/appointments/{id}":{"get":{"description":"<p>Use this endpoint to return an <b>Appointment</b> object. A valid <b>appointment id</b> is required. Find appointment id's by using the <i>GET​/setup​/v1​/appointments</i> endpoint.</p>","parameters":[{"description":"id of appointment object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentViewModel"}}},"description":"Success"}},"summary":"Get Appointment","tags":["Appointments"]}},"/setup/v1/appointments/{id}/reassign/resource/{resourceId}":{"put":{"description":"<p>Use this endpoint to <b>Reassign</b> an appointment from one resource to another. The result returned is a single appointment that was reassigned to the target resource. A valid <b>appointment id</b> and <b>resource id</b> is required. Find appointment id's by using the <i>GET /setup/v1/appointments</i> endpoint, find resource id's by using the <i>GET ​/setup​/v1​/resources</i> endpoint.</p>","parameters":[{"description":"id of appointment object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"id of target resource","in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentViewModel"}}},"description":"Success"}},"summary":"Reassign Appointment","tags":["Appointments"]}},"/setup/v1/businessusers":{"get":{"description":"<p>Use this endpoint to return a <b>List of Business Users and their Roles</b>. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter by email address","in":"query","name":"email","schema":{"type":"string"}},{"description":"Filter user role","in":"query","name":"role","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserListViewModel"}}},"description":"Success"}},"summary":"List Users","tags":["BusinessUsers"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a Business User. If not specified, the business location defaults to the primary business location. </p>\r\n<p>Required fields: <b>Name</b>, <b>Email</b> and <b>Role</b><b>Note:</b> If the businessUser is a bookable resource (bizresource) then a resourceId is required.</p>\r\n<p>For role, use one of the values listed. <b>Business Roles Include: bizowner</b> (Business Owner), <b>bizadmin</b> (Business Administrator), <b>bizresource</b> (Business User - Bookable Resource).</p>\r\n<p>The <b>sendRegistrationInvite</b> parameter is available to API consumers for their own use. It provides no added functionality in OnSched.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/BusinessUserInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/BusinessUserInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/BusinessUserInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserViewModel"}}},"description":"Success"}},"summary":"Create User","tags":["BusinessUsers"]}},"/setup/v1/businessusers/permissions":{"get":{"description":"<p>Use this endpoint to return a <b>List of Business User Permissions by Role</b>. Results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"Filter permissions by role","in":"query","name":"role","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPermissionListViewModel"}}},"description":"Success"}},"summary":"List User Permissions","tags":["BusinessUsers"]}},"/setup/v1/businessusers/{email}/companies":{"get":{"description":"<p>Use this endpoint to return a <b>List of Companies</b> associated with the business users email requested. A business user <b>email</b> address is required. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"Email of business user","in":"path","name":"email","required":true,"schema":{"type":"string"}},{"description":"All or partial company name","in":"query","name":"searchText","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizedCompanyListViewModel"}}},"description":"Success"}},"summary":"List User Companies","tags":["BusinessUsers"]}},"/setup/v1/businessusers/{id}":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a Business User. A valid <b>businessUser id</b> is required.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"summary":"Delete User","tags":["BusinessUsers"]},"get":{"description":"<p>Use this endpoint to return a <b>Business User</b> object. A valid <b>businessUser id</b> is required. Find businessUser id's using the <i>GET /setup/v1/businessusers</i> endpoint.</p>","parameters":[{"description":"id of businessUser object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserViewModel"}}},"description":"Success"}},"summary":"Get User","tags":["BusinessUsers"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a Business User. A valid <b>businessUser id</b> is required.</p>\r\n<p>\r\n  <b>Business Roles Include: bizowner</b> (Business Owner), <b>bizadmin</b> (Business Administrator), <b>bizresource</b> (Business User - Bookable Resource).</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/BusinessUserUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/BusinessUserUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/BusinessUserUpdateModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUserViewModel"}}},"description":"Success"}},"summary":"Update User","tags":["BusinessUsers"]}},"/setup/v1/calendars":{"get":{"description":"<p>Use this endpoint to return a <b>List of Calendars</b> from the requested location. If not specified, the business location defaults to the primary business location. </p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter by deleted status","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleListViewModel"}}},"description":"Success"}},"summary":"List Calendars","tags":["Calendars"]},"post":{"description":"<p>\r\n  <b>DEPRECATING:</b> Create Calendar</p>\r\n<p>We are no longer supporting Multiple Calendar Functionality as it is part of our Legacy Application and has no relevance in the API.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ScheduleInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ScheduleInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ScheduleInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleViewModel"}}},"description":"Success"}},"summary":"DEPRECATING: Create","tags":["Calendars"]}},"/setup/v1/calendars/block/{id}":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a calendar block. A valid <b>calendarBlock id</b> is required.</p>","parameters":[{"description":"id of a calendarBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockViewModel"}}},"description":"Success"}},"summary":"Delete Calendar Block","tags":["Calendars"]},"put":{"description":"<p>Use this endpoint to <b>Create</b> a Calendar Block. A valid <b>calendarBlock id</b> is required. Refer to the <i>POST ​/setup​/v1​/calendars​/{id}​/block</i> endpoint for fieldnames and details.</p>","parameters":[{"description":"id of calendarBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CalendarBlockUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CalendarBlockUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockUpdateModel"}}},"description":"Resource Block input model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockViewModel"}}},"description":"Success"}},"summary":"Update Calendar Block","tags":["Calendars"]}},"/setup/v1/calendars/blocks/{id}":{"get":{"description":"<p>Use this endpoint to return a <b>Calendar Block</b>. A valid <b>calendarBlock id</b> is required. </p>","parameters":[{"description":"id of calendarBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockViewModel"}}},"description":"Success"}},"summary":"Get Calendar Block","tags":["Calendars"]}},"/setup/v1/calendars/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a calendar object. A valid <b>calendar id</b> is required. The calendar is not permanently deleted and can be recovered by using the <i>PUT ​/setup​/v1​/calendars​/{id}​/recover </i>endpoint.</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleViewModel"}}},"description":"Success"}},"summary":"Delete Calendar","tags":["Calendars"]},"get":{"description":"<p>Use this endpoint to return a <b>Calendar</b> object. A valid <b>calendar id</b> is required.</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleViewModel"}}},"description":"Success"}},"summary":"Get Calendar","tags":["Calendars"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a calendar object. A valid <b>calendar id</b> is required. When your company was created a calendar object was automatically created with 24-hour weekly availability. Its <b>name = Main</b>, the <b>type = resource</b> and by default the <b>interval = 30 mins</b>. We are currently supporting resource calendar type. Other types were part of our Legacy Application and has no relevance in the API product.</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdateModel"}}},"description":"Input model for the calendar object"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleViewModel"}}},"description":"Success"}},"summary":"Update Calendar","tags":["Calendars"]}},"/setup/v1/calendars/{id}/block":{"post":{"description":"<p>Use this endpoint to <b>Create</b> a Calendar Block. A valid <b>calendar id</b> is required.</p>\r\n<p>Required fields: <b>startDate, endDate, startTime, endTime</b> and <b>reason</b>.</p>\r\n<p>Calendar blocks can be set to specific time ranges or for the whole day. Th block a whole day set the startTime to 0 and endTime to 2400.</p>\r\n<p>Calendar blocks can be for a specific date range instance or set to repeat at a specified frequency.</p>\r\n<p>\r\n  <b>Repeat object: (repeats = true)</b>\r\n</p>\r\n<p>The <b>frequency</b> can be set to a value of <b>D, W or M</b> for <b>Day, Week</b> or <b>Month</b> respectively.</p>\r\n<p>Use the <b>interval</b> property to specify the interval that the block repeats. For example, an interval of 2 for a weekly block means that the block will repeat every 2nd week beginning at the day specified. A daily block with an interval of 10 means the block will repeat every 10 days. The interval property applies to all repeat frequencies. <b>If using the repeat functionality an interval value is required</b>.</p>\r\n<p>\r\n  <b>DAILY BLOCKS</b>: Will repeat for each day of the week for the date range specified for the interval specified.  An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.</p>\r\n<p>\r\n  <b>WEEKLY BLOCKS</b>: Will repeat only on the specified days of the week for the date range specified. For weekly the <b>frequency</b>  is required and should be set to <b>“W”</b>.  You must specify the <b>weekdays</b> parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are <b>0,1,2,3,4,5,6</b> where <b>0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday</b>. For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the block date range.</p>\r\n<p>\r\n  <b>MONTHLY BLOCKS</b>: Will repeat either on the day of the month specified in the <b>monthDay</b> property or on the day of the week and week of the month specified by the <b>monthType</b> property.  In both cases <b>frequency</b> is required and should be set to <b>“M”</b>, monthly, <b>monthDay</b> is the day of the month you want blocked.  If monthDay=’15’ this means to block the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario.  There are two possible values for monthType: <b>D for Day of Month</b> or <b>W for Week of Month.</b> For <b>monthType D</b>, monthDay value must be between 1 and 31. It is the day of the month to repeat on. For <b>monthType M</b>, monthDay value contains 2 digits: day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”.</p>\r\n<p>\r\n  <b>Repeats will end on the date specified by the end date.</b>\r\n</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CalendarBlockInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CalendarBlockInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Create Calendar Block","tags":["Calendars"]}},"/setup/v1/calendars/{id}/blocks":{"get":{"description":"<p>Use this endpoint to return a <b>List of Calendar Blocks</b> for the requested calendar. A valid <b>calendar id</b> is required. </p>","parameters":[{"description":"id of calendar to list blocks","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBlockListViewModel"}}},"description":"Valid response"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Resource was not found"}},"summary":"List Calendar Blocks","tags":["Calendars"]}},"/setup/v1/calendars/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a previously deleted calendar object. A valid <b>calendar id</b> is required.</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleViewModel"}}},"description":"Success"}},"summary":"Recover Calendar","tags":["Calendars"]}},"/setup/v1/calendars/{id}/services":{"get":{"description":"<p>Use this endpoint to return a <b>List of Linked Services</b> of a calendar object. A valid <b>calendar id</b> is required. Find calendar id's by using the <i>GET /setup/v1/calendars</i> endpoint.</p>","parameters":[{"description":"id of calendar object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceListViewModel"}}},"description":"Success"}},"summary":"List Calendar Services","tags":["Calendars"]}},"/setup/v1/companies":{"get":{"description":"<p>Use this endpoint to return the <b>Authorized Company</b> information. The company is the main entity that oversees all business locations defined below it, hierarchically. </p>\r\n<p>Access to the company credentials gives you access to all business locations defined in the authorized company. Client credentials resolve to a single company and are purposely hidden from this endpoint.</p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyViewModel"}}},"description":"Success"}},"summary":"Get Company","tags":["Companies"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a new authorized company.</p>\r\n<p>\r\n  <b>Note: Special API Partner credentials are required to access this endpoint.</b>\r\n</p>\r\n<p>The <b>name, registrationEmail, phone, country</b> and <b>timezoneName</b> are required fields. For <b>country</b> use the standard ISO 3166 2-character country code.</p>\r\n<p>The <b>timezoneName</b> must be expressed as an IANA Timezone e.g., <i>America/New_York</i>.</p>\r\n<p>For more information: <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">Timezone IANA Wiki</a></p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CompanyInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CompanyInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CompanyInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CompanyInputModel"}}},"description":"Company Input Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyViewModel"}}},"description":"Success"}},"summary":"Create Company","tags":["Companies"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> the authorized company information. Your client credentials resolve to a single company. The timezoneName must be expressed as an IANA Timezone, e.g., <i>America/New_York</i>. </p>\r\n<p>For more information: <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">Timezone IANA Wiki</a></p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CompanyUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CompanyUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CompanyUpdateModel"}}},"description":"Company Update Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyViewModel"}}},"description":"Success"}},"summary":"Update Company","tags":["Companies"]}},"/setup/v1/companies/domains":{"get":{"description":"<p>Use this endpoint to return a <b>List of Company Domains</b> for the authorized company. To share the OnSchedJS booking widget on your website or in your application your domain must be listed.</p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainListViewModel"}}},"description":"Success"}},"summary":"List Company Domains","tags":["Companies"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> an OnSchedJs domain for your authorized company. To share the OnSchedJS booking widget on your website or in your application you must add the domain.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CompanyDomainInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CompanyDomainInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainInputModel"}}},"description":"Company Domain Input Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainViewModel"}}},"description":"Success"}},"summary":"Create Company Domain","tags":["Companies"]}},"/setup/v1/companies/domains/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> an OnSchedJs domain from your authorized company. A valid <b>companyDomain id</b> is required.</p>","parameters":[{"description":"id of companyDomain object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainViewModel"}}},"description":"Success"}},"summary":"Delete Company Domain","tags":["Companies"]},"get":{"description":"<p>Use this endpoint to return a <b>Company Domain</b> object. A valid <b>companyDomain id</b> is required. </p>","parameters":[{"description":"id of companyDomain object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainViewModel"}}},"description":"Success"}},"summary":"Get Company Domain","tags":["Companies"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> an OnSchedJs domain for your authorized company. A valid <b>companyDomain id</b> is required.</p>","parameters":[{"description":"id of companyDomain object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CompanyDomainUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CompanyDomainUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainUpdateModel"}}},"description":"Company Domain Update Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDomainViewModel"}}},"description":"Success"}},"summary":"Update Company Domain","tags":["Companies"]}},"/setup/v1/companies/email/templates":{"get":{"description":"<p>Use this endpoint to return a <b>List of Email Templates</b> that are provided and may be customized. If the template has been customized, the customized property is true. The scope parameter indicates if the email template has been customized at the Business Location level or Company level. This endpoint returns <b>only company level templates</b>, so the scope is always company.</p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateListViewModel"}}},"description":"Success"}},"summary":"List Email Templates","tags":["Companies"]}},"/setup/v1/companies/email/templates/master":{"delete":{"description":"<p>Use this endpoint to <b>Delete Custom Master Email Template Settings</b>. Deleting a custom master email template setting will reactivate the original default OnSched template settings.</p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Delete Master Template Settings","tags":["Companies"]},"get":{"description":"<p>Use this endpoint to return the <b>Master Email Template Settings</b>. Settings exist for showing or hiding email panels and for changing color schemes. </p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Get Master Template Settings","tags":["Companies"]},"post":{"description":"<p>Use this endpoint to <b>Create Custom Master Email Template Settings</b>. Settings exist for showing or hiding email panels and for changing color schemes. Use the <i>GET ​/setup​/v1​/companies​/email​/templates</i> endpoint to display the settings offered. Changes to the Master Template Settings will be reflected in all business locations associated with this company. </p>\r\n<p>The email template endpoints work a little differently than most. There are no endpoints to update the templates, we use the post endpoint to create a custom template instead. This endpoint creates a new custom Master Template Settings file that will be used instead. If you delete it you are deleting the custom template settings you created and the original default Master Template created by OnSched would be reactivated.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Create Master Template Settings","tags":["Companies"]}},"/setup/v1/companies/email/templates/{templateName}":{"get":{"description":"<p>Use this endpoint to return the requested <b>Email Template</b>. If it wasn't customized the default template is returned. The response content is in html format. A valid emailTemplate <b>name</b> is required. Find template names by using the: <i>GET ​/setup​/v1​/companies​/email​/templates</i> endpoint. Note: The master template cannot be accessed here. </p>\r\n<p>To create custom company email templates, go to the <i>POST ​/setup​/v1​/locations​/{id}​/email​/templates</i> endpoint and create a template using the Primary Business Location Id.</p>","parameters":[{"description":"Email template name","in":"path","name":"templateName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResult"}}},"description":"Success"}},"summary":"Get Email Template","tags":["Companies"]}},"/setup/v1/companies/regions":{"get":{"description":"<p>Use this endpoint to return a list of <b>Regions</b> in the authorized company. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further. </p>","parameters":[{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionListViewModel"}}},"description":"region object's"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Resource was not found"}},"summary":"List Regions","tags":["Companies"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a region object. Regions can be mapped to business locations. They can be used by the locations endpoints to filter locations by region id.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/RegionInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/RegionInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/RegionInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/RegionInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionViewModel"}}},"description":"Success"}},"summary":"Create Region","tags":["Companies"]}},"/setup/v1/companies/regions/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a region object. A valid <b>region id</b> is required. If the region is related to any business locations it won't be deleted. You must first remove any references to region id from the business locations prior to deleting.</p>","parameters":[{"description":"id of Region","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionViewModel"}}},"description":"Success"}},"summary":"Delete Region","tags":["Companies"]},"get":{"description":"<p>Use this endpoint to return a <b>Region</b> object. A valid <b>region id</b> is required.</p>","parameters":[{"description":"id of a region object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionViewModel"}}},"description":"Success"}},"summary":"Get Region","tags":["Companies"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a region object. A valid <b>region id</b> is required.</p>","parameters":[{"description":"id of Region","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/RegionUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/RegionUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/RegionUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/RegionUpdateModel"}}},"description":"Region Update Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionViewModel"}}},"description":"Success"}},"summary":"Update Region","tags":["Companies"]}},"/setup/v1/companies/timezones/{date}":{"get":{"description":"<p>Use this endpoint to return a <b>List of timezone names, timezoneIana and tzOffset values</b> calculated for the date requested. Daylight Savings may or may not apply depending on the date specified.</p>","parameters":[{"description":"\"YYYY-MM-DD: Date for timezone info\"","in":"path","name":"date","required":true,"schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimezoneViewModel"}}},"description":"Success"}},"summary":"List Time Zones","tags":["Companies"]}},"/setup/v1/customers":{"get":{"description":"<p>Use this endpoint to return a <b>List of Customers</b>. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter by groupId","in":"query","name":"groupId","schema":{"type":"string"}},{"description":"Filter by email address.","in":"query","name":"email","schema":{"type":"string"}},{"description":"Search by lastname.","in":"query","name":"lastname","schema":{"type":"string"}},{"description":"Filter by deleted status.","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerListViewModel"}}},"description":"Success"}},"summary":"List Customers","tags":["Customers"]}},"/setup/v1/customers/{id}":{"get":{"description":"<p>Use this endpoint to return a <b>Customer</b> object. A valid <b>customer id</b> is required. Find customer id's by using the <i>GET /setup/v1/customers</i> endpoint.</p>","parameters":[{"description":"id of customer object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerViewModel"}}},"description":"Success"}},"summary":"Get Customer","tags":["Customers"]}},"/setup/v1/customers/{id}/privacy":{"get":{"description":"<p>Use this endpoint to return the <b>Customer</b> object. A valid <b>customer id</b> is required. Find customer id's using the <i>GET /setup/v1/customers</i> endpoint.</p>","parameters":[{"description":"id of customer object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPrivacyViewModel"}}},"description":"Success"}},"summary":"Get Customer Data","tags":["Customers"]}},"/setup/v1/locations":{"get":{"description":"<p>Use this endpoint to <b>List Business Locations</b> associated with your company. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>\r\n<p>\r\n  <b>IMPORTANT DEPRECATION NOTICE</b>: The following online settings parameters were intended for internal use in our Portal application only. They will be deprecated on <b>OCTOBER 15, 2022</b>. These fields are currently part of the <b>SETTINGS</b> object in all location endpoints: <b>businessId, enabled, familyMembersEnabled, serviceLabel, resourceLabel, resourceAnyLabel, resourceSelection, liveMode, formFlow, availabilityForm, showServiceGroups, showOnSchedLogo, showBusinessLogo, disableAuthorization, hideNavBar, hideLocationNav, hideServiceGroupsNav, hideServicesNav, hideContinueBooking, returnToService, returnToAvailability, hideBreadCrumbNav.</b> If you are using these fields, please adjust your code to handle the deprecation or let us know by submitting a ticket to: <b><i>support@onsched.com</i></b> as we do not want to interrupt your existing workflows.</p>","parameters":[{"description":"Location name(full or partial) to filter on","in":"query","name":"name","schema":{"type":"string"}},{"description":"Find locations that offer this service","in":"query","name":"serviceId","schema":{"type":"string"}},{"description":"friendlyId of location","in":"query","name":"friendlyId","schema":{"type":"string"}},{"description":"Filter locations on deleted status","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationListViewModel"}}},"description":"Success"}},"summary":"List Locations","tags":["Locations"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a new business location. The result is a business location object with a GUID assigned to the location.</p>\r\n<p>The <b>name</b> and <b>timezoneName</b> fields are required. The <b>timezoneName</b> must be expressed as an IANA Timezone e.g., <i>America/New_York</i>. Refer to: <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">Timezone Wiki</a> for a listing of IANA time zones.</p>\r\n<p>\r\n  <b>Business hours</b> are set by defining the <b>startTime</b> and <b>endTime</b> values for each day available/open. All days of the week must be provided when setting availability. Days are defined as <b>sun, mon, tue, wed, thu, fri and sat</b>. Start and End Times are entered in <b>military format. e.g., 800 is 8:00am, 2230 is 10:30pm</b>. If there is no physical location and the business hours are irrelevant, set the hours to open 24 hours by setting startTime=0 and endTime=2400. To set a whole day as unavailable, set both the startTime and endTime to 0. </p>\r\n<p>\r\n  <b>Settings</b> can be set here. Booking timer minutes, book ahead restrictions and customer bookings per day are all available here. Please read about the settings scope parameter before setting these values as it may simplify your process.</p>\r\n<p>\r\n  <b>Settings Scope</b> can be set to the company or the business location level. You can have all locations use the same company level settings or individual business locations can define their own, business location scope. If you want to use the company settings throughout all locations, do not pass in <b>settings element</b>. To create business location scoped settings, pass in the <b>settings element</b> with the field values defined in the post body. </p>\r\n<p>\r\n  <b>Appointment Reminders</b> Reminder values are used to define how many hours, days, or weeks (interval value) prior to the appointment to send the reminder. <b>Interval</b> values are used to define the reminder interval: <b>1 = Hours</b>, <b>2 = Days</b> and <b>3 = Weeks</b>. The reminder fields are numbers. If you are using the hours interval, use a number from 1 to 24.</p>\r\n<p>Example 1: <b>emailFirstReminder:  1, emailFirstReminderInterval:  2</b> - results in 1st reminder being sent <b>1 Day before</b> the appointment time.</p>\r\n<p>Example 2: <b>emailSecondReminder: 3, emailSecondReminderInterval: 1</b> - results in 2nd reminder being sent <b>3 Hours before</b> the appointment time.</p>\r\n<p>\r\n  <b>IMPORTANT DEPRECATION NOTICE</b>: The following online settings parameters were intended for internal use in our Portal application only. They will be deprecated on <b>OCTOBER 15, 2022</b>. These fields are currently part of the <b>SETTINGS</b> object in all location endpoints: <b>businessId, enabled, familyMembersEnabled, serviceLabel, resourceLabel, resourceAnyLabel, resourceSelection, liveMode, formFlow, availabilityForm, showServiceGroups, showOnSchedLogo, showBusinessLogo, disableAuthorization, hideNavBar, hideLocationNav, hideServiceGroupsNav, hideServicesNav, hideContinueBooking, returnToService, returnToAvailability, hideBreadCrumbNav.</b> If you are using these fields, please adjust your code to handle the deprecation or let us know by submitting a ticket to: <b><i>support@onsched.com</i></b> as we do not want to interrupt your existing workflows.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/LocationInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/LocationInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/LocationInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/LocationInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Create Location","tags":["Locations"]}},"/setup/v1/locations/bulk":{"post":{"description":"<p>Use this endpoint to <b>Create Bulk</b> business locations. The posted list of locations cannot exceed 100 location objects per transaction for performance purposes. The result is a list of new business location objects with a GUID assigned to each location.</p>\r\n<p>The <b>name</b> and <b>timezoneName</b> fields are required. The <b>timezoneName</b> must be expressed as an IANA Timezone e.g., <i>America/New_York</i>. Refer to: <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">Timezone Wiki</a> for a listing of IANA time zones.</p>\r\n<p>\r\n  <b>Business hours</b> are set by defining the <b>startTime</b> and <b>endTime</b> values for each day available/open. All days of the week must be provided when setting availability. Days are defined as <b>sun, mon, tue, wed, thu, fri and sat</b>. Start and End Times are entered in <b>military format. e.g., 800 is 8:00am, 2230 is 10:30pm</b>. If there is no physical location and the business hours are irrelevant, set the hours to open 24 hours by setting startTime=0 and endTime=2400. To set a whole day as unavailable, set both the startTime and endTime to 0. </p>\r\n<p>\r\n  <b>Settings</b> can be set here. Booking timer minutes, book ahead restrictions and customer bookings per day are all available here. Please read about the settings scope parameter before setting these values as it may simplify your process.</p>\r\n<p>\r\n  <b>Settings Scope</b> can be set to the company or the business location level. You can have all locations use the same company level settings or individual business locations can define their own, business location scope. If you want to use the company settings throughout all locations, do not pass in <b>settings element</b>. To create business location scoped settings, pass in the <b>settings element</b> with the field values defined in the post body. </p>\r\n<p>\r\n  <b>Appointment Reminders</b> Reminder values are used to define how many hours, days, or weeks (interval value) prior to the appointment to send the reminder. <b>Interval</b> values are used to define the reminder interval: <b>1 = Hours</b>, <b>2 = Days</b> and <b>3 = Weeks</b>. The reminder fields are numbers. If you are using the hours interval, use a number from 1 to 24.</p>\r\n<p>Example 1: <b>emailFirstReminder:  1, emailFirstReminderInterval:  2</b> - results in 1st reminder being sent <b>1 Day before</b> the appointment time.</p>\r\n<p>Example 2: <b>emailSecondReminder: 3, emailSecondReminderInterval: 1</b> - results in 2nd reminder being sent <b>3 Hours before</b> the appointment time.</p>\r\n<p>\r\n  <b>IMPORTANT DEPRECATION NOTICE</b>: The following online settings parameters were intended for internal use in our Portal application only. They will be deprecated on <b>OCTOBER 15, 2022</b>. These fields are currently part of the <b>SETTINGS</b> object in all location endpoints: <b>businessId, enabled, familyMembersEnabled, serviceLabel, resourceLabel, resourceAnyLabel, resourceSelection, liveMode, formFlow, availabilityForm, showServiceGroups, showOnSchedLogo, showBusinessLogo, disableAuthorization, hideNavBar, hideLocationNav, hideServiceGroupsNav, hideServicesNav, hideContinueBooking, returnToService, returnToAvailability, hideBreadCrumbNav.</b> If you are using these fields, please adjust your code to handle the deprecation or let us know by submitting a ticket to: <b><i>support@onsched.com</i></b> as we do not want to interrupt your existing workflows.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/LocationsInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/LocationsInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/LocationsInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/LocationsInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LocationViewModel"},"type":"array"}}},"description":"Success"}},"summary":"Create Locations Bulk","tags":["Locations"]}},"/setup/v1/locations/services/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Unlink</b> a location service from a business location. A valid <b>locationService id</b> is required. Find location services by using the <i>GET ​/setup​/v1​/locations​/{id}​/services</i> endpoint. </p>","parameters":[{"description":"id of locationService object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Unlink Service","tags":["Locations"]},"get":{"description":"<p>Use this endpoint to <b>Get a Linked Service</b>. A valid <b>locationService id</b> is required.</p>","parameters":[{"description":"id of locationService object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessServiceViewModel"}}},"description":"location service objects"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Location was not found"}},"summary":"Get Linked Service","tags":["Locations"]}},"/setup/v1/locations/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a business location. A valid business <b>location id</b> is required. The location is not permanently deleted and can be recovered by using the <i>PUT /setup​/v1​/locations​/{id}​/recover</i> endpoint.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Delete Location","tags":["Locations"]},"get":{"description":"<p>Use this endpoint to return a <b>Location</b> object. A valid <b>location id</b> is required. If not specified, the business location defaults to the primary business location. Find all business location id's, by using the <i>GET /consumer/v1/locations</i> endpoint.</p>\r\n<p>\r\n  <b>IMPORTANT DEPRECATION NOTICE</b>: The following online settings parameters were intended for internal use in our Portal application only. They will be deprecated on <b>OCTOBER 15, 2022</b>. These fields are currently part of the <b>SETTINGS</b> object in all location endpoints: <b>businessId, enabled, familyMembersEnabled, serviceLabel, resourceLabel, resourceAnyLabel, resourceSelection, liveMode, formFlow, availabilityForm, showServiceGroups, showOnSchedLogo, showBusinessLogo, disableAuthorization, hideNavBar, hideLocationNav, hideServiceGroupsNav, hideServicesNav, hideContinueBooking, returnToService, returnToAvailability, hideBreadCrumbNav.</b> If you are using these fields, please adjust your code to handle the deprecation or let us know by submitting a ticket to: <b><i>support@onsched.com</i></b> as we do not want to interrupt your existing workflows.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Get Location","tags":["Locations"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a business location object. A valid business <b>location id</b> is required. The optional removeRegion query parameter can be used to remove the region relationship from the location.</p>\r\n<p>If the settings element is populated the scope will be set to the business location with the settings supplied. If your settings are uniform across all locations, then do not supply the settings element and the location will use the settings defined on the primary business location (company scoped). Company scoped settings cascade down to the locations. You can override any location that needs different settings by providing settings in the update model. Use the <i>PUT /setup/v1/locations/{id}/settings/scope/{settingsScope}</i> endpoint to change the settings scope only. This is typically used when switching from business location scope back to company.</p>\r\n<p>Refer to: <i><b>POST ​/setup​/v1​/locations</b></i> endpoint for details.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"removeRegion","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/LocationUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/LocationUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/LocationUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/LocationUpdateModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Update Location","tags":["Locations"]}},"/setup/v1/locations/{id}/appointmentreminders":{"get":{"description":"<p>Use this endpoint to <b>Get Email and SMS appointment reminder settings</b> for the requested location. A valid business <b>location id</b> is required. </p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentReminderViewModel"}}},"description":"Success"}},"summary":"Get Reminders","tags":["Locations"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> Email and SMS appointment reminder settings for the requested location. A valid business <b>location id</b> is required. </p>\r\n<p>\r\n  <b>Appointment Reminders</b> Reminder values are used to define how many hours, days, or weeks (interval value) prior to the appointment to send the reminder. <b>Interval</b> values are used to define the reminder interval: <b>1 = Hours</b>, <b>2 = Days</b> and <b>3 = Weeks</b>. The reminder fields are numbers. If you are using the hours interval, use a number from 1 to 24.</p>\r\n<p>Example 1: <b>emailFirstReminder:  1, emailFirstReminderInterval:  2</b> - results in 1st reminder being sent <b>1 Day before</b> the appointment time.</p>\r\n<p>Example 2: <b>emailSecondReminder: 3, emailSecondReminderInterval: 1</b> - results in 2nd reminder being sent <b>3 Hours before</b> the appointment time.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"}}},"description":"input model for reminders"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Update Reminders","tags":["Locations"]}},"/setup/v1/locations/{id}/deleteallimages":{"delete":{"description":"<p>Use this endpoint to <b>Delete All</b> location images from the location blob storage container. An option exists to use upper case for matching the subdirectory name. Legacy apps stored pics using upper case while the API uses lower case names.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"uppercase","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Success"}},"summary":"Delete All Location Images","tags":["Locations"]}},"/setup/v1/locations/{id}/deleteimage":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a previously uploaded location image. A valid business <b>location id</b> is required.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Delete Location Image","tags":["Locations"]}},"/setup/v1/locations/{id}/email/templates":{"get":{"description":"<p>Use this endpoint to return a <b>List of Email Templates</b> that are provided and may be customized. If the template has been customized, the customized property is true. The scope parameter indicates if the email template has been customized. This endpoint returns <b>only company level templates</b>, so the scope is always company.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateListViewModel"}}},"description":"Success"}},"summary":"List Email Templates","tags":["Locations"]},"post":{"description":"<p>Use this endpoint to a <b>Create</b> a Custom Email Template. You must convert the content to a base64 encoded string. Updates to the primary business location create company scoped custom templates. Updates to non-primary business locations create business location scoped custom templates. The master template cannot be updated with this endpoint.</p>\r\n<p>The email template endpoints work a little differently than most. There are no endpoints to update the templates, we use the post endpoint to create a custom template instead. This endpoint creates a new email template that will be used instead. If you delete it, you are deleting the custom template you created and the original default template created by OnSched will be reactivated.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/EmailTemplateInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/EmailTemplateInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateInputModel"}}},"description":"Input model for email template"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResult"}}},"description":"Success"}},"summary":"Create Custom Template","tags":["Locations"]}},"/setup/v1/locations/{id}/email/templates/master":{"delete":{"description":"<p>Use this endpoint to <b>Delete Custom Master Email Template Settings</b>. A valid business <b>location id</b> is required. Deleting a custom master email template will reactivate the original default OnSched template settings.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Delete Master Template Settings","tags":["Locations"]},"get":{"description":"<p>Use this endpoint to get <b>Master Email Template Settings</b>. A valid business <b>location id</b> is required. Settings exist for showing or hiding panels and for changing color schemes. </p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Get Master Template Settings","tags":["Locations"]},"post":{"description":"<p>Use this endpoint to <b>Create Custom Master Email Template Settings</b>. A valid business <b>location id</b> is required. Settings exist for showing or hiding email panels and for changing color schemes. Use the <i>GET ​/setup​/v1​/locations​/{id}​/email​/templates​/masterSettings</i> endpoint to display the settings offered. Changes to the Master Template Settings will be reflected in all business locations associated with this company. </p>\r\n<p>The email template endpoints work a little differently than most. There are no endpoints to update the templates, we use the post endpoint to create a custom template instead. This endpoint creates a new custom Master Template Settings file that will be used instead. If you delete it, you are deleting the custom template settings you created and the original default Master Template created by OnSched would be reactivated.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/MasterTemplateSettingsInputModel"}}},"description":"Input model for master email template settings"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterEmailTemplateSettingsViewModel"}}},"description":"Success"}},"summary":"Create Master Template Settings","tags":["Locations"]}},"/setup/v1/locations/{id}/email/templates/{templateName}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a Custom Email Template that was previously created. A valid business <b>location id</b> and email <b>templateName</b> are required. Deleting a custom email template will revert the template back to its default originally created by OnSched. Changes will be reflected in all business locations associated with this company.</p>\r\n<p>The email template endpoints work a little differently than most. When you delete you are deleting the custom template you created, and the original default Email Template created by OnSched will be reactivated.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Name of the email template","in":"path","name":"templateName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResult"}}},"description":"Success"}},"summary":"Delete Custom Template","tags":["Locations"]},"get":{"description":"<p>Use this endpoint to return the requested <b>Email Template</b>. The template is from the primary business location. If it wasn't customized the default template is returned. The response content is in html format. A valid <b>emailTemplate name</b> is required. Find template names by using the <i>GET ​/setup​/v1​/locations​/{id}​/email​/templates</i> endpoint. Note: The master template cannot be accessed here. </p>","parameters":[{"description":"id of business location","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"name of the email template","in":"path","name":"templateName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResult"}}},"description":"Success"}},"summary":"Get Email Template","tags":["Locations"]}},"/setup/v1/locations/{id}/google/service/account":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> authorized access to all google calendar users in your organization. Upon deletion Google Calendars will no longer be synced for resources.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"summary":"Delete Google Cal Access","tags":["Locations"]},"post":{"description":"<p>Use this endpoint to <b>Authorize Access</b> to google calendar users in your organization. You must create/have a Google Service account as an admin of your GSuite, then save the credentials as a Json Key file. This <b>Json Key</b> and a valid business <b>location id</b> are required. </p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/GoogleServiceAccountCreds"}},"application/json":{"schema":{"$ref":"#/components/schemas/GoogleServiceAccountCreds"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/GoogleServiceAccountCreds"}},"text/json":{"schema":{"$ref":"#/components/schemas/GoogleServiceAccountCreds"}}},"description":"Generated Json Key file from Google"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleServiceAccountCreds"}}},"description":"Success"}},"summary":"Create Google Cal Access","tags":["Locations"]}},"/setup/v1/locations/{id}/holidays/{holidayId}/{closed}":{"put":{"description":"<p>Use this endpoint to <b>Update</b> Business Holidays as Opened or Closed. A valid business <b>location id</b> is required. If not specified, the business location defaults to the primary business location.</p>\r\n<p>Holidays are automatically defined with the initial Post Location endpoint and are based on country code. Find your location holiday codes by using the: <i>GET /setup​/v1​/locations​/{id}</i> endpoint. Change your holidays to open or closed by passing in the <b>holidayId</b> along with the <b>closed</b> boolean value to change the status of a specific holiday. Pass in an <b>asterisk *</b> for the holidayId then all business holidays will be set as defined.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"holidayId","required":true,"schema":{"type":"string"}},{"in":"path","name":"closed","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Update Location Holidays","tags":["Locations"]}},"/setup/v1/locations/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a deleted business location. A valid business <b>location id</b> is required.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Recover Location","tags":["Locations"]}},"/setup/v1/locations/{id}/services":{"delete":{"description":"<p>Use this endpoint to <b>Delete All</b> location linked services from a business location. A valid business <b>location id</b> is required. </p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Delete Linked Services","tags":["Locations"]},"get":{"description":"<p>Use this endpoint to return a list of <b>Location Linked Services</b>. A valid business <b>location id</b> is required. By default, there are no location linked services attached to a location. Refer to the: <i>POST /setup​/v1​/locations​/{id}​/services</i> for details. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessServiceListViewModel"}}},"description":"location service objects"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error"},"404":{"description":"Location was not found"}},"summary":"List Location Linked Services","tags":["Locations"]},"post":{"description":"<p>Use this endpoint to <b>Link Services</b> to a location object. A valid business <b>location id</b> is required. By default, there are <i>no services linked</i> to a location. </p>\r\n<p>Services are definable globally at the Company level and associated with the Primary Business Location, or at a Secondary Business Location. When accessing the Services endpoints, by default, API consumers are provided with a <b>combined</b> list of Services defined from both the Primary and Secondary Business Location.</p>\r\n<p>If necessary, the list of Service(s) provided can be cherry-picked/linked to <b>only include specific Service(s)</b> by using this endpoint. This allows for a subset of defined Services to be provided for a location.</p>\r\n<p>Supplying the list of services ids to cherry-pick/link to the location in the request body will explicitly define which Primary Location Services are offered by the specified business location.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json-patch+json":{"schema":{"items":{"type":"string"},"type":"array"}},"text/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"array of valid service object id's"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Create Linked Service","tags":["Locations"]}},"/setup/v1/locations/{id}/settings/scope/{settingsScope}":{"put":{"description":"<p>Use this endpoint to <b>Update</b> a business locations online booking settings scope. A valid business <b>location id</b> is required.</p>\r\n<p>\r\n  <b>settingsScope</b> values are <b>0 = company scope, 1 = business location scope</b>. To inherit the online settings defined in the primary business location, then use value = 0 for company scope. Otherwise, to override the settings for a specific location then use value = 1 for business location scope. <b>Note</b>: You cannot change the settings scope of the Primary Business Location.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"settingsScope","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Update Location Scope","tags":["Locations"]}},"/setup/v1/locations/{id}/uploadimage":{"post":{"description":"<p>Use this endpoint to <b>Upload</b> an image to a location object. A valid business <b>location id</b> is required. You must convert the image to a <b>base64 encoded string</b> and pass that string as input along with your <b>filename</b>.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}}},"description":"Input model for image upload"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationViewModel"}}},"description":"Success"}},"summary":"Upload Location Image","tags":["Locations"]}},"/setup/v1/resourcegroups":{"get":{"description":"<p>Use this endpoint to <b>List Resource Groups</b> for the specified location. If not specified, the business location defaults to the primary business location. <b>Name</b> is a required field.</p>\r\n<p>Use the offset and limit parameters to control the page start and size. Default offset is 0, limit is 20, maximum is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter results by deleted status","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupListViewModel"}}},"description":"Success"}},"summary":"List Resource Groups","tags":["ResourceGroups"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a resourceGroup object. Resource groups are used to categorize your resources.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceGroupInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceGroupInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupInputModel"}}},"description":"Resource input model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupViewModel"}}},"description":"Success"}},"summary":"Create Resource Group","tags":["ResourceGroups"]}},"/setup/v1/resourcegroups/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a resourceGroup object. A valid <b>resourceGroup id</b> is required. The resource group is not permanently deleted and can be recovered by using the <i>PUT ​/setup​/v1​/resourcegroups​/{id}​/recover</i> endpoint.</p>","parameters":[{"description":"id of resourceGroup object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupViewModel"}}},"description":"Success"}},"summary":"Delete Resource Group","tags":["ResourceGroups"]},"get":{"description":"<p>Use this endpoint to return a <b>Resource Group</b> object. A valid <b>resourceGroup id</b> is required. Find resourceGroup id's by using the <i>GET setup/v1/resourceGroups</i> endpoint.</p>","parameters":[{"description":"id of resourceGroup object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupViewModel"}}},"description":"Success"}},"summary":"Get Resource Group","tags":["ResourceGroups"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a resourceGroup object. A valid <b>resourceGroup id</b> is required. </p>","parameters":[{"description":"id of resourcGroup object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceGroupUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceGroupUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupUpdateModel"}}},"description":"Resource Group Update Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceGroupViewModel"}}},"description":"Success"}},"summary":"Update Resource Group","tags":["ResourceGroups"]}},"/setup/v1/resourcegroups/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a deleted resourceGroup object. A valid <b>resourceGroup id</b> is required.</p>","parameters":[{"description":"id of resourceGroup object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Recover Resource Group","tags":["ResourceGroups"]}},"/setup/v1/resources":{"get":{"description":"<p>Use this endpoint to return a <b>List of Resources</b>. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter by group Id","in":"query","name":"resourceGroupId","schema":{"type":"string"}},{"description":"Filter by email address","in":"query","name":"email","schema":{"type":"string"}},{"description":"Search by name","in":"query","name":"name","schema":{"type":"string"}},{"description":"Show by deleted status, default is false","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max is 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceListViewModel"}}},"description":"resource object"},"400":{"description":"Missing or invalid values in the request"},"404":{"description":"Resource was not found"}},"summary":"List Resources","tags":["Resources"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a new resource.</p>\r\n<p>Required Fields: <b>Email Address</b> and <b>Name</b></p>\r\n<p>Providing a single or many serviceId(s) in the service array will result the resource explicitly being available to provide those services only. While passing in an empty array will result in all services being available to the resources. This includes all company and business scoped services. See the <i>POST ​/setup​/v1​/resources​/{id}​/services</i> endpoint for details about explicitly linking services.</p>\r\n<p>Set the resource availability type by using the <b>recurringAvailability</b> flag. Set recurringAvailability to <b>True</b> for <b>Weekly Availability</b> or <b>False</b> for <b>Resource Allocations</b>.</p>","parameters":[{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceInputModel"}}},"description":"Resource input model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Create Resource","tags":["Resources"]}},"/setup/v1/resources/allocations/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a Resource Allocation. A valid <b>resourceAllocation id</b> is required.</p>","parameters":[{"description":"id of resourceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Delete Allocation","tags":["Resources"]},"get":{"description":"<p>Use this endpoint to return a <b>Resource Allocation</b>. A valid <b>resourceAllocation id</b> is required. </p>","parameters":[{"description":"id of resourceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationViewModel"}}},"description":"Success"}},"summary":"Get Allocation","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a resource allocation. A valid <b>resourceAllocation id</b> is required. Refer to the <i>POST /setup/v1/resources/{id}/allocations</i> endpoint for details.</p>","parameters":[{"description":"id of resourceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationUpdateModel"}}},"description":"Resource allocation update model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Update Allocation","tags":["Resources"]}},"/setup/v1/resources/block/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a Resource Block. A valid <b>resourceBlock id</b> is required.</p>","parameters":[{"description":"id of resourceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Delete Block","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a Resource Block. A valid <b>resourceBlock id</b> is required. Refer to the <i>POST ​/setup​/v1​/resources​/{id}​/block</i> endpoint for fieldnames and details.</p>","parameters":[{"description":"id of resourceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceBlockUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceBlockUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockUpdateModel"}}},"description":"Resource Block update model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Update Block","tags":["Resources"]}},"/setup/v1/resources/blocks/{id}":{"get":{"description":"<p>Use this endpoint to <b>Get</b> a Resource Block. A valid <b>resourceBlock id</b> is required.</p>","parameters":[{"description":"id of resourceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Get Block","tags":["Resources"]}},"/setup/v1/resources/bulk":{"post":{"description":"<p>Use this endpoint to <b>Bulk Create</b> resources. Valid <b>resource ids</b> are required. The posted list of resources cannot exceed 100 resource objects per transaction for performance purposes.</p>\r\n<p>Required Fields: <b>Email Address</b> and <b>Name</b></p>\r\n<p>Providing a single or many serviceId(s) in the service array will result the resource explicitly being available to provide those services only. While passing in an empty array will result in all services being available to the resources. This includes all company and business scoped services. See the <i>POST ​/setup​/v1​/resources​/{id}​/services</i> endpoint for details about explicitly linking services.</p>\r\n<p>Set the resource availability type by using the <b>recurringAvailability</b> flag. Set recurringAvailability to <b>True</b> for <b>Weekly Availability</b> or <b>False</b> for <b>Resource Allocations</b>.</p>","parameters":[{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourcesInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourcesInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourcesInputModel"}}},"description":"Resources input model"},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceViewModel"},"type":"array"}}},"description":"Success"}},"summary":"Create Resources Bulk","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Bulk Update</b> resources. Valid <b>resource id's</b> are required. The list of resources cannot exceed 100 resource objects per transaction for performance purposes.</p>\r\n<p>Required Fields: <b>Email Address</b> and <b>Name</b></p>\r\n<p>Providing a single or many serviceId(s) in the service array will result the resource explicitly being available to provide those services only. While passing in an empty array will result in all services being available to the resources. This includes all company and business scoped services. See the <i>POST ​/setup​/v1​/resources​/{id}​/services</i> endpoint for details about explicitly linking services.</p>\r\n<p>Set the resource availability type by using the <b>recurringAvailability</b> flag. Set recurringAvailability to <b>True</b> for <b>Weekly Availability</b> or <b>False</b> for <b>Resource Allocations</b>.</p>","parameters":[{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourcesUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourcesUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourcesUpdateModel"}}},"description":"Resources update model"},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceViewModel"},"type":"array"}}},"description":"Success"}},"summary":"Update Resources Bulk","tags":["Resources"]}},"/setup/v1/resources/timezones":{"get":{"description":"<p>Use this endpoint to return a <b>List of Time Zones</b>.</p>","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemTimezoneViewModel"}}},"description":"Success"}},"summary":"Get Time Zones","tags":["Resources"]}},"/setup/v1/resources/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a resource. The resource is not permanently deleted and can be recovered. A valid <b>resource id</b> is required.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Delete Resource","tags":["Resources"]},"get":{"description":"<p>Use this endpoint to return a <b>Resource</b> object. A valid <b>resource id</b> is required. Find resource id's by using the: <i>GET /setup/v1/resources</i> endpoint.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Get Resource","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a resource. A valid <b>resource id</b> is required.</p>\r\n<p>Required Fields: <b>Email Address</b> and <b>Name</b></p>\r\n<p>Providing a single or many serviceId(s) in the service array will result the resource explicitly being available to provide those services only. While passing in an empty array will result in all services being available to the resources. This includes all company and business scoped services. See the <i>POST ​/setup​/v1​/resources​/{id}​/services</i> endpoint for details about explicitly linking services.</p>\r\n<p>Set the resource availability type by using the <b>recurringAvailability</b> flag. Set recurringAvailability to <b>True</b> for <b>Weekly Availability</b> or <b>False</b> for <b>Resource Allocations</b>.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateModel"}}},"description":"Resource Update Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Update Resource","tags":["Resources"]}},"/setup/v1/resources/{id}/allocations":{"get":{"description":"<p>Use this endpoint to return a list of <b>Resource Allocations</b> for a specified resource. We recommend using allocations if a resource's schedule changes frequently from day to day or week to week. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of resource to list allocations for","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"yyyy-mm-dd, filter allocations on/after startDate","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"yyyy-mm-dd, filter on/before endDate","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationListViewModel"}}},"description":"resource allocation objects"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Resource was not found"}},"summary":"List Resource Allocations","tags":["Resources"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a resource allocation for a resource. A valid <b>resource id</b> is required.</p>\r\n<p>Required fields: <b>startDate, endDate, startTime, endTime</b> and <b>reason</b>. Resource allocations can be set to specific time ranges or for the whole day by setting startTime=0 and endTime=2400. They can repeat for a specific date range instance or set to repeat at a specified frequency.</p>\r\n<p>\r\n  <b>Repeat object: (repeats = true)</b>\r\n</p>\r\n<p>The <b>frequency</b> can be set to a value of <b>D, W or M </b>for <b>Day, Week</b> or <b>Month</b> respectively.</p>\r\n<p>Use the <b>interval</b> property to specify the interval that the allocation repeats. For example, an interval of 2 for a weekly allocation means that the allocation will repeat every 2nd week beginning at the day specified. A daily allocation with an interval of 10 means the allocation will repeat every 10 days. The interval property applies to all repeat frequencies.  <b>If using the repeat functionality an interval value is required</b>.</p>\r\n<p>\r\n  <b>DAILY ALLOCATIONS</b>: Will repeat for each day of the week for the date range specified for the interval specified.  An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.</p>\r\n<p>\r\n  <b>WEEKLY ALLOCATIONS</b>: Will repeat only on the specified days of the week for the date range specified. For weekly the <b>frequency</b> is required and should be set to <b>“W”</b>. You must specify the <b>“weekdays”</b> parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are <b>0,1,2,3,4,5,6</b> where <b>0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday</b>.  For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the allocation date range.</p>\r\n<p>\r\n  <b>MONTHLY ALLOCATIONS</b>: Will repeat either on the day of the month specified in the <b>monthDay</b> property or on the day of the week and week of the month specified by the <b>monthType</b> property.  In both cases <b>frequency</b> is required and should be set to <b>“M”</b>, monthly. <b>monthDay</b> is the day of the month you want allocated.  If monthDay=’15’ this means to allocate the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario.  There are two possible values for monthType: <b>D for Day of Month</b> or <b>W for Week of Month.</b> For <b>monthType D</b>, monthDay value must be between 1 and 31. It is the day of the month to repeat on.  For <b>monthType M</b>, monthDay value contains 2 digits:  day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”.</p>\r\n<p>\r\n  <b>Repeats will end on the date specified by the end date.</b>\r\n</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceAllocationInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Create Allocation","tags":["Resources"]}},"/setup/v1/resources/{id}/availability":{"get":{"description":"<p>Use this endpoint to view the <b>Weekly Availability</b> for a resource. The displayed available times are represented in the resource's timezone. The resource timezone can be set to any world timezone. If not provided, by default it is set to the Business timezone.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAvailabilityViewModel"}}},"description":"Success"}},"summary":"List Weekly Availability","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> resource weekly availability. A valid <b>resource id</b> is required. The availability day entries are created when a resource object is created.</p>\r\n<p>To update weekly availability hours, all days of the week must be provided. Days are defined as <b>sun, mon, tue, wed, thu, fri</b> and <b>sat</b>. The <b>startTime</b> and <b>endTime</b> fields are entered in <b>military format. e.g., 800 is 8:00am, 2230 is 10:30pm</b>. We support 24-hour availability, set startTime=0 and endTime=2400. To set a whole day as unavailable, set both the startTime and endTime to 0.</p>\r\n<p>If you require times in between specified hours to be unavailable, use the resource blocks endpoints. Times entered represent the timezone of the resource. Resources can be set to any world timezone. </p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}}},"description":"Resource Availability Input Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAvailabilityViewModel"}}},"description":"Success"}},"summary":"Update Weekly Availability","tags":["Resources"]}},"/setup/v1/resources/{id}/block":{"post":{"description":"<p>Use this endpoint to <b>Create</b> a Resource Block. A valid <b>resource id</b> is required.</p>\r\n<p>Required fields: <b>startDate, endDate, startTime, endTime</b> and <b>reason</b>.</p>\r\n<p>Resource blocks can be set to specific time ranges or for the whole day. Use the <b>AllDay</b> setting to create an all-day block. <b>AllDay</b> will automatically set startTime to 0 and endTime to 2400.</p>\r\n<p>Resource blocks can be for a specific date range instance or set to repeat at a specified frequency. </p>\r\n<p>\r\n  <b>Repeat object: (repeats = true)</b>\r\n</p>\r\n<p>The <b>frequency</b> can be set to a value of <b>D, W or M</b> for <b>Day, Week</b> or <b>Month</b> respectively.</p>\r\n<p>Use the <b>interval</b> property to specify the interval that the block repeats. For example, an interval of 2 for a weekly block means that the block will repeat every 2nd week beginning at the day specified. A daily block with an interval of 10 means the block will repeat every 10 days. The interval property applies to all repeat frequencies. <b>If using the repeat functionality an interval value is required</b>.</p>\r\n<p>\r\n  <b>DAILY BLOCKS</b>: Will repeat for each day of the week for the date range specified for the interval specified.  An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.</p>\r\n<p>\r\n  <b>WEEKLY BLOCKS</b>: Will repeat only on the specified days of the week for the date range specified. For weekly the <b>frequency</b> is required and should be set to <b>“W”</b>.  You must specify the <b>weekdays</b> parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are <b>0,1,2,3,4,5,6</b> where <b>0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday</b>. For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the block date range.</p>\r\n<p>\r\n  <b>MONTHLY BLOCKS</b>: Will repeat either on the day of the month specified in the <b>monthDay</b> property or on the day of the week and week of the month specified by the <b>monthType</b> property.  In both cases <b>frequency</b> is required and should be set to <b>“M”</b>, monthly, <b>monthDay</b> is the day of the month you want blocked.  If monthDay=’15’ this means to block the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario.  There are two possible values for monthType: <b>D for Day of Month</b> or <b>W for Week of Month.</b> For <b>monthType D</b>, monthDay value must be between 1 and 31. It is the day of the month to repeat on. For <b>monthType M</b>, monthDay value contains 2 digits: day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”. </p>\r\n<p>\r\n  <b>Repeats will end on the date specified by the end date.</b>\r\n</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceBlockInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceBlockInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Create Block","tags":["Resources"]}},"/setup/v1/resources/{id}/blocks":{"get":{"description":"<p>Use this endpoint to return a list of <b>Resource Blocks</b>. A valid <b>resource id</b> is required. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of resource to list blocks for","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"YYYY-MM-DD, filter blocks on/after startDate","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"YYYY-MM-DD, filter on/before endDate","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockListViewModel"}}},"description":"resource block object's"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Resource was not found"}},"summary":"List Resource Blocks","tags":["Resources"]}},"/setup/v1/resources/{id}/calendar/auth/google/{googleEmailAddress}":{"get":{"description":"<p>Use this endpoint to return the <b>Resources Google Calendar Authorization URL</b>. A valid <b>resource id</b> and <b>Google Email Address</b> are required.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Email address of Google Calendar","in":"path","name":"googleEmailAddress","required":true,"schema":{"type":"string"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAuthViewModel"}}},"description":"Success"}},"summary":"Get Resource Google URL","tags":["Resources"]}},"/setup/v1/resources/{id}/calendar/auth/outlook/{outlookEmailAddress}":{"get":{"description":"<p>Use this endpoint to return the <b>Resources Outlook Calendar Authorization URL</b>. A valid <b>resource id</b> and <b>Outlook Email Address</b> are required.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Email address of Outlook Calendar","in":"path","name":"outlookEmailAddress","required":true,"schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAuthViewModel"}}},"description":"Success"}},"summary":"Get Resource Outlook URL","tags":["Resources"]}},"/setup/v1/resources/{id}/deleteimage":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a previously uploaded resource image. A valid <b>resource id</b> is required.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Delete Resource Image","tags":["Resources"]}},"/setup/v1/resources/{id}/reassign/appointments/{resourceId}":{"put":{"description":"<p>Use this endpoint to <b>Reassign</b> appointments from one resource to another. If the startDate is not supplied, the default is today's date + 1 day; If the endDate is not supplied, all future appointments from the start date will be reassigned. If the calendar id is not supplied the default is the primary calendar of the location.</p>","parameters":[{"description":"id of the original resource","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"id of the target resource","in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"description":"YYYY-MM-DD, Appt range start date","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"YYYY-MM-DD, Appt range end date","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"CalendarId of calendar containing appointments","in":"query","name":"calendarId","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AppointmentViewModel"},"type":"array"}}},"description":"Success"}},"summary":"Reassign Resource","tags":["Resources"]}},"/setup/v1/resources/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a deleted resource. A valid <b>resource id</b> is required.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Recover Resource","tags":["Resources"]}},"/setup/v1/resources/{id}/services":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> linked services from a Resource, i.e. unlink the services. A valid <b>resource id</b> is required. Once deleted, all services become available to the resource.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Delete Linked Services","tags":["Resources"]},"post":{"description":"<p>Use this endpoint to explicitly <b>Link Services</b> to a Resource. A valid <b>resource id</b> is required.</p>\r\n<p>\r\n  <b>Note:</b> By default, the services array is empty which signifies that all services are provided by the resource. Linking services here will add to the linked service(s) array available to this resource. This will limit the services available to the resource.</p>\r\n<p>You cannot post services that already exist in the array, you can only add new ones. Use the <i>PUT ​/setup​/v1​/resources​/{id}​/services</i> endpoint to update the entire list.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json-patch+json":{"schema":{"items":{"type":"string"},"type":"array"}},"text/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"Array of valid service object id's"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Create Linked Services","tags":["Resources"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> the linked services of a Resource. A valid <b>resource id</b> is required.</p>\r\n<p>Updating services with this endpoint will update the linked services available to the resource. Only those services will be available to the resource.</p>\r\n<p>\r\n  <b>Note:</b> This is a destructive process, any existing linked services will be removed and replaced with the list of services supplied here. Provide the resources complete list of services when using this endpoint.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json":{"schema":{"items":{"type":"string"},"type":"array"}},"application/json-patch+json":{"schema":{"items":{"type":"string"},"type":"array"}},"text/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"Array of valid service object id's"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Update Linked Services","tags":["Resources"]}},"/setup/v1/resources/{id}/uploadimage":{"post":{"description":"<p>Use this endpoint to <b>Upload</b> a resource image to the resource. A valid <b>resource id</b> is required. You must convert the image to a <b>base64 encoded string</b> and pass that string as input along with your <b>filename</b>.</p>","parameters":[{"description":"id of resource object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ResourceImageInputModel"}}},"description":"Input model for image upload"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceViewModel"}}},"description":"Success"}},"summary":"Upload Resource Image","tags":["Resources"]}},"/setup/v1/servicegroups":{"get":{"description":"<p>Use this endpoint to return a list of <b>Service Groups</b> for the requested location. If no business location is specified it will default to the Primary Business Location of the company. Use the offset and limit parameters to control the page start and size. Default offset is 0, limit is 20, maximum is 100. Use the other query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupListViewModel"}}},"description":"Success"}},"summary":"List Service Groups","tags":["ServiceGroups"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a Service Group. If no locationId is specified in the body, the business location will default to the primary business location. Service groups are used to categorize services. Service groups are optional and only make sense if you have multiple services that will be easier read if categorized. Only the service group Type of 0 is supported by the API. It defaults to 0 if not supplied.</p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupViewModel"}}},"description":"Success"}},"summary":"Create Service Group","tags":["ServiceGroups"]}},"/setup/v1/servicegroups/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a Service Group object. A valid <b>serviceGroup id</b> is required. The service group is not permanently deleted and can be recovered by using the <i>PUT ​/setup​/v1​/servicegroups​/{id}​/recover</i> endpoint.</p>","parameters":[{"description":"id of serviceGroup object","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupViewModel"}}},"description":"Success"}},"summary":"Delete Service Group","tags":["ServiceGroups"]},"get":{"description":"<p>Use this endpoint to return a <b>Service Group</b> object. A valid <b>serviceGroup id</b> is required. Find service group id's by using the <i>GET /setup/v1/serviceGroups</i> endpoint.</p>","parameters":[{"description":"id of serviceGroup object","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupViewModel"}}},"description":"Success"}},"summary":"Get Service Group","tags":["ServiceGroups"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a Service Group object. A valid <b>serviceGroup id</b> is required. </p>","parameters":[{"description":"id of serviceGroup object","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupViewModel"}}},"description":"Success"}},"summary":"Update Service Group","tags":["ServiceGroups"]}},"/setup/v1/servicegroups/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a deleted Service Group. A valid <b>serviceGroup id</b> is required. </p>","parameters":[{"description":"id of serviceGroup object","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGroupViewModel"}}},"description":"Success"}},"summary":"Recover Service Group","tags":["ServiceGroups"]}},"/setup/v1/services":{"get":{"description":"<p>Use this endpoint to return a <b>List of Service</b>. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"Filter services by groupId","in":"query","name":"serviceGroupId","schema":{"format":"int32","type":"integer"}},{"description":"Filter by deleted status","in":"query","name":"deleted","schema":{"type":"boolean"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceListViewModel"}}},"description":"Success"}},"summary":"List Services","tags":["Services"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a new service. If not specified, the business location defaults to the primary business location. Note: Posting a service to the Primary Business Location will scope as company scoped and make the service available to all locations. If you want a service to only be available from a specific location, include the business location id.</p>\r\n<p>Required fields: <b>Name</b> and <b>Duration</b></p>\r\n<p>The service <b>Type</b> is either, <b>1 = Appointment</b> or <b>2 = Event</b>. Default is 1 if not specified.</p>\r\n<p>For type = 1, Appointments - Create an availability entry for each weekday to provide the service for. <b>All days of the week must be provided when adding service availability.</b> Days are defined as <b>sun, mon, tue, wed, thu, fri</b> and <b>sat</b>. Start and End Times are entered in military format. e.g., 800 is 8:00am, 2230 is 10:30pm. If not provided, it defaults to the primary location business hours.</p>\r\n<p>We support 24-hour availability, set startTime=0 and endTime=2400. To set a whole day as unavailable, set both the startTime and endTime to 0. If you require times in between specified hours to be unavailable, use the service block endpoint at: <i>POST ​/setup​/v1​/services​/{id}​/block</i>.</p>\r\n<p>For type = 2, Events - Create service allocations for their availability. Refer to the: <i>POST /setup​/v1​/services​/{id}​/allocations</i> to set up service allocations for the event.</p>\r\n<p>Options are available for customer selected durations, for details: <a href=\"https://docs.onsched.com/docs/services-overview#variable-duration\">Variable Duration Overview</a></p>\r\n<p>Additional parameters include but are not limited to bookingLimit, maxCapacity and maxGroupSize. For details: <a href=\"https://docs.onsched.com/docs/service-max-capacity\">Service Limits Overview</a></p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Create Service","tags":["Services"]}},"/setup/v1/services/allocations/{id}":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a service allocation. A valid <b>serviceAllocation id</b> is required.</p>","parameters":[{"description":"id of serviceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationViewModel"}}},"description":"Success"}},"summary":"Delete Allocation","tags":["Services"]},"get":{"description":"<p>Use this endpoint to <b>Get a Service Allocation</b>. A valid <b>serviceAllocation id</b> is required.</p>","parameters":[{"description":"id of serviceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationViewModel"}}},"description":"Success"}},"summary":"Get Allocation","tags":["Services"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a service allocation. A valid <b>serviceAllocation id</b> is required. Refer to the <i>POST /setup/v1/services/{id}/allocations</i> endpoint for fields names and details.</p>","parameters":[{"description":"id of serviceAllocation object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationUpdateModel"}}},"description":"Service allocation update model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationViewModel"}}},"description":"Success"}},"summary":"Update Allocation","tags":["Services"]}},"/setup/v1/services/block/{id}":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a Service Block. A valid <b>serviceBlock id</b> is required.</p>","parameters":[{"description":"id of serviceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Delete Block","tags":["Services"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a Service Block. A valid <b>serviceBlock id</b> is required.</p>","parameters":[{"description":"id of serviceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceBlockUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceBlockUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockUpdateModel"}}},"description":"Service Block update model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockViewModel"}}},"description":"Success"}},"summary":"Update Block","tags":["Services"]}},"/setup/v1/services/blocks/{id}":{"get":{"description":"<p>Use this endpoint to <b>Get a Service Block</b>. A valid <b>serviceBlock id</b> is required.</p>","parameters":[{"description":"id of serviceBlock object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceBlockViewModel"}}},"description":"Success"}},"summary":"Get Block","tags":["Services"]}},"/setup/v1/services/calendar":{"post":{"description":"<p>Use this endpoint to <b>Link a Service</b> to a calendar. </p>","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarInputModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarViewModel"}}},"description":"Success"}},"summary":"Link Service to Calendar","tags":["Services"]}},"/setup/v1/services/calendar/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> service links from the calendar specified. A valid <b>calendar id</b> is required.</p>","parameters":[{"description":"id of calender to delete service links from","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarViewModel"}}},"description":"Success"}},"summary":"Delete Service Links","tags":["Services"]}},"/setup/v1/services/{id}":{"delete":{"description":"<p>Use this endpoint to <b>Delete</b> a service object. A valid <b>service id</b> is required. The service is not permanently deleted and can be recovered by using the <i>PUT /setup​/v1​/services​/{id}​/recover</i> endpoint.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Delete Service","tags":["Services"]},"get":{"description":"<p>Use this endpoint to return a <b>Service</b> object. A valid <b>service id</b> is required. Find service id's by using the <i>GET /setup/v1/services</i> endpoint.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Get Service","tags":["Services"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> a service object. A valid <b>service id</b> is required.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceUpdateModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUpdateModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceUpdateModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Update Service","tags":["Services"]}},"/setup/v1/services/{id}/allocations":{"get":{"description":"<p>Use this endpoint to return a <b>List of Service Allocations</b> for a specified service. A valid <b>service id</b> is required. Service allocations are used for <b>Event type services only</b> where the events are offered on specific dates and times. Retrieve all allocations for a location by passing in 0 as the service id.</p>\r\n<p>The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of  service to list allocations for, 0 for all","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The id of the location. Defaults to the primary location","in":"query","name":"locationId","schema":{"type":"string"}},{"description":"The id of the resource to filter on","in":"query","name":"resourceId","schema":{"type":"string"}},{"description":"Format YYYY-MM-DD. Filter appointments by on/after startDate","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"Format YYYY-MM-DD. Filter appointments on/before endDate","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationListViewModel"}}},"description":"service alloaction object"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Service was not found"}},"summary":"List Service Allocations","tags":["Services"]},"post":{"description":"<p>Use this endpoint to <b>Create</b> a service allocation for a service. A valid <b>service id</b> is required. Service allocations are used for <b>Event type services only</b>. Service allocations allow you to specify the time(s) a service is available as opposed to using weekly availability which represents a weekly schedule, ie: Mon-Fri 9am-5pm.</p>\r\n<p>Required fields: <b>startDate, endDate, startTime, endTime</b> and <b>reason</b>. Service allocations can be set to specific time ranges or for the whole day by setting startTime=0 and endTime=2400. Service allocations can repeat for a specific date range instance or set to repeat at a specified frequency.</p>\r\n<p>\r\n  <b>Repeat object: (repeats = true)</b>\r\n</p>\r\n<p>The <b>frequency</b> can be set to a value of <b>D, W or M</b> for <b>Day, Week</b> or <b>Month</b> respectively.</p>\r\n<p>Use the <b>interval</b> property to specify the interval that the allocation repeats. For example, an interval of 2 for a weekly allocation means that the allocation will repeat every 2nd week beginning at the day specified. A daily allocation with an interval of 10 means the allocation will repeat every 10 days. The interval property applies to all repeat frequencies.  <b>If using the repeat functionality an interval value is required</b>.</p>\r\n<p>\r\n  <b>DAILY ALLOCATIONS</b>: Will repeat for each day of the week for the date range specified for the interval specified.  An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.</p>\r\n<p>\r\n  <b>WEEKLY ALLOCATIONS</b>: Will repeat only on the specified days of the week for the date range specified. For weekly the <b>frequency</b> is required and should be set to <b>“W”</b>. You must specify the <b>“weekdays”</b> parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are <b>0,1,2,3,4,5,6</b> where <b>0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday</b>.  For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the allocation date range.</p>\r\n<p>\r\n  <b>MONTHLY ALLOCATIONS</b>: Will repeat either on the day of the month specified in the <b>monthDay</b> property or on the day of the week and week of the month specified by the <b>monthType</b> property.  In both cases <b>frequency</b> is required and should be set to <b>“M”</b>, monthly. <b>monthDay</b> is the day of the month you want allocated.  If monthDay=’15’ this means to allocate the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario.  There are two possible values for monthType: <b>D for Day of Month</b> or <b>W for Week of Month.</b> For <b>monthType D</b>, monthDay value must be between 1 and 31. It is the day of the month to repeat on.  For <b>monthType M</b>, monthDay value contains 2 digits:  day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”.</p>\r\n<p>\r\n  <b>Repeats will end on the date specified by the end date.</b>\r\n</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationViewModel"}}},"description":"Success"}},"summary":"Create Allocation","tags":["Services"]}},"/setup/v1/services/{id}/allocations/bulk":{"post":{"description":"<p>Use this endpoint to <b>Create</b> bulk service allocations. A valid <b>service id</b> is required. Use this endpoint only if you need to POST multiple service allocations in one transaction. For details refer to: <a href=\"POST ​/setup​/v1​/services​/{id}​/allocations\">Post Service Allocation</a></p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationsInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationsInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationsInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceAllocationsInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ServiceAllocationViewModel"},"type":"array"}}},"description":"Success"}},"summary":"Create Allocations Bulk","tags":["Services"]}},"/setup/v1/services/{id}/availability":{"get":{"description":"<p>Use this endpoint to return the <b>Weekly Service Availability</b> for an appointment service. A valid <b>service id</b> is required. Weekly availability is returned for services where the Type = 1. For event type services, where service Type = 2, refer to the <i>GET ​/setup​/v1​/services​/{id}​/allocations</i> endpoint.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAvailabilityViewModel"}}},"description":"Success"}},"summary":"Get Weekly Availability","tags":["Services"]},"put":{"description":"<p>Use this endpoint to <b>Update</b> service weekly availability. A valid <b>service id</b> is required. The availability day entries are created when a service object is created.</p>\r\n<p>To update weekly availability hours, all days of the week must be provided. Days are defined as <b>sun, mon, tue, wed, thu, fri</b> and <b>sat</b>. The <b>startTime</b> and <b>endTime</b> fields are entered in <b>military format. e.g., 800 is 8:00am, 2230 is 10:30pm</b>. We support 24-hour availability, set startTime=0 and endTime=2400. To set a whole day as unavailable, set both the startTime and endTime to 0.</p>\r\n<p>If you require times in between specified hours to be unavailable, use the resource blocks endpoints. Times entered represent the timezone of the business location.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/AvailabilityInputModel"}}},"description":"Service Availability Input Model"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAvailabilityViewModel"}}},"description":"Success"}},"summary":"Update Weekly Availability","tags":["Services"]}},"/setup/v1/services/{id}/block":{"post":{"description":"<p>Use this endpoint to <b>Create</b> a Service Block. A valid <b>service id</b> is required.</p>\r\n<p>Required fields: <b>startDate, endDate, startTime, endTime</b> and <b>reason</b>.</p>\r\n<p>Service blocks can be set to specific time ranges or for the whole day. To block a whole day set startTime to 0 and endTime to 2400.</p>\r\n<p>Service blocks can be for a specific date range instance or set to repeat at a specified frequency. </p>\r\n<p>\r\n  <b>Repeat object: (repeats = true)</b>\r\n</p>\r\n<p>The <b>frequency</b> can be set to a value of <b>D, W or M</b> for <b>Day, Week</b> or <b>Month</b> respectively.</p>\r\n<p>Use the <b>interval</b> property to specify the interval that the block repeats. For example, an interval of 2 for a weekly block means that the block will repeat every 2nd week beginning at the day specified. A daily block with an interval of 10 means the block will repeat every 10 days. The interval property applies to all repeat frequencies. <b>If using the repeat functionality an interval value is required</b>.</p>\r\n<p>\r\n  <b>DAILY BLOCKS</b>: Will repeat for each day of the week for the date range specified for the interval specified.  An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.</p>\r\n<p>\r\n  <b>WEEKLY BLOCKS</b>: Will repeat only on the specified days of the week for the date range specified. For weekly the <b>frequency</b> is required and should be set to <b>“W”</b>.  You must specify the <b>weekdays</b> parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are <b>0,1,2,3,4,5,6</b> where <b>0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday</b>. For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the block date range.</p>\r\n<p>\r\n  <b>MONTHLY BLOCKS</b>: Will repeat either on the day of the month specified in the <b>monthDay</b> property or on the day of the week and week of the month specified by the <b>monthType</b> property.  In both cases <b>frequency</b> is required and should be set to <b>“M”</b>, monthly, <b>monthDay</b> is the day of the month you want blocked.  If monthDay=’15’ this means to block the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario.  There are two possible values for monthType: <b>D for Day of Month</b> or <b>W for Week of Month.</b> For <b>monthType D</b>, monthDay value must be between 1 and 31. It is the day of the month to repeat on. For <b>monthType M</b>, monthDay value contains 2 digits: day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”.</p>\r\n<p>\r\n  <b>Repeats will end on the date specified by the end date.</b>\r\n</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceBlockInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceBlockInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockInputModel"}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockViewModel"}}},"description":"Success"}},"summary":"Create Block","tags":["Services"]}},"/setup/v1/services/{id}/blocks":{"get":{"description":"<p>Use this endpoint to return a list of <b>Service Blocks</b>. The results are returned in pages. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of service to list blocks for","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Format YYYY-MM-DD. Filter blocks on/after startDate","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"Format YYYY-MM-DD. Filter on/before endDate","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceBlockListViewModel"}}},"description":"service block object's"},"400":{"description":"Missing or invalid values in the request"},"401":{"description":"Authorization error."},"404":{"description":"Service was not found"}},"summary":"List Service Blocks","tags":["Services"]}},"/setup/v1/services/{id}/calendar":{"get":{"description":"<p>Use this endpoint to <b>Get the Linked Calendar</b> for the service requested. A valid <b>service id</b> is required. A service can only be linked to one calendar in a location.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"id of business location, defaults to primary business location","in":"query","name":"locationId","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCalendarViewModel"}}},"description":"Success"}},"summary":"Get Linked Calendar","tags":["Services"]}},"/setup/v1/services/{id}/deleteimage":{"delete":{"description":"<p>Use this endpoint to permanently <b>Delete</b> a previously uploaded service image. A valid <b>service id</b> is required.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Delete Service Image","tags":["Services"]}},"/setup/v1/services/{id}/recover":{"put":{"description":"<p>Use this endpoint to <b>Recover</b> a deleted service object. A valid <b>service id</b> is required.</p>","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Recover Service","tags":["Services"]}},"/setup/v1/services/{id}/resources":{"get":{"description":"<p>Use this endpoint to return a list of <b>Resources</b> that provide the requested service. A valid <b>service id</b> is required. Use the offset and limit parameters to control the page start and number of results. Default offset is 0, limit is 20, max is 100. Use the query parameters to filter the results further.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Starting row of page, default 0","in":"query","name":"offset","schema":{"format":"int32","type":"integer"}},{"description":"Page limit default 20, max 100","in":"query","name":"limit","schema":{"format":"int32","type":"integer"}},{"description":"Google calendar authorization return url","in":"query","name":"googleAuthReturnUrl","schema":{"type":"string"}},{"description":"Outlook calendar authorization return url","in":"query","name":"outlookAuthReturnUrl","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceListViewModel"}}},"description":"Success"}},"summary":"List Resources for Service","tags":["Services"]}},"/setup/v1/services/{id}/uploadimage":{"post":{"description":"<p>Use this endpoint to <b>Upload</b> an image to the service. A valid <b>service id</b> is required. You must convert the image to a <b>base64 encoded string</b> and pass that string as input along with your <b>filename</b>.</p>","parameters":[{"description":"id of service object","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/ServiceImageInputModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/ServiceImageInputModel"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/ServiceImageInputModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ServiceImageInputModel"}}},"description":"Input model for image upload"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceViewModel"}}},"description":"Success"}},"summary":"Upload Service Image","tags":["Services"]}}},"components":{"schemas":{"AddressInputModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"}},"type":"object"},"AddressUpdateModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"}},"type":"object"},"AddressViewModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"}},"type":"object"},"AppointmentAuditViewModel":{"additionalProperties":false,"properties":{"appointmentId":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"modificationType":{"nullable":true,"type":"string"},"modifiedBy":{"nullable":true,"type":"string"},"modifiedOn":{"nullable":true,"type":"string"},"notesAfter":{"nullable":true,"type":"string"},"notesBefore":{"nullable":true,"type":"string"},"statusAfter":{"nullable":true,"type":"string"},"statusBefore":{"nullable":true,"type":"string"}},"type":"object"},"AppointmentCustomerViewModel":{"additionalProperties":false,"properties":{"appointmentId":{"nullable":true,"type":"string"},"customerId":{"nullable":true,"type":"string"}},"type":"object"},"AppointmentListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/AppointmentViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"AppointmentReminderViewModel":{"additionalProperties":false,"properties":{"emailFirstReminder":{"format":"int32","type":"integer"},"emailFirstReminderInterval":{"format":"int32","type":"integer"},"emailSecondReminder":{"format":"int32","type":"integer"},"emailSecondReminderInterval":{"format":"int32","type":"integer"},"smsFirstReminder":{"format":"int32","type":"integer"},"smsFirstReminderInterval":{"format":"int32","type":"integer"},"smsSecondReminder":{"format":"int32","type":"integer"},"smsSecondReminderInterval":{"format":"int32","type":"integer"}},"type":"object"},"AppointmentRemindersInputModel":{"additionalProperties":false,"properties":{"emailFirstReminder":{"format":"int32","nullable":true,"type":"integer"},"emailFirstReminderInterval":{"format":"int32","type":"integer"},"emailSecondReminder":{"format":"int32","nullable":true,"type":"integer"},"emailSecondReminderInterval":{"format":"int32","type":"integer"},"smsFirstReminder":{"format":"int32","nullable":true,"type":"integer"},"smsFirstReminderInterval":{"format":"int32","type":"integer"},"smsSecondReminder":{"format":"int32","nullable":true,"type":"integer"},"smsSecondReminderInterval":{"format":"int32","type":"integer"}},"type":"object"},"AppointmentResourceViewModel":{"additionalProperties":false,"properties":{"appointmentId":{"nullable":true,"type":"string"},"resourceEmail":{"nullable":true,"type":"string"},"resourceGroupId":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"resourceImageUrl":{"nullable":true,"type":"string"},"resourceName":{"nullable":true,"type":"string"}},"type":"object"},"AppointmentViewModel":{"additionalProperties":false,"properties":{"auditTrail":{"items":{"$ref":"#/components/schemas/AppointmentAuditViewModel"},"nullable":true,"type":"array"},"bookedBy":{"nullable":true,"type":"string"},"businessName":{"nullable":true,"type":"string"},"calendarId":{"nullable":true,"type":"string"},"confirmationNumber":{"nullable":true,"type":"string"},"confirmed":{"type":"boolean"},"createDate":{"nullable":true,"type":"string"},"customFields":{"additionalProperties":{"$ref":"#/components/schemas/CustomFieldViewModel"},"nullable":true,"type":"object"},"customerId":{"nullable":true,"type":"string"},"customerMessage":{"nullable":true,"type":"string"},"customers":{"items":{"$ref":"#/components/schemas/AppointmentCustomerViewModel"},"nullable":true,"type":"array"},"date":{"nullable":true,"type":"string"},"dateInternational":{"nullable":true,"type":"string"},"downloadIcsUrl":{"nullable":true,"type":"string"},"duration":{"format":"int32","type":"integer"},"email":{"nullable":true,"type":"string"},"emailConfirmationSent":{"nullable":true,"type":"string"},"emailReminderSent":{"nullable":true,"type":"string"},"endDateTime":{"nullable":true,"type":"string"},"firstname":{"nullable":true,"type":"string"},"groupSize":{"format":"int32","nullable":true,"type":"integer"},"id":{"nullable":true,"type":"string"},"ipAddress":{"nullable":true,"type":"string"},"lastModifiedBy":{"nullable":true,"type":"string"},"lastModifiedOn":{"nullable":true,"type":"string"},"lastname":{"nullable":true,"type":"string"},"latitude":{"nullable":true,"type":"string"},"location":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"longitude":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notes":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"onlineBooking":{"nullable":true,"type":"boolean"},"paymentStatus":{"format":"int32","type":"integer"},"phone":{"nullable":true,"type":"string"},"phoneExt":{"nullable":true,"type":"string"},"phoneType":{"nullable":true,"type":"string"},"rescheduledId":{"nullable":true,"type":"string"},"resourceEmail":{"nullable":true,"type":"string"},"resourceGroupId":{"nullable":true,"type":"string"},"resourceGroupName":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"resourceImageUrl":{"nullable":true,"type":"string"},"resourceName":{"nullable":true,"type":"string"},"resources":{"items":{"$ref":"#/components/schemas/AppointmentResourceViewModel"},"nullable":true,"type":"array"},"serviceAllocationId":{"nullable":true,"type":"string"},"serviceId":{"nullable":true,"type":"string"},"serviceImageUrl":{"nullable":true,"type":"string"},"serviceName":{"nullable":true,"type":"string"},"smsConfirmationSent":{"nullable":true,"type":"string"},"smsReminderSent":{"nullable":true,"type":"string"},"startDateTime":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"stripeChargeId":{"nullable":true,"type":"string"},"stripeRefundId":{"nullable":true,"type":"string"},"time":{"format":"int32","type":"integer"},"timezone":{"format":"int32","nullable":true,"type":"integer"},"timezoneIana":{"nullable":true,"type":"string"},"timezoneId":{"nullable":true,"type":"string"}},"type":"object"},"AuthorizedCompanyListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/AuthorizedCompanyViewModel"},"nullable":true,"type":"array"},"email":{"nullable":true,"type":"string"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"AuthorizedCompanyViewModel":{"additionalProperties":false,"properties":{"id":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"AvailabilityInputModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/WeekDayInputModel"},"mon":{"$ref":"#/components/schemas/WeekDayInputModel"},"sat":{"$ref":"#/components/schemas/WeekDayInputModel"},"sun":{"$ref":"#/components/schemas/WeekDayInputModel"},"thu":{"$ref":"#/components/schemas/WeekDayInputModel"},"tue":{"$ref":"#/components/schemas/WeekDayInputModel"},"wed":{"$ref":"#/components/schemas/WeekDayInputModel"}},"type":"object"},"AvailabilityViewModel2":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/WeekDayViewModel2"},"mon":{"$ref":"#/components/schemas/WeekDayViewModel2"},"sat":{"$ref":"#/components/schemas/WeekDayViewModel2"},"sun":{"$ref":"#/components/schemas/WeekDayViewModel2"},"thu":{"$ref":"#/components/schemas/WeekDayViewModel2"},"tue":{"$ref":"#/components/schemas/WeekDayViewModel2"},"wed":{"$ref":"#/components/schemas/WeekDayViewModel2"}},"type":"object"},"BusinessDefaultsInputModel":{"additionalProperties":false,"properties":{"autoUpdateCustomer":{"nullable":true,"type":"boolean"},"businessNotification":{"nullable":true,"type":"boolean"},"customerCity":{"nullable":true,"type":"boolean"},"customerState":{"nullable":true,"type":"boolean"},"emailInfo":{"nullable":true,"type":"boolean"},"enableUtcTimezone":{"nullable":true,"type":"boolean"}},"type":"object"},"BusinessDefaultsUpdateModel":{"additionalProperties":false,"properties":{"autoUpdateCustomer":{"nullable":true,"type":"boolean"},"businessNotification":{"nullable":true,"type":"boolean"},"customerCity":{"nullable":true,"type":"boolean"},"customerState":{"nullable":true,"type":"boolean"},"emailInfo":{"nullable":true,"type":"boolean"},"enableUtcTimezone":{"nullable":true,"type":"boolean"}},"type":"object"},"BusinessDefaultsViewModel":{"additionalProperties":false,"properties":{"autoUpdateCustomer":{"nullable":true,"type":"boolean"},"businessNotification":{"nullable":true,"type":"boolean"},"customerCity":{"nullable":true,"type":"boolean"},"customerState":{"nullable":true,"type":"boolean"},"emailInfo":{"nullable":true,"type":"boolean"},"enableUtcTimezone":{"nullable":true,"type":"boolean"},"object":{"nullable":true,"type":"string"}},"type":"object"},"BusinessHolidayViewModel":{"additionalProperties":false,"properties":{"businessClosed":{"type":"boolean"},"holidayName":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"publicHolidayId":{"format":"int32","type":"integer"}},"type":"object"},"BusinessHourInputModel":{"additionalProperties":false,"properties":{"endTime":{"description":"endTime is entered in military format. e.g. 1800 = 6pm end, 2400 = midnight end of day.\r\nFor 24 hours enter startTime = 0 and endTime = 2400","format":"int32","type":"integer"},"is24Hours":{"description":"If true then available for 24 hours. startTime must be zero and endTime must be 2400.","type":"boolean"},"isOpen":{"description":"If false, then not available entire day, starTime and endTime must both be zero. If true, then available between startTime and endTime.","type":"boolean"},"startTime":{"description":"startTime is entered in military format. e.g. 0 = midnight start, 900 = 9am start","format":"int32","type":"integer"}},"type":"object"},"BusinessHourViewModel":{"additionalProperties":false,"properties":{"endTime":{"format":"int32","type":"integer"},"is24Hours":{"type":"boolean"},"isOpen":{"type":"boolean"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"BusinessHoursInputModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/BusinessHourInputModel"},"mon":{"$ref":"#/components/schemas/BusinessHourInputModel"},"sat":{"$ref":"#/components/schemas/BusinessHourInputModel"},"sun":{"$ref":"#/components/schemas/BusinessHourInputModel"},"thu":{"$ref":"#/components/schemas/BusinessHourInputModel"},"tue":{"$ref":"#/components/schemas/BusinessHourInputModel"},"wed":{"$ref":"#/components/schemas/BusinessHourInputModel"}},"type":"object"},"BusinessHoursUpdateModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/BusinessHourInputModel"},"mon":{"$ref":"#/components/schemas/BusinessHourInputModel"},"sat":{"$ref":"#/components/schemas/BusinessHourInputModel"},"sun":{"$ref":"#/components/schemas/BusinessHourInputModel"},"thu":{"$ref":"#/components/schemas/BusinessHourInputModel"},"tue":{"$ref":"#/components/schemas/BusinessHourInputModel"},"wed":{"$ref":"#/components/schemas/BusinessHourInputModel"}},"type":"object"},"BusinessHoursViewModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/BusinessHourViewModel"},"mon":{"$ref":"#/components/schemas/BusinessHourViewModel"},"sat":{"$ref":"#/components/schemas/BusinessHourViewModel"},"sun":{"$ref":"#/components/schemas/BusinessHourViewModel"},"thu":{"$ref":"#/components/schemas/BusinessHourViewModel"},"tue":{"$ref":"#/components/schemas/BusinessHourViewModel"},"wed":{"$ref":"#/components/schemas/BusinessHourViewModel"}},"type":"object"},"BusinessPermissionListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/BusinessPermissionViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"BusinessPermissionViewModel":{"additionalProperties":false,"properties":{"access":{"nullable":true,"type":"string"},"function":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"role":{"nullable":true,"type":"string"}},"type":"object"},"BusinessServiceListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/BusinessServiceViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"BusinessServiceViewModel":{"additionalProperties":false,"properties":{"id":{"format":"int32","type":"integer"},"object":{"nullable":true,"type":"string"},"serviceId":{"format":"int32","type":"integer"},"serviceName":{"nullable":true,"type":"string"}},"type":"object"},"BusinessUserInputModel":{"additionalProperties":false,"properties":{"email":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"role":{"nullable":true,"type":"string"},"sendRegistrationInvite":{"type":"boolean"}},"type":"object"},"BusinessUserListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/BusinessUserViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"BusinessUserPermissionViewModel":{"additionalProperties":false,"properties":{"access":{"nullable":true,"type":"string"},"function":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"BusinessUserUpdateModel":{"additionalProperties":false,"properties":{"email":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"role":{"nullable":true,"type":"string"},"sendRegistrationInvite":{"type":"boolean"}},"type":"object"},"BusinessUserViewModel":{"additionalProperties":false,"properties":{"accountId":{"format":"uuid","nullable":true,"type":"string"},"businessName":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"identityAccount":{"type":"boolean"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"permissions":{"items":{"$ref":"#/components/schemas/BusinessUserPermissionViewModel"},"nullable":true,"type":"array"},"resourceId":{"nullable":true,"type":"string"},"resourceName":{"nullable":true,"type":"string"},"role":{"nullable":true,"type":"string"}},"type":"object"},"CalendarAuthViewModel":{"additionalProperties":false,"properties":{"calendarAuthUrl":{"nullable":true,"type":"string"},"calendarId":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"CalendarBlockInputModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CalendarBlockListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/CalendarBlockViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"CalendarBlockUpdateModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CalendarBlockViewModel":{"additionalProperties":false,"properties":{"calendarId":{"nullable":true,"type":"string"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"endDate":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"id":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatViewModel"},"repeats":{"type":"boolean"},"startDate":{"nullable":true,"type":"string"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"CalendarHourViewModel":{"additionalProperties":false,"properties":{"endTime":{"format":"int32","type":"integer"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"CalendarHoursViewModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/CalendarHourViewModel"},"mon":{"$ref":"#/components/schemas/CalendarHourViewModel"},"sat":{"$ref":"#/components/schemas/CalendarHourViewModel"},"sun":{"$ref":"#/components/schemas/CalendarHourViewModel"},"thu":{"$ref":"#/components/schemas/CalendarHourViewModel"},"tue":{"$ref":"#/components/schemas/CalendarHourViewModel"},"wed":{"$ref":"#/components/schemas/CalendarHourViewModel"}},"type":"object"},"CompanyDomainInputModel":{"additionalProperties":false,"properties":{"domain":{"nullable":true,"type":"string"}},"type":"object"},"CompanyDomainListViewModel":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/CompanyDomainViewModel"},"nullable":true,"type":"array"},"object":{"nullable":true,"type":"string"},"url":{"nullable":true,"type":"string"}},"type":"object"},"CompanyDomainUpdateModel":{"additionalProperties":false,"properties":{"domain":{"nullable":true,"type":"string"}},"type":"object"},"CompanyDomainViewModel":{"additionalProperties":false,"properties":{"domain":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"CompanyInputModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"bookingWebhookUrl":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"customerWebhookUrl":{"nullable":true,"type":"string"},"disableEmailAndSmsNotifications":{"nullable":true,"type":"boolean"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notificationFromEmailAddress":{"nullable":true,"type":"string"},"notificationFromName":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"registrationEmail":{"nullable":true,"type":"string"},"reminderWebhookUrl":{"nullable":true,"type":"string"},"resourceWebhookUrl":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"},"timezoneName":{"nullable":true,"type":"string"},"webhookSignatureHash":{"nullable":true,"type":"string"},"website":{"nullable":true,"type":"string"}},"type":"object"},"CompanyUpdateModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"bookingWebhookUrl":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"customerWebhookUrl":{"nullable":true,"type":"string"},"disableEmailAndSmsNotifications":{"nullable":true,"type":"boolean"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notificationFromEmailAddress":{"nullable":true,"type":"string"},"notificationFromName":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"registrationEmail":{"nullable":true,"type":"string"},"reminderWebhookUrl":{"nullable":true,"type":"string"},"resourceWebhookUrl":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"},"timezoneName":{"nullable":true,"type":"string"},"webhookSignatureHash":{"nullable":true,"type":"string"},"website":{"nullable":true,"type":"string"}},"type":"object"},"CompanyViewModel":{"additionalProperties":false,"properties":{"addressLine1":{"nullable":true,"type":"string"},"addressLine2":{"nullable":true,"type":"string"},"bookingWebhookUrl":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"clientId":{"nullable":true,"type":"string"},"clientSecret":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"customerWebhookUrl":{"nullable":true,"type":"string"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"disableEmailAndSmsNotifications":{"type":"boolean"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notificationFromEmailAddress":{"nullable":true,"type":"string"},"notificationFromName":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"postalCode":{"nullable":true,"type":"string"},"registrationDate":{"nullable":true,"type":"string"},"registrationEmail":{"nullable":true,"type":"string"},"reminderWebhookUrl":{"nullable":true,"type":"string"},"resourceWebhookUrl":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"},"timezoneId":{"nullable":true,"type":"string"},"timezoneName":{"nullable":true,"type":"string"},"webhookSignatureHash":{"nullable":true,"type":"string"},"website":{"nullable":true,"type":"string"}},"type":"object"},"ContactInputModel":{"additionalProperties":false,"properties":{"businessPhone":{"nullable":true,"type":"string"},"businessPhoneExt":{"nullable":true,"type":"string"},"conferenceInfo":{"nullable":true,"type":"string"},"homePhone":{"nullable":true,"type":"string"},"mobilePhone":{"nullable":true,"type":"string"},"preferredPhoneType":{"nullable":true,"type":"string"},"skypeUsername":{"nullable":true,"type":"string"}},"type":"object"},"ContactUpdateModel":{"additionalProperties":false,"properties":{"businessPhone":{"nullable":true,"type":"string"},"businessPhoneExt":{"nullable":true,"type":"string"},"conferenceInfo":{"nullable":true,"type":"string"},"homePhone":{"nullable":true,"type":"string"},"mobilePhone":{"nullable":true,"type":"string"},"preferredPhoneType":{"nullable":true,"type":"string"},"skypeUsername":{"nullable":true,"type":"string"}},"type":"object"},"ContactViewModel":{"additionalProperties":false,"properties":{"businessPhone":{"nullable":true,"type":"string"},"businessPhoneExt":{"nullable":true,"type":"string"},"conferenceInfo":{"nullable":true,"type":"string"},"homePhone":{"nullable":true,"type":"string"},"mobilePhone":{"nullable":true,"type":"string"},"phoneType":{"nullable":true,"type":"string"},"skypeUsername":{"nullable":true,"type":"string"}},"type":"object"},"ContentResult":{"additionalProperties":false,"properties":{"content":{"nullable":true,"type":"string"},"contentType":{"nullable":true,"type":"string"},"statusCode":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CustomFieldInputModel":{"additionalProperties":false,"properties":{"field1":{"nullable":true,"type":"string"},"field10":{"nullable":true,"type":"string"},"field2":{"nullable":true,"type":"string"},"field3":{"nullable":true,"type":"string"},"field4":{"nullable":true,"type":"string"},"field5":{"nullable":true,"type":"string"},"field6":{"nullable":true,"type":"string"},"field7":{"nullable":true,"type":"string"},"field8":{"nullable":true,"type":"string"},"field9":{"nullable":true,"type":"string"}},"type":"object"},"CustomFieldUpdateModel":{"additionalProperties":false,"properties":{"field1":{"nullable":true,"type":"string"},"field10":{"nullable":true,"type":"string"},"field2":{"nullable":true,"type":"string"},"field3":{"nullable":true,"type":"string"},"field4":{"nullable":true,"type":"string"},"field5":{"nullable":true,"type":"string"},"field6":{"nullable":true,"type":"string"},"field7":{"nullable":true,"type":"string"},"field8":{"nullable":true,"type":"string"},"field9":{"nullable":true,"type":"string"}},"type":"object"},"CustomFieldViewModel":{"additionalProperties":false,"properties":{"name":{"nullable":true,"type":"string"},"value":{"nullable":true,"type":"string"}},"type":"object"},"CustomerListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/CustomerViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"CustomerPrivacyViewModel":{"additionalProperties":false,"properties":{"appointments":{"items":{"$ref":"#/components/schemas/AppointmentViewModel"},"nullable":true,"type":"array"},"customer":{"$ref":"#/components/schemas/CustomerViewModel"}},"type":"object"},"CustomerViewModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressViewModel"},"birthdate":{"nullable":true,"type":"string"},"businessName":{"nullable":true,"type":"string"},"companyName":{"nullable":true,"type":"string"},"contact":{"$ref":"#/components/schemas/ContactViewModel"},"createdBy":{"nullable":true,"type":"string"},"createdOn":{"nullable":true,"type":"string"},"customFields":{"additionalProperties":{"$ref":"#/components/schemas/CustomFieldViewModel"},"nullable":true,"type":"object"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"disabled":{"nullable":true,"type":"boolean"},"email":{"nullable":true,"type":"string"},"emailInfo":{"nullable":true,"type":"boolean"},"emailPromotion":{"nullable":true,"type":"boolean"},"firstname":{"nullable":true,"type":"string"},"gender":{"nullable":true,"type":"string"},"groupId":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"inviteEmailSent":{"nullable":true,"type":"string"},"lastVisitDate":{"nullable":true,"type":"string"},"lastname":{"nullable":true,"type":"string"},"latitude":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"longitude":{"nullable":true,"type":"string"},"modifiedBy":{"nullable":true,"type":"string"},"modifiedOn":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notificationType":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"registeredBy":{"nullable":true,"type":"string"},"registrationDate":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"stripeCustomerId":{"nullable":true,"type":"string"},"subscriptionId":{"nullable":true,"type":"string"},"verificationDate":{"nullable":true,"type":"string"},"verifiedBy":{"nullable":true,"type":"string"},"welcomeEmailSent":{"nullable":true,"type":"string"}},"type":"object"},"EmailTemplateInputModel":{"additionalProperties":false,"properties":{"templateContent":{"nullable":true,"type":"string"},"templateName":{"nullable":true,"type":"string"}},"type":"object"},"EmailTemplateListViewModel":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/EmailTemplateViewModel"},"nullable":true,"type":"array"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"EmailTemplateViewModel":{"additionalProperties":false,"properties":{"customized":{"type":"boolean"},"description":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"scope":{"nullable":true,"type":"string"}},"type":"object"},"GoogleServiceAccountCreds":{"additionalProperties":false,"properties":{"auth_provider_x509_cert_url":{"nullable":true,"type":"string"},"auth_uri":{"nullable":true,"type":"string"},"client_email":{"nullable":true,"type":"string"},"client_id":{"nullable":true,"type":"string"},"client_x509_cert_url":{"nullable":true,"type":"string"},"private_key":{"nullable":true,"type":"string"},"private_key_id":{"nullable":true,"type":"string"},"project_id":{"nullable":true,"type":"string"},"token_uri":{"nullable":true,"type":"string"},"type":{"nullable":true,"type":"string"}},"type":"object"},"LocationInputModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressInputModel"},"adminEmail":{"description":"Field is required.","nullable":true,"type":"string"},"adminName":{"description":"This field is no longer required and has been deprecated.","nullable":true,"type":"string"},"appointmentReminders":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"},"businessHours":{"$ref":"#/components/schemas/BusinessHoursInputModel"},"defaults":{"$ref":"#/components/schemas/BusinessDefaultsInputModel"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"friendlyId":{"description":"Use the friendlyId as an alternative to the assigned locationId\r\nChoose something easy and meaningful. Must be unique within your company.\r\nFriendlyId's are limited to maximum of 64 characters.","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"phone":{"description":"GroupSize Limits the number of people that can come\r\nalong on a single appointment","nullable":true,"type":"string"},"regionId":{"nullable":true,"type":"string"},"settings":{"$ref":"#/components/schemas/OnlineSettingsInputModel"},"timezoneName":{"description":"Field is required. It is in Iana format. e.g. America/New_York. Use moment.js in your client for ease of timezone detection and selection","nullable":true,"type":"string"},"website":{"nullable":true,"type":"string"}},"type":"object"},"LocationListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/LocationViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"LocationUpdateModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressUpdateModel"},"adminEmail":{"nullable":true,"type":"string"},"adminName":{"nullable":true,"type":"string"},"appointmentReminders":{"$ref":"#/components/schemas/AppointmentRemindersInputModel"},"businessHours":{"$ref":"#/components/schemas/BusinessHoursUpdateModel"},"defaults":{"$ref":"#/components/schemas/BusinessDefaultsUpdateModel"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"friendlyId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"regionId":{"nullable":true,"type":"string"},"settings":{"$ref":"#/components/schemas/OnlineSettingsUpdateModel"},"timezoneName":{"nullable":true,"type":"string"},"website":{"nullable":true,"type":"string"}},"type":"object"},"LocationViewModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressViewModel"},"adminEmail":{"nullable":true,"type":"string"},"adminName":{"nullable":true,"type":"string"},"appointmentReminders":{"$ref":"#/components/schemas/AppointmentReminderViewModel"},"businessHolidays":{"items":{"$ref":"#/components/schemas/BusinessHolidayViewModel"},"nullable":true,"type":"array"},"businessHours":{"$ref":"#/components/schemas/BusinessHoursViewModel"},"companyId":{"nullable":true,"type":"string"},"companyName":{"nullable":true,"type":"string"},"defaults":{"$ref":"#/components/schemas/BusinessDefaultsViewModel"},"email":{"nullable":true,"type":"string"},"fax":{"nullable":true,"type":"string"},"friendlyId":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"imageUrl":{"nullable":true,"type":"string"},"latitude":{"format":"double","type":"number"},"logo":{"nullable":true,"type":"string"},"longitude":{"format":"double","type":"number"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"primaryBusiness":{"type":"boolean"},"primaryCalendarId":{"nullable":true,"type":"string"},"regionId":{"nullable":true,"type":"string"},"services":{"items":{"$ref":"#/components/schemas/BusinessServiceViewModel"},"nullable":true,"type":"array"},"settings":{"$ref":"#/components/schemas/OnlineSettingsViewModel"},"timezoneIana":{"nullable":true,"type":"string"},"timezoneId":{"nullable":true,"type":"string"},"timezoneOffset":{"format":"int32","nullable":true,"type":"integer"},"travel":{"$ref":"#/components/schemas/TravelViewModel"},"website":{"nullable":true,"type":"string"}},"type":"object"},"LocationsInputModel":{"additionalProperties":false,"properties":{"locations":{"items":{"$ref":"#/components/schemas/LocationInputModel"},"nullable":true,"type":"array"}},"type":"object"},"MasterEmailTemplateSettingsViewModel":{"additionalProperties":false,"properties":{"centerEmailContent":{"type":"boolean"},"centerEmailContentPanel":{"type":"boolean"},"centerEmailFooter":{"type":"boolean"},"contentBackgroundColor":{"nullable":true,"type":"string"},"contentColor":{"nullable":true,"type":"string"},"contentLinkColor":{"nullable":true,"type":"string"},"emailBackgroundColor":{"nullable":true,"type":"string"},"emailColor":{"nullable":true,"type":"string"},"emailLinkColor":{"nullable":true,"type":"string"},"footerFontSize":{"nullable":true,"type":"string"},"footerLogoHeight":{"nullable":true,"type":"string"},"footerLogoPadding":{"nullable":true,"type":"string"},"footerPanelEmailContact":{"type":"boolean"},"footerPanelPhoneContact":{"type":"boolean"},"footerPanelWebsiteContact":{"type":"boolean"},"headerLogoHeight":{"nullable":true,"type":"string"},"headerLogoPadding":{"nullable":true,"type":"string"},"panelBackgroundColor":{"nullable":true,"type":"string"},"panelColor":{"nullable":true,"type":"string"},"panelLinkColor":{"nullable":true,"type":"string"},"privacyPolicyLink":{"nullable":true,"type":"string"},"showContentPanel":{"type":"boolean"},"showFooterLogo":{"type":"boolean"},"showFooterPanel":{"type":"boolean"},"showHeaderLogo":{"type":"boolean"},"showHeaderPanel":{"type":"boolean"},"version":{"nullable":true,"type":"string"}},"type":"object"},"MasterTemplateSettingsInputModel":{"additionalProperties":false,"properties":{"centerEmailContent":{"nullable":true,"type":"boolean"},"centerEmailContentPanel":{"nullable":true,"type":"boolean"},"centerEmailFooter":{"nullable":true,"type":"boolean"},"contentBackgroundColor":{"nullable":true,"type":"string"},"contentColor":{"nullable":true,"type":"string"},"contentLinkColor":{"nullable":true,"type":"string"},"emailBackgroundColor":{"nullable":true,"type":"string"},"emailColor":{"nullable":true,"type":"string"},"emailLinkColor":{"nullable":true,"type":"string"},"footerFontSize":{"nullable":true,"type":"string"},"footerLogoHeight":{"nullable":true,"type":"string"},"footerLogoPadding":{"nullable":true,"type":"string"},"footerPanelEmailContact":{"nullable":true,"type":"boolean"},"footerPanelPhoneContact":{"nullable":true,"type":"boolean"},"footerPanelWebsiteContact":{"nullable":true,"type":"boolean"},"headerLogoHeight":{"nullable":true,"type":"string"},"headerLogoPadding":{"nullable":true,"type":"string"},"panelBackgroundColor":{"nullable":true,"type":"string"},"panelColor":{"nullable":true,"type":"string"},"panelLinkColor":{"nullable":true,"type":"string"},"privacyPolicyLink":{"nullable":true,"type":"string"},"showContentPanel":{"nullable":true,"type":"boolean"},"showFooterLogo":{"nullable":true,"type":"boolean"},"showFooterPanel":{"nullable":true,"type":"boolean"},"showHeaderLogo":{"nullable":true,"type":"boolean"},"showHeaderPanel":{"nullable":true,"type":"boolean"}},"type":"object"},"OnlineSettingsInputModel":{"additionalProperties":false,"properties":{"bookAheadUnit":{"format":"int32","nullable":true,"type":"integer"},"bookAheadValue":{"format":"int32","nullable":true,"type":"integer"},"bookInAdvance":{"format":"int32","nullable":true,"type":"integer"},"bookingTimerMins":{"format":"int32","nullable":true,"type":"integer"},"customerBookingsPerDay":{"format":"int32","nullable":true,"type":"integer"},"enableWorldTimezones":{"nullable":true,"type":"boolean"}},"type":"object"},"OnlineSettingsUpdateModel":{"additionalProperties":false,"properties":{"bookAheadUnit":{"format":"int32","nullable":true,"type":"integer"},"bookAheadValue":{"format":"int32","nullable":true,"type":"integer"},"bookInAdvance":{"format":"int32","nullable":true,"type":"integer"},"bookingTimerMins":{"format":"int32","nullable":true,"type":"integer"},"customerBookingsPerDay":{"format":"int32","nullable":true,"type":"integer"},"enableWorldTimezones":{"nullable":true,"type":"boolean"}},"type":"object"},"OnlineSettingsViewModel":{"additionalProperties":false,"properties":{"availabilityForm":{"format":"int32","type":"integer"},"bookAheadUnit":{"format":"int32","type":"integer"},"bookAheadValue":{"format":"int32","type":"integer"},"bookInAdvance":{"format":"int32","type":"integer"},"bookWithAccount":{"type":"boolean"},"bookingConfirmationMessage":{"nullable":true,"type":"string"},"bookingMessage":{"nullable":true,"type":"string"},"bookingPolicy":{"nullable":true,"type":"string"},"bookingTimerMins":{"format":"int32","type":"integer"},"businessId":{"nullable":true,"type":"string"},"companyId":{"nullable":true,"type":"string"},"customerBookingsPerDay":{"format":"int32","type":"integer"},"customerVerification":{"type":"boolean"},"defaultService":{"nullable":true,"type":"boolean"},"defaultToCustomerTimezone":{"type":"boolean"},"disableAuthorization":{"nullable":true,"type":"boolean"},"enableWorldTimezones":{"nullable":true,"type":"boolean"},"enabled":{"type":"boolean"},"familyMembersEnabled":{"type":"boolean"},"firstAvailable":{"nullable":true,"type":"boolean"},"formFlow":{"format":"int32","type":"integer"},"hideBreadCrumbNav":{"type":"boolean"},"hideContinueBooking":{"nullable":true,"type":"boolean"},"hideLocationNav":{"nullable":true,"type":"boolean"},"hideNavBar":{"nullable":true,"type":"boolean"},"hideServiceGroupsNav":{"nullable":true,"type":"boolean"},"hideServicesNav":{"nullable":true,"type":"boolean"},"id":{"format":"int32","type":"integer"},"lateCancelAction":{"format":"int32","type":"integer"},"lateCancelHours":{"format":"int32","type":"integer"},"lateRescheduleAction":{"format":"int32","type":"integer"},"lateRescheduleHours":{"format":"int32","type":"integer"},"liveMode":{"nullable":true,"type":"boolean"},"locationId":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"resourceAnyLabel":{"nullable":true,"type":"string"},"resourceLabel":{"nullable":true,"type":"string"},"resourceSelection":{"type":"boolean"},"returnToAvailability":{"type":"boolean"},"returnToService":{"type":"boolean"},"serviceLabel":{"nullable":true,"type":"string"},"showBusinessLogo":{"type":"boolean"},"showOnSchedLogo":{"type":"boolean"},"showServiceGroups":{"type":"boolean"}},"type":"object"},"PhoneViewModel":{"additionalProperties":false,"properties":{"businessPhone":{"nullable":true,"type":"string"},"businessPhoneExt":{"nullable":true,"type":"string"},"homePhone":{"nullable":true,"type":"string"},"mobilePhone":{"nullable":true,"type":"string"},"phoneType":{"nullable":true,"type":"string"}},"type":"object"},"RegionInputModel":{"additionalProperties":false,"properties":{"name":{"nullable":true,"type":"string"}},"type":"object"},"RegionListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/RegionViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"RegionUpdateModel":{"additionalProperties":false,"properties":{"name":{"nullable":true,"type":"string"}},"type":"object"},"RegionViewModel":{"additionalProperties":false,"properties":{"id":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"RepeatInputModel":{"additionalProperties":false,"properties":{"frequency":{"nullable":true,"type":"string"},"interval":{"format":"int32","nullable":true,"type":"integer"},"monthDay":{"format":"int32","nullable":true,"type":"integer"},"monthType":{"nullable":true,"type":"string"},"weekdays":{"nullable":true,"type":"string"}},"type":"object"},"RepeatUpdateModel":{"additionalProperties":false,"properties":{"frequency":{"nullable":true,"type":"string"},"interval":{"format":"int32","nullable":true,"type":"integer"},"monthDay":{"format":"int32","nullable":true,"type":"integer"},"monthType":{"nullable":true,"type":"string"},"weekdays":{"nullable":true,"type":"string"}},"type":"object"},"RepeatViewModel":{"additionalProperties":false,"properties":{"frequency":{"nullable":true,"type":"string"},"interval":{"format":"int32","type":"integer"},"monthDay":{"nullable":true,"type":"string"},"monthType":{"nullable":true,"type":"string"},"weekdays":{"nullable":true,"type":"string"}},"type":"object"},"ResourceAllocationInputModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceAllocationListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceAllocationViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ResourceAllocationUpdateModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceAllocationViewModel":{"additionalProperties":false,"properties":{"businessId":{"format":"int32","type":"integer"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"endDate":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"id":{"format":"int32","type":"integer"},"object":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatViewModel"},"repeats":{"type":"boolean"},"resourceId":{"format":"int32","type":"integer"},"startDate":{"nullable":true,"type":"string"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"ResourceAvailabilityViewModel":{"additionalProperties":false,"properties":{"businessId":{"format":"int32","type":"integer"},"ignoreBusinessHours":{"type":"boolean"},"resourceId":{"format":"int32","type":"integer"},"resourceName":{"nullable":true,"type":"string"},"resourceTzo":{"format":"int32","type":"integer"},"weekdays":{"$ref":"#/components/schemas/AvailabilityViewModel2"}},"type":"object"},"ResourceBlockInputModel":{"additionalProperties":false,"properties":{"allDay":{"nullable":true,"type":"boolean"},"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceBlockListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceBlockViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ResourceBlockUpdateModel":{"additionalProperties":false,"properties":{"allDay":{"nullable":true,"type":"boolean"},"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceBlockViewModel":{"additionalProperties":false,"properties":{"businessId":{"format":"int32","type":"integer"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"endDate":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"id":{"format":"int32","type":"integer"},"object":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatViewModel"},"repeats":{"type":"boolean"},"resourceId":{"format":"int32","type":"integer"},"startDate":{"nullable":true,"type":"string"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"ResourceBulkUpdateModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressUpdateModel"},"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"contact":{"$ref":"#/components/schemas/ContactUpdateModel"},"customFields":{"$ref":"#/components/schemas/CustomFieldUpdateModel"},"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"groupId":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ResourceOptionsUpdateModel"},"recurringAvailability":{"nullable":true,"type":"boolean"},"serviceIds":{"items":{"type":"string"},"nullable":true,"type":"array"},"timezoneId":{"nullable":true,"type":"string"}},"type":"object"},"ResourceGroupInputModel":{"additionalProperties":false,"properties":{"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"}},"type":"object"},"ResourceGroupListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceGroupViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ResourceGroupUpdateModel":{"additionalProperties":false,"properties":{"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"}},"type":"object"},"ResourceGroupViewModel":{"additionalProperties":false,"properties":{"bookingNotification":{"format":"int32","type":"integer"},"deletedStatus":{"type":"boolean"},"deletedTime":{"format":"date-time","nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"}},"type":"object"},"ResourceHourViewModel":{"additionalProperties":false,"properties":{"endTime":{"format":"int32","type":"integer"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"ResourceHoursViewModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/ResourceHourViewModel"},"mon":{"$ref":"#/components/schemas/ResourceHourViewModel"},"sat":{"$ref":"#/components/schemas/ResourceHourViewModel"},"sun":{"$ref":"#/components/schemas/ResourceHourViewModel"},"thu":{"$ref":"#/components/schemas/ResourceHourViewModel"},"tue":{"$ref":"#/components/schemas/ResourceHourViewModel"},"wed":{"$ref":"#/components/schemas/ResourceHourViewModel"}},"type":"object"},"ResourceImageInputModel":{"additionalProperties":false,"properties":{"imageFileData":{"nullable":true,"type":"string"},"imageFileName":{"nullable":true,"type":"string"}},"type":"object"},"ResourceInputModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressInputModel"},"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"contact":{"$ref":"#/components/schemas/ContactInputModel"},"customFields":{"$ref":"#/components/schemas/CustomFieldInputModel"},"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"groupId":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ResourceOptionsInputModel"},"recurringAvailability":{"nullable":true,"type":"boolean"},"serviceIds":{"items":{"type":"string"},"nullable":true,"type":"array"},"timezoneId":{"nullable":true,"type":"string"}},"type":"object"},"ResourceListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ResourceOptionsInputModel":{"additionalProperties":false,"description":"Options for the new resource","properties":{"bioLink":{"nullable":true,"type":"string"},"bookingNotification":{"format":"int32","nullable":true,"type":"integer"},"calendarAvailability":{"description":"0 = OnSched Availability, 1 = Google Calendar, 2 = Outlook Calendar","format":"int32","nullable":true,"type":"integer"},"displayColor":{"nullable":true,"type":"string"},"effectiveDate":{"format":"date-time","nullable":true,"type":"string"},"gender":{"nullable":true,"type":"string"},"googleCalendarId":{"nullable":true,"type":"string"},"hourly":{"format":"double","nullable":true,"type":"number"},"ignoreBusinessHours":{"nullable":true,"type":"boolean"},"notificationType":{"description":"0 = None, 1=Online Bookings 2=All Bookings.","format":"int32","nullable":true,"type":"integer"},"outlookCalendarId":{"nullable":true,"type":"string"},"sortKey":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceOptionsUpdateModel":{"additionalProperties":false,"properties":{"bioLink":{"nullable":true,"type":"string"},"bookingNotification":{"format":"int32","nullable":true,"type":"integer"},"calendarAvailability":{"description":"0 = OnSched Availability, 1 = Google Calendar, 2 = Outlook Calendar","format":"int32","nullable":true,"type":"integer"},"displayColor":{"nullable":true,"type":"string"},"effectiveDate":{"format":"date-time","nullable":true,"type":"string"},"gender":{"nullable":true,"type":"string"},"googleCalendarId":{"nullable":true,"type":"string"},"hourly":{"format":"double","nullable":true,"type":"number"},"ignoreBusinessHours":{"nullable":true,"type":"boolean"},"notificationType":{"description":"0 = None, 1=Online Bookings 2=All Bookings.","format":"int32","nullable":true,"type":"integer"},"outlookCalendarId":{"nullable":true,"type":"string"},"sortKey":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourceServiceViewModel":{"additionalProperties":false,"properties":{"object":{"nullable":true,"type":"string"},"serviceId":{"format":"int32","type":"integer"},"serviceName":{"nullable":true,"type":"string"}},"type":"object"},"ResourceUpdateModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressUpdateModel"},"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"contact":{"$ref":"#/components/schemas/ContactUpdateModel"},"customFields":{"$ref":"#/components/schemas/CustomFieldUpdateModel"},"description":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"groupId":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ResourceOptionsUpdateModel"},"recurringAvailability":{"nullable":true,"type":"boolean"},"serviceIds":{"items":{"type":"string"},"nullable":true,"type":"array"},"timezoneId":{"nullable":true,"type":"string"}},"type":"object"},"ResourceViewModel":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/AddressViewModel"},"availability":{"$ref":"#/components/schemas/ResourceHoursViewModel"},"bioLink":{"nullable":true,"type":"string"},"bookingNotification":{"format":"int32","type":"integer"},"calendarAvailability":{"format":"int32","type":"integer"},"contact":{"$ref":"#/components/schemas/ContactViewModel"},"customFields":{"$ref":"#/components/schemas/CustomFieldInputModel"},"deletedStatus":{"type":"boolean"},"deletedTime":{"format":"date-time","nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"effectiveDate":{"format":"date-time","nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"gender":{"nullable":true,"type":"string"},"googleCalendarAuthUrl":{"nullable":true,"type":"string"},"googleCalendarAuthorized":{"type":"boolean"},"googleCalendarId":{"nullable":true,"type":"string"},"groupId":{"format":"int32","nullable":true,"type":"integer"},"hourly":{"format":"double","nullable":true,"type":"number"},"id":{"nullable":true,"type":"string"},"ignoreBusinessHours":{"type":"boolean"},"imageUrl":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"notificationType":{"format":"int32","type":"integer"},"object":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ResourceOptionsInputModel"},"outlookCalendarAuthUrl":{"nullable":true,"type":"string"},"outlookCalendarAuthorized":{"type":"boolean"},"outlookCalendarId":{"nullable":true,"type":"string"},"phone":{"$ref":"#/components/schemas/PhoneViewModel"},"recurringAvailability":{"nullable":true,"type":"boolean"},"services":{"items":{"$ref":"#/components/schemas/ResourceServiceViewModel"},"nullable":true,"type":"array"},"skypeName":{"nullable":true,"type":"string"},"sortKey":{"format":"int32","type":"integer"},"timezoneIana":{"nullable":true,"type":"string"},"timezoneId":{"nullable":true,"type":"string"},"timezoneOffset":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ResourcesInputModel":{"additionalProperties":false,"properties":{"resources":{"items":{"$ref":"#/components/schemas/ResourceInputModel"},"nullable":true,"type":"array"}},"type":"object"},"ResourcesUpdateModel":{"additionalProperties":false,"properties":{"resources":{"items":{"$ref":"#/components/schemas/ResourceBulkUpdateModel"},"nullable":true,"type":"array"}},"type":"object"},"ScheduleInputModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"bookingsPerSlot":{"format":"int32","type":"integer"},"interval":{"format":"int32","type":"integer"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"resourceGroupId":{"nullable":true,"type":"string"},"type":{"nullable":true,"type":"string"}},"type":"object"},"ScheduleListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ScheduleViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ScheduleUpdateModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"bookingsPerSlot":{"format":"int32","type":"integer"},"interval":{"format":"int32","type":"integer"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"resourceGroupId":{"nullable":true,"type":"string"},"type":{"nullable":true,"type":"string"}},"type":"object"},"ScheduleViewModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/CalendarHoursViewModel"},"bookingsPerSlot":{"format":"int32","type":"integer"},"deletedStatus":{"type":"boolean"},"deletedTime":{"format":"date-time","nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"interval":{"format":"int32","type":"integer"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"primary":{"type":"boolean"},"resourceGroupId":{"nullable":true,"type":"string"},"type":{"nullable":true,"type":"string"}},"type":"object"},"ServiceAllocationInputModel":{"additionalProperties":false,"properties":{"bookingLimit":{"format":"int32","type":"integer"},"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"locationId":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"resourceId":{"nullable":true,"type":"string"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceAllocationListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ServiceAllocationViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ServiceAllocationUpdateModel":{"additionalProperties":false,"properties":{"bookingLimit":{"format":"int32","type":"integer"},"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"locationId":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"nullable":true,"type":"boolean"},"resourceId":{"nullable":true,"type":"string"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceAllocationViewModel":{"additionalProperties":false,"properties":{"bookingCount":{"format":"int32","type":"integer"},"bookingLimit":{"format":"int32","type":"integer"},"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"endDate":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"id":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatViewModel"},"repeats":{"type":"boolean"},"resourceAddress":{"$ref":"#/components/schemas/AddressViewModel"},"resourceDescription":{"nullable":true,"type":"string"},"resourceId":{"nullable":true,"type":"string"},"resourceImageUrl":{"nullable":true,"type":"string"},"resourceName":{"nullable":true,"type":"string"},"resourcePhone":{"$ref":"#/components/schemas/PhoneViewModel"},"serviceDescription":{"nullable":true,"type":"string"},"serviceDuration":{"format":"int32","type":"integer"},"serviceId":{"nullable":true,"type":"string"},"serviceImageUrl":{"nullable":true,"type":"string"},"serviceName":{"nullable":true,"type":"string"},"startDate":{"nullable":true,"type":"string"},"startTime":{"format":"int32","type":"integer"},"timezoneName":{"nullable":true,"type":"string"},"timezoneOffset":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceAllocationsInputModel":{"additionalProperties":false,"properties":{"serviceAllocations":{"items":{"$ref":"#/components/schemas/ServiceAllocationInputModel"},"nullable":true,"type":"array"}},"type":"object"},"ServiceAvailabilityViewModel":{"additionalProperties":false,"properties":{"ignoreBusinessHours":{"type":"boolean"},"serviceId":{"format":"int32","type":"integer"},"serviceName":{"nullable":true,"type":"string"},"weekdays":{"$ref":"#/components/schemas/AvailabilityViewModel2"}},"type":"object"},"ServiceBlockInputModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"locationId":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatInputModel"},"repeats":{"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceBlockListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ServiceBlockViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ServiceBlockUpdateModel":{"additionalProperties":false,"properties":{"endDate":{"format":"date","nullable":true,"type":"string"},"endTime":{"format":"int32","nullable":true,"type":"integer"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatUpdateModel"},"repeats":{"nullable":true,"type":"boolean"},"startDate":{"format":"date","nullable":true,"type":"string"},"startTime":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceBlockViewModel":{"additionalProperties":false,"properties":{"deletedStatus":{"type":"boolean"},"deletedTime":{"nullable":true,"type":"string"},"endDate":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"id":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"repeat":{"$ref":"#/components/schemas/RepeatViewModel"},"repeats":{"type":"boolean"},"serviceId":{"nullable":true,"type":"string"},"startDate":{"nullable":true,"type":"string"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"ServiceCalendarInputModel":{"additionalProperties":false,"properties":{"calendarId":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"serviceId":{"nullable":true,"type":"string"}},"type":"object"},"ServiceCalendarViewModel":{"additionalProperties":false,"properties":{"calendarId":{"nullable":true,"type":"string"},"calendarName":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"serviceId":{"nullable":true,"type":"string"},"serviceName":{"nullable":true,"type":"string"}},"type":"object"},"ServiceFeesInputModel":{"additionalProperties":false,"properties":{"cancellationFeeAmount":{"format":"double","type":"number"},"cancellationFeeTaxable":{"type":"boolean"},"feeAmount":{"format":"double","type":"number"},"feeTaxable":{"type":"boolean"},"nonRefundable":{"type":"boolean"}},"type":"object"},"ServiceFeesUpdateModel":{"additionalProperties":false,"properties":{"cancellationFeeAmount":{"format":"double","nullable":true,"type":"number"},"cancellationFeeTaxable":{"nullable":true,"type":"boolean"},"feeAmount":{"format":"double","nullable":true,"type":"number"},"feeTaxable":{"nullable":true,"type":"boolean"},"nonRefundable":{"nullable":true,"type":"boolean"}},"type":"object"},"ServiceGroupInputModel":{"additionalProperties":false,"properties":{"description":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"type":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceGroupListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ServiceGroupViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ServiceGroupViewModel":{"additionalProperties":false,"properties":{"companyId":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"id":{"nullable":true,"type":"string"},"imageUrl":{"nullable":true,"type":"string"},"isDeleted":{"type":"boolean"},"locationId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"object":{"nullable":true,"type":"string"},"type":{"format":"int32","type":"integer"}},"type":"object"},"ServiceHourViewModel":{"additionalProperties":false,"properties":{"endTime":{"format":"int32","type":"integer"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"ServiceHoursViewModel":{"additionalProperties":false,"properties":{"fri":{"$ref":"#/components/schemas/ServiceHourViewModel"},"mon":{"$ref":"#/components/schemas/ServiceHourViewModel"},"sat":{"$ref":"#/components/schemas/ServiceHourViewModel"},"sun":{"$ref":"#/components/schemas/ServiceHourViewModel"},"thu":{"$ref":"#/components/schemas/ServiceHourViewModel"},"tue":{"$ref":"#/components/schemas/ServiceHourViewModel"},"wed":{"$ref":"#/components/schemas/ServiceHourViewModel"}},"type":"object"},"ServiceImageInputModel":{"additionalProperties":false,"properties":{"imageFileData":{"nullable":true,"type":"string"},"imageFileName":{"nullable":true,"type":"string"}},"type":"object"},"ServiceInputModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"bookingInterval":{"format":"int32","type":"integer"},"bookingLimit":{"format":"int32","type":"integer"},"customFields":{"$ref":"#/components/schemas/CustomFieldInputModel"},"description":{"nullable":true,"type":"string"},"duration":{"format":"int32","type":"integer"},"fees":{"$ref":"#/components/schemas/ServiceFeesInputModel"},"locationId":{"nullable":true,"type":"string"},"maxCapacity":{"format":"int32","type":"integer"},"maxGroupSize":{"format":"int32","type":"integer"},"mediaPageUrl":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ServiceOptionsInputModel"},"public":{"type":"boolean"},"serviceGroupId":{"nullable":true,"type":"string"},"settings":{"$ref":"#/components/schemas/ServiceSettingsInputModel"},"type":{"nullable":true,"type":"string"}},"type":"object"},"ServiceListViewModel":{"additionalProperties":false,"properties":{"count":{"format":"int32","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ServiceViewModel"},"nullable":true,"type":"array"},"hasMore":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"total":{"format":"int32","type":"integer"},"url":{"nullable":true,"type":"string"}},"type":"object"},"ServiceOptionsInputModel":{"additionalProperties":false,"properties":{"consumerPadding":{"nullable":true,"type":"boolean"},"defaultService":{"nullable":true,"type":"boolean"},"durationInterval":{"format":"int32","nullable":true,"type":"integer"},"durationMax":{"format":"int32","nullable":true,"type":"integer"},"durationMin":{"format":"int32","nullable":true,"type":"integer"},"durationSelect":{"nullable":true,"type":"boolean"},"padding":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceOptionsUpdateModel":{"additionalProperties":false,"properties":{"consumerPadding":{"nullable":true,"type":"boolean"},"defaultService":{"nullable":true,"type":"boolean"},"durationInterval":{"format":"int32","nullable":true,"type":"integer"},"durationMax":{"format":"int32","nullable":true,"type":"integer"},"durationMin":{"format":"int32","nullable":true,"type":"integer"},"durationSelect":{"nullable":true,"type":"boolean"},"padding":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceSettingsInputModel":{"additionalProperties":false,"properties":{"bookAheadUnit":{"format":"int32","nullable":true,"type":"integer"},"bookAheadValue":{"format":"int32","nullable":true,"type":"integer"},"bookInAdvance":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceSettingsUpdateModel":{"additionalProperties":false,"properties":{"bookAheadUnit":{"format":"int32","nullable":true,"type":"integer"},"bookAheadValue":{"format":"int32","nullable":true,"type":"integer"},"bookInAdvance":{"format":"int32","nullable":true,"type":"integer"}},"type":"object"},"ServiceUpdateModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/AvailabilityInputModel"},"bookingInterval":{"format":"int32","nullable":true,"type":"integer"},"bookingLimit":{"format":"int32","nullable":true,"type":"integer"},"customFields":{"$ref":"#/components/schemas/CustomFieldUpdateModel"},"description":{"nullable":true,"type":"string"},"duration":{"format":"int32","nullable":true,"type":"integer"},"fees":{"$ref":"#/components/schemas/ServiceFeesUpdateModel"},"locationId":{"nullable":true,"type":"string"},"maxCapacity":{"format":"int32","nullable":true,"type":"integer"},"maxGroupSize":{"format":"int32","nullable":true,"type":"integer"},"mediaPageUrl":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"options":{"$ref":"#/components/schemas/ServiceOptionsUpdateModel"},"public":{"nullable":true,"type":"boolean"},"serviceGroupId":{"nullable":true,"type":"string"},"settings":{"$ref":"#/components/schemas/ServiceSettingsUpdateModel"},"type":{"nullable":true,"type":"string"}},"type":"object"},"ServiceViewModel":{"additionalProperties":false,"properties":{"availability":{"$ref":"#/components/schemas/ServiceHoursViewModel"},"bookAheadUnit":{"format":"int32","type":"integer"},"bookAheadValue":{"format":"int32","type":"integer"},"bookInAdvance":{"format":"int32","type":"integer"},"bookingInterval":{"format":"int32","type":"integer"},"bookingLimit":{"format":"int32","type":"integer"},"calendarId":{"nullable":true,"type":"string"},"calendarResourceGroupId":{"nullable":true,"type":"string"},"cancellationFeeAmount":{"format":"double","type":"number"},"cancellationFeeTaxable":{"type":"boolean"},"companyId":{"nullable":true,"type":"string"},"consumerPadding":{"type":"boolean"},"customFields":{"$ref":"#/components/schemas/CustomFieldInputModel"},"dailyBookingLimitCount":{"format":"int32","type":"integer"},"dailyBookingLimitMinutes":{"format":"int32","type":"integer"},"defaultService":{"type":"boolean"},"description":{"nullable":true,"type":"string"},"duration":{"format":"int32","type":"integer"},"durationInterval":{"format":"int32","type":"integer"},"durationMax":{"format":"int32","type":"integer"},"durationMin":{"format":"int32","type":"integer"},"durationSelect":{"type":"boolean"},"feeAmount":{"format":"double","type":"number"},"feeTaxable":{"type":"boolean"},"id":{"nullable":true,"type":"string"},"imageUrl":{"nullable":true,"type":"string"},"locationId":{"nullable":true,"type":"string"},"maxBookingLimit":{"format":"int32","type":"integer"},"maxCapacity":{"format":"int32","type":"integer"},"maxGroupSize":{"format":"int32","type":"integer"},"maxResourceBookingLimit":{"format":"int32","type":"integer"},"mediaPageUrl":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"nonRefundable":{"type":"boolean"},"object":{"nullable":true,"type":"string"},"padding":{"format":"int32","type":"integer"},"roundRobin":{"format":"int32","type":"integer"},"serviceGroupId":{"format":"int32","nullable":true,"type":"integer"},"serviceGroupName":{"nullable":true,"type":"string"},"showOnline":{"type":"boolean"},"type":{"nullable":true,"type":"string"}},"type":"object"},"SystemTimezoneViewModel":{"additionalProperties":false,"properties":{"baseUtcOffset":{"format":"int32","type":"integer"},"daylightName":{"nullable":true,"type":"string"},"displayName":{"nullable":true,"type":"string"},"standardName":{"nullable":true,"type":"string"},"supportsDaylightSavingTime":{"type":"boolean"},"timezoneIana":{"nullable":true,"type":"string"},"timezoneId":{"nullable":true,"type":"string"}},"type":"object"},"TimezoneViewModel":{"additionalProperties":false,"properties":{"object":{"nullable":true,"type":"string"},"regions":{"items":{"type":"string"},"nullable":true,"type":"array"},"timezones":{"items":{"$ref":"#/components/schemas/TimezonesViewModel"},"nullable":true,"type":"array"}},"type":"object"},"TimezonesViewModel":{"additionalProperties":false,"properties":{"name":{"nullable":true,"type":"string"},"region":{"nullable":true,"type":"string"},"timezoneIanna":{"nullable":true,"type":"string"},"tzOffset":{"format":"int32","type":"integer"}},"type":"object"},"TravelViewModel":{"additionalProperties":false,"properties":{"distance":{"nullable":true,"type":"string"},"proximity":{"nullable":true,"type":"string"},"startAddress":{"nullable":true,"type":"string"},"startLat":{"nullable":true,"type":"string"},"startLon":{"nullable":true,"type":"string"},"units":{"nullable":true,"type":"string"}},"type":"object"},"WeekDayInputModel":{"additionalProperties":false,"properties":{"endTime":{"format":"int32","type":"integer"},"startTime":{"format":"int32","type":"integer"}},"type":"object"},"WeekDayViewModel2":{"additionalProperties":false,"properties":{"displayEndTime":{"nullable":true,"type":"string"},"displayStartTime":{"nullable":true,"type":"string"},"endTime":{"format":"int32","type":"integer"},"startTime":{"format":"int32","type":"integer"}},"type":"object"}},"securitySchemes":{"oauth2":{"flows":{"clientCredentials":{"scopes":{"OnSchedApi":"Consumer and Setup Interface","distance":"Travel and Distance calculations"},"tokenUrl":"https://sandbox-identity.onsched.com/connect/token"}},"type":"oauth2"}}}}