{"openapi":"3.0.1","info":{"title":"Admin API","version":"5.0.0"},"servers":[{"url":"https://{api_url}/api/v5","variables":{"api_url":{"default":"example.jrni.com"}}}],"security":[{"App-Id":[],"Auth-Token":[]}],"tags":[{"name":"Client"},{"name":"Booking"},{"name":"Image"},{"name":"Time"},{"name":"Person"},{"name":"Bookable"},{"name":"Sequence"},{"name":"Address"},{"name":"Company"},{"name":"Multi Staff Scheduling"},{"name":"Notification Preference"},{"name":"Queue Setting"},{"name":"Service"},{"name":"Resource"},{"name":"Slot"},{"name":"Purchase"},{"name":"Deal"},{"name":"Administrator"},{"name":"Schedule"},{"name":"Event Chain"},{"name":"Event Group"},{"name":"Calendar Event"},{"name":"Pre Paid Booking"},{"name":"Bulk Purchase"},{"name":"Terminology"},{"name":"Opening Hours"},{"name":"Communication"},{"name":"Reason"},{"name":"Question Group"},{"name":"Custom Field"},{"name":"Company Text"},{"name":"admin"},{"name":"Company Closures"},{"name":"Company Closure Exclusions"},{"name":"Coupons"},{"name":"User"},{"name":"Event"},{"name":"Events"},{"name":"Guests"},{"name":"Check_in"}],"paths":{"/admin/search/client":{"post":{"tags":["Client"],"summary":"Client Search","description":"An ElasticSearch query endpoint. ElasticSearch provides a full Query DSL based on JSON to define queries.[Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html)\ne.g 1: Match queries accept text/numerics/dates, analyses them, and constructs a query\n{\"query\": {\"match\" : { \"name\" : \"John Doe\" } }}\ne.g 2: A query that matches documents matching boolean combinations of other queries\n{\"query\": {\"bool\": {\"must\": [{\"match\": {\"questions.id\": 12345}},{\"match\": {\"questions.answer\": \"No\"}}]}}}","operationId":"postAdminSearchClient","responses":{"200":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/search/booking":{"post":{"tags":["Booking"],"summary":"Booking Search","description":"An Elastic search query endpoint to query booking details.\nElasticsearch provides a full Query DSL based on JSON to define queries.<br>\n[Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html)\ne.g: a query that matches documents matching boolean combinations of other queries\n<pre>\n{\n\"query\": {\n\"bool\":{\n\"must\":[\n{\"match\": {\"location\":\"-71.2760089\" }},\n{\"match\":{\"settings.multi_stats.completed\":\"2016-07-19T18:18:04+01:00\"}},\n{\"match\":{\"settings.obfuscated_id\":\"9cSDq_ffSGbCz6Yp\"}}\n]\n}\n}\n}\n</pre>","operationId":"postAdminSearchBooking","responses":{"200":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/image/link/{id}":{"get":{"tags":["Image"],"summary":"Get Image Link","description":"Retrieves a image link.","operationId":"getAdminImageLinkId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get Image Link","content":{}}}},"delete":{"tags":["Image"],"summary":"Delete Image Link","description":"Deletes an image link.","operationId":"deleteAdminImageLinkId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/image/link":{"get":{"tags":["Image"],"summary":"List Image Links","description":"Retrieves a list of images attached to a global category.","operationId":"getAdminImageLink","parameters":[{"name":"category_id","in":"query","description":"Category ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Image Link Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalImageLinkCollection"}}}}}},"post":{"tags":["Image"],"summary":"Create Image","description":"Uploads a image and links it to objects.","operationId":"postAdminImageLink","requestBody":{"content":{"application/json":{"schema":{"required":["category_id","file"],"type":"object","properties":{"category_id":{"type":"integer","description":"Category ID","format":"int32"},"default":{"type":"boolean","description":"Is this the default image for this mode","default":true},"position":{"type":"integer","description":"Position in a carousel","format":"int32"},"file":{"type":"string","description":"The new image to add","format":"binary"}}}}},"required":true},"responses":{"200":{"description":"Image Link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalImageLink"}}}}}}},"/admin/{company_id}/dates":{"get":{"tags":["Time"],"summary":"List Dates","description":"Get a list of available dates in which bookings can occur\nThe amount of times left available on each day are specified\nIf person_id and resource_id are not specified and the service has multiple people\nor resources (as specified by the who/what/where config), it will count the times\nfor any given date","operationId":"getAdminCompanyIdDates","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"service_id","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"resource_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start Date in ISO-8601 format: %Y-%m-%d","required":true,"schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"End Date in ISO-8601 format: %Y-%m-%d","schema":{"type":"string","format":"date"}},{"name":"time_zone","in":"query","description":"Show times in a different time zone than the company","schema":{}},{"name":"only_available","in":"query","description":"Only show bookable start times","schema":{"type":"boolean"}},{"name":"ignore_booking","in":"query","description":"The ID of an existing booking to ignore - which will remove the associated slots from availability search","schema":{"type":"integer","format":"int32"}},{"name":"duration","in":"query","description":"Desired duration of the appointment, in minutes","schema":{"type":"integer","format":"int32"}},{"name":"assets[company_rule]","in":"query","description":"This asset must be on a company matching a rule. Valid values: 'default', 'any', Array<CompanyID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[person_rule]","in":"query","description":"This asset must book a person matching a rule. Valid values: 'any', 'any_or_none', Array<PersonID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[resource_rule]","in":"query","description":"This asset must book a resource matching a rule. Valid values: 'any', 'any_or_none', Array<ResourceID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[pre_time]","in":"query","description":"Pre Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[post_time]","in":"query","description":"Post Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[person_group_id]","in":"query","description":"Person Group ID. This will overwrite the person_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"assets[resource_group_id]","in":"query","description":"Resource Group ID. This will overwrite the resource_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"Date Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateCollection"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/times/{datetime}":{"get":{"tags":["Time"],"description":"Read Time","operationId":"getAdminCompanyIdTimesDatetime","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"datetime","in":"path","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"service_id","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"ignore_booking","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"resource_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"duration","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"assets[company_rule]","in":"query","description":"This asset must be on a company matching a rule. Valid values: 'default', 'any', Array<CompanyID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[person_rule]","in":"query","description":"This asset must book a person matching a rule. Valid values: 'any', 'any_or_none', Array<PersonID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[resource_rule]","in":"query","description":"This asset must book a resource matching a rule. Valid values: 'any', 'any_or_none', Array<ResourceID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[pre_time]","in":"query","description":"Pre Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[post_time]","in":"query","description":"Post Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[person_group_id]","in":"query","description":"Person Group ID. This will overwrite the person_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"assets[resource_group_id]","in":"query","description":"Resource Group ID. This will overwrite the resource_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"Start Time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Time"}}}}}}},"/admin/{company_id}/times":{"get":{"tags":["Time"],"summary":"List Times","description":"Get a list of available booking start times for a particular day.\nThe available durations and prices are included under each start time.\nIf person_id and resource_id are not specified and the service has multiple people or\nresources (as specified by the who/what/where config), times that are the same but differ by\nperson or resource are merged together by default. If booking a particular person or\nresource either pass in their IDs in the person_id and resource_id params or pass the\nmerge_times param as false.\nRequested Assets (`requested_assets`), this parameters describe a list of rules which a time must\nsatisfy to be considered available.\nA Requested asset consists of a\n* company_rule -> can be either `default` (it will respect the company of the URL), `any` (it can be any company that provides the service), or `Array<CompanyID>` one of these companies (which must provide the service).\n* person_rule -> can be either `any` (any person which provides the service), `any_or_none` (the user is indifferent as to whether a person is associated to the booking), `Array<PersonID>` one of these people who provide the service.\n* resource_rule -> same as person_rule:  can be either `any` (any resource which provides the service), `any_or_none` (the user is indifferent as to whether a resource is associated to the booking), `Array<PersonID>` one of these resources with which the service can be provided.\nFactors that influence availability include:\n* Service, Person and Resource schedules\n* Bookings and blocked time\n* Company opening hours\n* Max/min advance\n* Min/max consecutive bookings (fixed time service)\n* Durations (flex time service)\n* Travel time (flex time service)\n* Booking time step","operationId":"getAdminCompanyIdTimes","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"service_id","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"resource_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start Date in ISO-8601 format: %Y-%m-%d","required":true,"schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"End Date in ISO-8601 format: %Y-%m-%d","schema":{"type":"string","format":"date"}},{"name":"time_zone","in":"query","description":"Show times in a different time zone than the company","schema":{}},{"name":"only_available","in":"query","description":"Only show bookable start times","schema":{"type":"boolean"}},{"name":"ignore_booking","in":"query","description":"The ID of an existing booking to ignore - which will remove the associated slots from availability search","schema":{"type":"integer","format":"int32"}},{"name":"duration","in":"query","description":"Desired duration of the appointment, in minutes","schema":{"type":"integer","format":"int32"}},{"name":"pre_time","in":"query","description":"Pre Time. Overrides service configuration","schema":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}},{"name":"post_time","in":"query","description":"Post Time. Overrides service configuration","schema":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}},{"name":"assets[company_rule]","in":"query","description":"This asset must be on a company matching a rule. Valid values: 'default', 'any', Array<CompanyID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[person_rule]","in":"query","description":"This asset must book a person matching a rule. Valid values: 'any', 'any_or_none', Array<PersonID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[resource_rule]","in":"query","description":"This asset must book a resource matching a rule. Valid values: 'any', 'any_or_none', Array<ResourceID>","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"assets[pre_time]","in":"query","description":"Pre Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[post_time]","in":"query","description":"Post Time. Overrides service configuration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,320,325,330,335,340,345,350,355,360,365,370,375,380,385,390,395,400,405,410,415,420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160,1165,1170,1175,1180,1185,1190,1195,1200,1205,1210,1215,1220,1225,1230,1235,1240,1245,1250,1255,1260,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1360,1365,1370,1375,1380,1385,1390,1395,1400,1405,1410,1415,1420,1425,1430,1435,1440]}}},{"name":"assets[person_group_id]","in":"query","description":"Person Group ID. This will overwrite the person_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"assets[resource_group_id]","in":"query","description":"Resource Group ID. This will overwrite the resource_rule","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"Time Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeCollection"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/people/search":{"get":{"tags":["Person"],"summary":"Search for a person","description":"Allows you to search for a person.","operationId":"getAdminCompanyIdPeopleSearch","parameters":[{"name":"term","in":"query","description":"The search term to use","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Search for a person","content":{}}}}},"/admin/{company_id}/people/search/bookable":{"get":{"tags":["Person","Bookable"],"summary":"Search for a person able to be used in a booking at the current company","description":"Allows you to search for a person who is able to be used in a booking at the current company.","operationId":"getAdminCompanyIdPeopleSearchBookable","parameters":[{"name":"term","in":"query","description":"The search term to use","required":true,"schema":{"type":"string"}},{"name":"current_company_only","in":"query","description":"Only return people from the current company","schema":{"type":"boolean"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Search for a person able to be used in a booking at the current company","content":{}}}}},"/admin/{company_id}/members/search":{"get":{"tags":["Client"],"summary":"Search for a member","description":"Allows you to search for a member.","operationId":"getAdminCompanyIdMembersSearch","parameters":[{"name":"term","in":"query","description":"The search term to use","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Search for a member","content":{}}}}},"/admin/{company_id}/{type}/sequence":{"get":{"tags":["Sequence"],"summary":"Get sequence","description":"Retrieves sequence of services, resources or questions","operationId":"getAdminCompanyIdTypeSequence","parameters":[{"name":"type","in":"path","description":"Type","required":true,"schema":{"type":"string","enum":["services","resources","booking_questions","client_questions"]}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Sequence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sequence"}}}}}},"put":{"tags":["Sequence"],"summary":"Update sequence","description":"Update sequence of services, resources or questions","operationId":"putAdminCompanyIdTypeSequence","parameters":[{"name":"type","in":"path","description":"Type","required":true,"schema":{"type":"string","enum":["services","resources","booking_questions","client_questions"]}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["items[id]"],"type":"object","properties":{"items[id]":{"type":"array","description":"ID","items":{"type":"integer","format":"int32"}}}}}},"required":true},"responses":{"200":{"description":"Sequence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sequence"}}}}}}},"/admin/{company_id}/{type}/sequence/edit":{"get":{"tags":["Sequence"],"summary":"Edit Sequence","description":"Retrieves the schema for editing sequence of services, resources and questions","operationId":"getAdminCompanyIdTypeSequenceEdit","parameters":[{"name":"type","in":"path","description":"Type","required":true,"schema":{"type":"string","enum":["services","resources","booking_questions","client_questions"]}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Sequence Schema","content":{}}}}},"/admin/{company_id}/addresses/{id}":{"get":{"tags":["Address"],"summary":"Get Address","description":"Retrieves a address.","operationId":"getAdminCompanyIdAddressesId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Address ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}}}}},"put":{"tags":["Address"],"summary":"Update Address","description":"Updates an existing Address","operationId":"putAdminCompanyIdAddressesId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Address ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["address1"],"type":"object","properties":{"address1":{"type":"string","description":"House name/no"},"address2":{"type":"string","description":"Address line 1"},"address3":{"type":"string","description":"Address line 2"},"address4":{"type":"string","description":"Address line 3"},"address5":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"email":{"type":"string"},"mobile":{"type":"string","description":"Mobile number:\n              - **International format**: Use a plus sign followed by the country code, a space, then the number (e.g., +1 1234567890).\n              - **Local format**: Use digits and optional hyphens/parenthesis (e.g. 1234567890)."},"phone":{"type":"string","description":"Phone number:\n              - **International format**: Use a plus sign followed by the country code, a space, then the number (e.g., +1 1234567890).\n              - **Local format**: Use digits and optional hyphens/parenthesis (e.g. 1234567890)."},"name":{"type":"string"},"homephone_prefix":{"type":"string"},"lat":{"type":"number","format":"float"},"long":{"type":"number","format":"float"},"map_url":{"type":"string","description":"Google Maps URL"}}}}},"required":true},"responses":{"200":{"description":"Address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}}},"400":{"description":"Bad Request","content":{}}}},"delete":{"tags":["Address"],"summary":"Delete Address","description":"Deletes an Address","operationId":"deleteAdminCompanyIdAddressesId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Address ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/addresses":{"get":{"tags":["Address"],"summary":"List Addresses","description":"Retrieves a list of addresses.\nResults are returned as a paginated list.","operationId":"getAdminCompanyIdAddresses","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}}],"responses":{"200":{"description":"Address Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressCollection"}}}},"404":{"description":"Not Found","content":{}}}},"post":{"tags":["Address"],"summary":"Create Address","description":"Creates a new address","operationId":"postAdminCompanyIdAddresses","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["address1"],"type":"object","properties":{"address1":{"type":"string","description":"House name/number"},"address2":{"type":"string","description":"Address Line 1"},"address3":{"type":"string","description":"Address line 2"},"address4":{"type":"string","description":"Address line 3"},"address5":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"email":{"type":"string"},"mobile":{"type":"string","description":"Mobile number:\n              - **International format**: Use a plus sign followed by the country code, a space, then the number (e.g., +1 1234567890).\n              - **Local format**: Use digits and optional hyphens/parenthesis (e.g. 1234567890)."},"phone":{"type":"string","description":"Phone number:\n              - **International format**: Use a plus sign followed by the country code, a space, then the number (e.g., +1 1234567890).\n              - **Local format**: Use digits and optional hyphens/parenthesis (e.g. 1234567890)."},"name":{"type":"string"},"homephone_prefix":{"type":"string"},"lat":{"type":"number","format":"float"},"long":{"type":"number","format":"float"},"map_url":{"type":"string","description":"Location on Google Maps"}}}}},"required":true},"responses":{"201":{"description":"Address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}}},"400":{"description":"Bad Request","content":{}}}}},"/admin/{company_id}/addresses/{id}/edit":{"get":{"tags":["Address"],"summary":"Edit Address (Schema)","description":"Retrieves the schema for editing an existing address.\nThe schema can be used to validate the payload for the Update Address API.","operationId":"getAdminCompanyIdAddressesIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Address Schema","content":{}}}}},"/admin/{company_id}/addresses/new":{"get":{"tags":["Address"],"summary":"New Address (Schema)","description":"Retrieves the schema for creating a new address.\nThe schema can be used to validate the payload for the Create Address API.","operationId":"getAdminCompanyIdAddressesNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Address Schema","content":{}}}}},"/admin/{company_id}/company":{"get":{"tags":["Company"],"summary":"Get Company","description":"Retrieves a company.","operationId":"getAdminCompanyIdCompany","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}}}},"put":{"tags":["Company"],"summary":"Update Company","description":"Updates an existing company.","operationId":"putAdminCompanyIdCompany","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"embed":{"type":"string","description":"A comma seperated list of resources to embed. Available: address"},"name":{"type":"string","description":"Name"},"description":{"type":"string","description":"Description"},"timezone":{"type":"string","description":"Time Zone"},"website":{"type":"string","description":"Company Website"},"facebook":{"type":"string","description":"Company Facebook Page"},"twitter":{"type":"string","description":"Company Twitter Account"},"ref":{"type":"string","description":"API Reference"},"live":{"type":"boolean","description":"Is the company live for taking bookings"},"address[name]":{"type":"string"},"address[address1]":{"type":"string"},"address[address2]":{"type":"string"},"address[address3]":{"type":"string"},"address[address4]":{"type":"string"},"address[address5]":{"type":"string"},"address[postcode]":{"type":"string"},"address[phone]":{"type":"string"},"address[lat]":{"type":"number","format":"float"},"address[long]":{"type":"number","format":"float"},"address[country]":{"type":"string"},"address_id":{"type":"integer","format":"int32"},"locale":{"type":"string","description":"The locale of the current company.","enum":["cs","nl","da","en-AU","en-HK","en-GB","en","fi","fr-CA","fr","de","is-IS","it","ja","ko","no","pt","pt-BR","es","es-MX","sv","zh","zh-HK","zh-TW","th","ar","sk-SK","pl"]}}}}}},"responses":{"200":{"description":"Company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Company"],"summary":"Delete Company","description":"Deletes a company. Bookings will not be cancelled.","operationId":"deleteAdminCompanyIdCompany","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/company/find_by_ref(/{ref})":{"get":{"tags":["Company"],"summary":"Find Company by reference","description":"Find a Company using an external API reference","operationId":"getAdminCompanyIdCompanyFindByRef(Ref)","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Reference id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"404":{"description":"Company Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}}}}},"/admin/{company_id}/company/search":{"get":{"tags":["Company"],"summary":"Company Search","description":"Search for child companies, load all of the links and properties of those companies","operationId":"getAdminCompanyIdCompanySearch","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"strategy","in":"query","description":"Indicate how it searches company tree\nDefault strategy leafs to consist with current behaviour\nleafs: returns all leaf companies (companies have no children), in GP-P-C structure, this returns only C\nchildren: returns only children companies, in GP-P-C structure, this returns only P\ndescendants: returns all descendant companies in the hierarchy tree, in GP-P-C structure, this returns P and C","schema":{"type":"string","default":"leafs","enum":["leafs","children","descendants"]}},{"name":"include_self","in":"query","description":"Indicate if response includes current company","schema":{"type":"boolean"}},{"name":"company[text]","in":"query","description":"Company name, description or reference","schema":{"type":"string"}},{"name":"company[company_type]","in":"query","description":"Company type, physical (default) or virtual","schema":{"type":"string","enum":["physical","virtual"]}},{"name":"address[lat]","in":"query","description":"Address latitude","required":true,"schema":{"type":"string"}},{"name":"address[long]","in":"query","description":"Address longitude","required":true,"schema":{"type":"string"}},{"name":"address[radius]","in":"query","description":"Address Search radius(km)","schema":{"type":"integer","format":"int32"}},{"name":"enabled_only","in":"query","description":"Only return companies that are enabled","schema":{"type":"boolean"}},{"name":"service_id","in":"query","description":"A parent-level ID of a service which the companies provide","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}}],"responses":{"200":{"description":"Company with the given ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCollection"}}}}}}},"/admin/{company_id}/company/edit":{"get":{"tags":["Company"],"summary":"Company Edit","description":"Edit the company/location","operationId":"getAdminCompanyIdCompanyEdit","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Edit Company","content":{}}}}},"/admin/{company_id}/company/children":{"get":{"tags":["Company"],"summary":"List Child Companies","description":"Retrieves a list of child companies for a parent company.","operationId":"getAdminCompanyIdCompanyChildren","parameters":[{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"order_by[id]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[name]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[api_ref]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"person_id","in":"query","description":"Person Id","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Company Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCollection"}}}}}},"post":{"tags":["Company"],"summary":"Create Child Company","description":"Create a child company given a parent company.\n<ol>\n<li> Services and Events get automatically copied down from the parent.\n<li> Settings are copied down from the parent.\n<li> People are not manually re-assigned, you can manually assign people to the new child company.\n<li> Resources are not copied down, you can re-create the resources at the new child company.\n<li> Timezone is assigned as the parent company's timezone, unless specified otherwise.\n</ol>\nYou need to be logged in as an owner of the parent company to create a branch.","operationId":"postAdminCompanyIdCompanyChildren","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"embed":{"type":"string","description":"A comma seperated list of resources to embed. Available: address"},"name":{"type":"string","description":"Company name"},"timezone":{"type":"string"},"ref":{"type":"string","description":"API Reference"}}}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}}}}},"/admin/{company_id}/company/logo":{"put":{"tags":["Company"],"summary":"Update A companies logo","description":"Updates the logo on a Company","operationId":"putAdminCompanyIdCompanyLogo","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["logo"],"type":"object","properties":{"logo":{"type":"string","description":"Logo image file","format":"binary"}}}}},"required":true},"responses":{"200":{"description":"Update A companies logo","content":{}}}}},"/admin/{company_id}/settings/multi_staff/edit":{"get":{"tags":["Multi Staff Scheduling"],"summary":"Edit Multi Staff Scheduling (Schema)","description":"Retrieves the schema for editing multi staff scheduling.","operationId":"getAdminCompanyIdSettingsMultiStaffEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Multi Staff Scheduling Schema","content":{}}}}},"/admin/{company_id}/settings/multi_staff/new":{"get":{"tags":["Multi Staff Scheduling"],"summary":"New Multi Staff Scheduling (Schema)","description":"Retrieves the schema for creating a new multi staff scheduling.","operationId":"getAdminCompanyIdSettingsMultiStaffNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Multi Staff Scheduling Schema","content":{}}}}},"/admin/{company_id}/settings/multi_staff":{"put":{"tags":["Multi Staff Scheduling"],"summary":"Update Multi Staff Scheduling Strategy","description":"Updates the multi staff scheduling strategy for a company.","operationId":"putAdminCompanyIdSettingsMultiStaff","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["strategy"],"type":"object","properties":{"strategy":{"type":"string","enum":["at_child_only","at_all_siblings","at_all_parents"]}}}}},"required":true},"responses":{"200":{"description":"Company Settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySettings"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/settings/notification_preference":{"put":{"tags":["Notification Preference"],"summary":"Update Company Notification Preference Setting","description":"Updates the notification preferences settings for a company.","operationId":"putAdminCompanyIdSettingsNotificationPreference","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["enabled"],"type":"object","properties":{"enabled":{"type":"boolean"}}}}},"required":true},"responses":{"200":{"description":"Company Settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySettings"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/settings/queue_setting/edit":{"get":{"tags":["Queue Setting"],"summary":"Edit Queue Setting (Schema)","description":"Retrieves the schema for editing Queue Setting.","operationId":"getAdminCompanyIdSettingsQueueSettingEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Queue Setting Schema","content":{}}}}},"/admin/{company_id}/settings/queue_setting/new":{"get":{"tags":["Queue Setting"],"summary":"Queue Setting (Schema)","description":"Retrieves the schema for creating Queue Setting.","operationId":"getAdminCompanyIdSettingsQueueSettingNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Queue Setting Schema","content":{}}}}},"/admin/{company_id}/settings/queue_setting":{"put":{"tags":["Queue Setting"],"summary":"Update Queue Setting","description":"Updates the Queue Setting for a company.","operationId":"putAdminCompanyIdSettingsQueueSetting","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference_prefix":{"type":"boolean"},"ticket_number_strategy":{"type":"string","enum":["random","sequential"]}}}}}},"responses":{"200":{"description":"Company Settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanySettings"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/services/{id}":{"get":{"tags":["Service"],"summary":"Get Service","description":"Retrieves a bookable service.","operationId":"getAdminCompanyIdServicesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Service id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}}}},"put":{"tags":["Service"],"summary":"Update Service","description":"Updates an existing service.","operationId":"putAdminCompanyIdServicesId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putAdminCompanyIdServices"}}},"required":true},"responses":{"200":{"description":"Service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}},"x-codegen-request-body-name":"AdminCompanyIdServices"},"delete":{"tags":["Service"],"summary":"Delete Service","description":"Deletes a bookable service.","operationId":"deleteAdminCompanyIdServicesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Service ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/services/{id}/new_booking":{"get":{"tags":["Service"],"summary":"New Service Booking (Schema)","description":"Retrieves a new booking schema for a bookable service.","operationId":"getAdminCompanyIdServicesIdNewBooking","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Service ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Schema","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/services":{"get":{"tags":["Service"],"summary":"List Services","description":"Retrieves a list of bookable services.\nResults are returned in a paginated list.","operationId":"getAdminCompanyIdServices","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":1000}},{"name":"reference","in":"query","description":"Filter by custom reference","schema":{"type":"string"}},{"name":"availability","in":"query","description":"Valid Statuses: 0 - Appointment based services, 1 - One off or regular events and courses, 4 - Queue only services","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["0","1","4"]}}},{"name":"queuing_disabled","in":"query","description":"Filter queueable services","schema":{"type":"boolean"}},{"name":"person_id","in":"query","description":"Person id","schema":{"type":"string"}},{"name":"exclude_disabled","in":"query","description":"Excludes disabled services","schema":{"type":"boolean"}},{"name":"visibility_types","in":"query","description":"Filter service with different visibility_types","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["public","private","private_and_personal_booking_link"]}}}],"responses":{"200":{"description":"Services","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCollection"}}}}}},"post":{"tags":["Service"],"summary":"Create Service","description":"Creates a new bookable service.","operationId":"postAdminCompanyIdServices","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postAdminCompanyIdServices"}}},"required":true},"responses":{"200":{"description":"Service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}}},"x-codegen-request-body-name":"AdminCompanyIdServices"}},"/admin/{company_id}/services/find_by_ref/{ref}":{"get":{"tags":["Service"],"summary":"Find Service By Reference","description":"Retrieves a bookable service that has a particular reference ID.","operationId":"getAdminCompanyIdServicesFindByRefRef","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"ref","in":"path","description":"Your reference id for the service","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}}}}},"/admin/{company_id}/services/{id}/edit":{"get":{"tags":["Service"],"summary":"Edit Service (Schema)","description":"Retrieves the schema for editing a bookable service.\nThe schema can be used to validate the payload for the Update Service API.","operationId":"getAdminCompanyIdServicesIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Service Schema","content":{}}}}},"/admin/{company_id}/services/new":{"get":{"tags":["Service"],"summary":"New Service (Schema)","description":"Retrieves the schema for creating a new bookable service.\nThe schema can be used to validate the payload for the Create Service API.","operationId":"getAdminCompanyIdServicesNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Service Schema","content":{}}}}},"/admin/{company_id}/people/{id}":{"get":{"tags":["Person"],"summary":"Get Person","description":"Retrieves a bookable person.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"getAdminCompanyIdPeopleId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Person ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Person"],"summary":"Update Person","description":"Updates an existing person.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"putAdminCompanyIdPeopleId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putAdminCompanyIdPeople"}}},"required":true},"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}},"x-codegen-request-body-name":"AdminCompanyIdPeople"},"delete":{"tags":["Person"],"summary":"Delete Person","description":"Deletes a bookable person.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"deleteAdminCompanyIdPeopleId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Person ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"You cannot delete this staff member as they still have upcoming bookings - you must cancel these first","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/people/{id}/block":{"put":{"tags":["Person"],"summary":"Create Person Block (V5)","description":"Blocks out a time slot for a bookable person.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"putAdminCompanyIdPeopleIdBlock","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Person ID","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_time","recurrence_rule[number]","start_time"],"type":"object","properties":{"start_time":{"type":"string","description":"Block start time (ISO8601 format)"},"end_time":{"type":"string","description":"Block end time (ISO8601 format)"},"num_book":{"type":"integer","description":"Number of bookings (default: 1)","format":"int32","default":1},"len":{"type":"integer","description":"Length of the block (slots count)","format":"int32","default":1},"service_type":{"type":"string","description":"Service type (time/day)","default":"0"},"allday":{"type":"boolean","description":"Whether this block applies to the whole day"},"istep":{"type":"integer","description":"Step for indexing slots","format":"int32"},"recurrence_rule[number]":{"type":"integer","description":"Total number of occurrences (must be greater than 0 and not exceed 30)","format":"int32"},"private_note":{"type":"string","description":"Private note for the space/booking"}}}}},"required":true},"responses":{"200":{"description":"Slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Slot"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/people":{"get":{"tags":["Person"],"summary":"List People","description":"Retrieves a list of bookable people.\nResults are returned in a paginated list.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"getAdminCompanyIdPeople","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":1000}},{"name":"site","in":"query","description":"A site wide search, allowed on enterprise clients only","schema":{"type":"boolean"}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: images, immediate_schedule, object_mappings","schema":{"type":"string"}},{"name":"exclude_disabled","in":"query","description":"Exclude disabled people, only allowed on site wide search","schema":{"type":"boolean"}},{"name":"reference","in":"query","description":"Filter by custom reference","schema":{"type":"string"}},{"name":"include_descendants","in":"query","description":"Return people from descendant companies","schema":{"type":"boolean"}},{"name":"group_id","in":"query","description":"Group ID","schema":{"type":"integer","format":"int32"}},{"name":"ungrouped","in":"query","description":"Return people not in a group","schema":{"type":"boolean"}},{"name":"assigned_to_queues","in":"query","description":"Returns people with queueing enabled and have atleast one queue","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Person Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonCollection"}}}}}},"post":{"tags":["Person"],"summary":"Create Person","description":"Creates a new bookable person.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"postAdminCompanyIdPeople","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postAdminCompanyIdPeople"}}},"required":true},"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}}},"x-codegen-request-body-name":"AdminCompanyIdPeople"}},"/admin/{company_id}/people/find_by_ref/{ref}":{"get":{"tags":["Person"],"summary":"Find Person By Reference","description":"Retrieves a bookable person that has a particular reference ID.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"getAdminCompanyIdPeopleFindByRefRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Your reference ID for the person","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/people/{id}/edit":{"get":{"tags":["Person"],"summary":"Edit Person (Schema)","description":"Retrieves the schema for editing an existing bookable person.\nThe schema can be used to validate the payload for the Update Person API.","operationId":"getAdminCompanyIdPeopleIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"exclude","in":"query","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Person Schema","content":{}}}}},"/admin/{company_id}/people/new":{"get":{"tags":["Person"],"summary":"New Person (Schema)","description":"Retrieves the schema for creating a new bookable person.\nThe schema can be used to validate the payload for the Create Person API.","operationId":"getAdminCompanyIdPeopleNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"exclude","in":"query","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Person Schema","content":{}}}}},"/admin/{company_id}/people/find_by_ref":{"post":{"tags":["Person"],"summary":"Find Person By Reference","description":"Retrieves a bookable person that has a particular reference ID.\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.","operationId":"postAdminCompanyIdPeopleFindByRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["reference"],"type":"object","properties":{"reference":{"type":"string","description":"Your reference ID for the person"}}}}},"required":true},"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/people/{person_id}/companies":{"get":{"tags":["Person"],"summary":"Get Person Companies","description":"Retrieves companies for a person","operationId":"getAdminCompanyIdPeoplePersonIdCompanies","parameters":[{"name":"person_id","in":"path","description":"Person ID","required":true,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Search","schema":{"type":"string"}},{"name":"page","in":"query","description":"Page","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Per page","schema":{"type":"integer","format":"int32","default":30}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Person companies","content":{}}}},"patch":{"tags":["Person"],"summary":"Update Person Companies","description":"Updates companies for a person","operationId":"patchAdminCompanyIdPeoplePersonIdCompanies","parameters":[{"name":"person_id","in":"path","description":"Person ID","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["companies[id]"],"type":"object","properties":{"companies[id]":{"type":"array","description":"Company ID","items":{"type":"integer","format":"int32"}},"companies[enabled]":{"type":"array","description":"Enabled","items":{"type":"boolean","default":true}}}}}},"required":true},"responses":{"204":{"description":"Success","content":{}}}}},"/admin/{company_id}/resources/{id}":{"get":{"tags":["Resource"],"summary":"Get Resource","description":"Retrieves a bookable resource.","operationId":"getAdminCompanyIdResourcesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Resource ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Resource"],"summary":"Update Resource","description":"Updates an existing bookable resource.","operationId":"putAdminCompanyIdResourcesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putAdminCompanyIdResources"}}},"required":true},"responses":{"200":{"description":"Resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}},"x-codegen-request-body-name":"AdminCompanyIdResources"},"delete":{"tags":["Resource"],"summary":"Resource Delete","description":"Deletes a bookable resource.","operationId":"deleteAdminCompanyIdResourcesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Resource ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/resources/{id}/block":{"put":{"tags":["Resource"],"summary":"Create Resource Block","description":"Blocks out a time slot for a bookable resource.","operationId":"putAdminCompanyIdResourcesIdBlock","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Slot"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/resources":{"get":{"tags":["Resource"],"summary":"List Resources","description":"Retrieves a list of bookable resources.\nResults are returned as a paginated list.","operationId":"getAdminCompanyIdResources","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":1000}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: images, immediate_schedule, object_mappings","schema":{"type":"string"}},{"name":"reference","in":"query","description":"Filter by custom reference","schema":{"type":"string"}},{"name":"group_id","in":"query","description":"Group ID","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"List Resources","content":{}}}},"post":{"tags":["Resource"],"summary":"Create Resource","description":"Creates a new bookable resource.","operationId":"postAdminCompanyIdResources","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postAdminCompanyIdResources"}}},"required":true},"responses":{"200":{"description":"Resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}}},"x-codegen-request-body-name":"AdminCompanyIdResources"}},"/admin/{company_id}/resources/{id}/edit":{"get":{"tags":["Resource"],"summary":"Edit Resource","description":"Retrieves the schema for editing a bookable resource.\nThe schema can be used to validate the payload for the Update Resource API.","operationId":"getAdminCompanyIdResourcesIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Resource Schema","content":{}}}}},"/admin/{company_id}/resources/new":{"get":{"tags":["Resource"],"summary":"New Resource (Schema)","description":"Retrieves the schema for creating a new bookable resource.\nThe schema can be used to validate the payload for the Create Resource API.","operationId":"getAdminCompanyIdResourcesNew","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Resource Schema","content":{}}}}},"/admin/{company_id}/slots/{id}":{"get":{"tags":["Slot"],"summary":"Get Slot","description":"Retrieves a slot.","operationId":"getAdminCompanyIdSlotsId","parameters":[{"name":"company_id","in":"path","description":"Company id, required, must match Auth-Token company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Slot ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Slot"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Slot"],"summary":"Update Slot","description":"Update a Specific Booked Slot\nProvide an auth-token, a company id and a slot id to\nmake updates to the placement of that time slot","operationId":"putAdminCompanyIdSlotsId","parameters":[{"name":"company_id","in":"path","description":"Company id, required, must match Auth-Token company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Slot ID","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_time","start_time"],"type":"object","properties":{"start_time":{"type":"string","description":"Start time (example format: 2001-02-03T17:05:06)"},"end_time":{"type":"string","description":"End time (example format: 2001-02-03T17:05:06)"}}}}},"required":true},"responses":{"200":{"description":"Slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Slot"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Slot"],"summary":"Delete (Cancel) Slot","description":"Delete a Specific Booked Slot\nProvide an auth-token, a company id and a slot id to\ndelete that time slot","operationId":"deleteAdminCompanyIdSlotsId","parameters":[{"name":"company_id","in":"path","description":"Company id, required, must match Auth-Token company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Slot id, required","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/slots":{"get":{"tags":["Slot"],"summary":"List Slot","description":"Retrieves a list of slots.\nResults are returned in a paginated list.\nYou can optionally filter by service, resource and person","operationId":"getAdminCompanyIdSlots","parameters":[{"name":"company_id","in":"path","description":"Company id, required, must match Auth-Token company id","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date in ISO-8601 (YYYY-MM-DD), required if no single date","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date in ISO-8601 (YYYY-MM-DD), required if no single date","schema":{"type":"string"}},{"name":"date","in":"query","description":"Single Date in ISO-8601 (YYYY-MM-DD), required if no start/end date","schema":{"type":"string"}},{"name":"resource_id","in":"query","description":"Optionally filter by a single resource id","schema":{"type":"integer","format":"int32"}},{"name":"resource_ids","in":"query","description":"Optionally filter by a multiple resource ids","schema":{}},{"name":"service_id","in":"query","description":"Optionally filter by a single service id","schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","description":"Optionally filter by a single person id","schema":{"type":"integer","format":"int32"}},{"name":"person_ids","in":"query","description":"Optionally filter by a multiple person ids","schema":{}},{"name":"group_id","in":"query","description":"Optionally filter by a single group id","schema":{"type":"integer","format":"int32"}},{"name":"include_no_group","in":"query","description":"If passing in a group - also include staff and resources with no group assigned","schema":{"type":"boolean"}},{"name":"include_booking_details","in":"query","description":"includes the bookings made against the slots","schema":{"type":"boolean"}},{"name":"include_event_details","in":"query","description":"includes the events made against the slots","schema":{"type":"boolean"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Slot Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlotCollection"}}}}}},"post":{"tags":["Slot"],"summary":"Create Slot","description":"Create a specific custom time slot\nProvide an auth-token and a company id to\nblock out time as an available booking slot.\nPass either a start and end time, or use the allday parameter\nto set up the placement of the blocked time","operationId":"postAdminCompanyIdSlots","parameters":[{"name":"company_id","in":"path","description":"Company id, required, must match Auth-Token company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["start_time"],"type":"object","properties":{"start_time":{"type":"string","description":"Start time (example format: 2001-02-03T17:05:06), required"},"end_time":{"type":"string","description":"End time (example format: 2001-02-03T17:05:06), required if not an all day booking"},"allday":{"type":"string","description":"All day block? (true/false)"},"person_id":{"type":"string","description":"Person id"},"resource_id":{"type":"string","description":"Resource id"}}}}},"required":true},"responses":{"200":{"description":"Slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Slot"}}}}}}},"/admin/{company_id}/bookings/{booking_id}/notes":{"get":{"tags":["Booking"],"summary":"List notes of the Booking","description":"List notes of the booking","operationId":"getAdminCompanyIdBookingsBookingIdNotes","parameters":[{"name":"booking_id","in":"path","description":"Booking ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"type","in":"query","schema":{"type":"string","enum":["private_notes","edit_notes"]}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteCollection"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"post":{"tags":["Booking"],"summary":"Add note to Booking","description":"Add a note to an existing booking","operationId":"postAdminCompanyIdBookingsBookingIdNotes","parameters":[{"name":"booking_id","in":"path","description":"Booking ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["type"],"type":"object","properties":{"note":{"type":"string","description":"Note Content"},"type":{"type":"string","enum":["private_notes","edit_notes"]},"reason_id":{"type":"integer","description":"Configured Reason ID","format":"int32"}}}}},"required":true},"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/bookings/{booking_id}/notes/{id}":{"get":{"tags":["Booking"],"summary":"Get a note of the Booking","description":"Get a note of the booking","operationId":"getAdminCompanyIdBookingsBookingIdNotesId","parameters":[{"name":"booking_id","in":"path","description":"Booking ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Note ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/bookings/{id}/cancel":{"post":{"tags":["Booking"],"summary":"Cancel Booking","description":"Cancels an existing booking","operationId":"postAdminCompanyIdBookingsIdCancel","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"notify":{"type":"boolean","default":true},"cancel_reason":{"type":"string","description":"Cancel Reason"},"refund_payment":{"type":"boolean","description":"Refund a payment made against this booking?","default":true}}}}}},"responses":{"200":{"description":"Cancelled Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Booking"}}}}}}},"/admin/{company_id}/bookings/{id}":{"get":{"tags":["Booking"],"summary":"Get Booking","description":"Retrieves a booking","operationId":"getAdminCompanyIdBookingsId","parameters":[{"name":"id","in":"path","description":"Booking ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Booking"}}}}}},"put":{"tags":["Booking"],"summary":"Update Booking","description":"Updates an existing Booking","operationId":"putAdminCompanyIdBookingsId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putAdminCompanyIdBookings"},"examples":{"Service Booking":{"value":{"datetime":"2022-01-25T10:30:00-07:00","service_id":1,"client_id":1,"questions":[{"id":1,"answer":"Forty Two"}]}},"Event Booking":{"value":{"event_id":1,"event_chain_id":1,"client_id":1,"questions":[{"id":1,"answer":"Forty Two"}]}}}}},"required":true},"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Booking"}}}}},"x-codegen-request-body-name":"AdminCompanyIdBookings"}},"/admin/{company_id}/bookings":{"get":{"tags":["Booking"],"summary":"List Bookings","description":"Retrieves a list of bookings. Results are returned as a paginated list.","operationId":"getAdminCompanyIdBookings","parameters":[{"name":"start_date","in":"query","description":"Start date","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date","schema":{"type":"string"}},{"name":"include_cancelled","in":"query","description":"Include cancelled","schema":{"type":"boolean"}},{"name":"cancelled","in":"query","description":"Only get cancelled bookings","schema":{"type":"boolean"}},{"name":"event_id","in":"query","description":"Event ID","schema":{"type":"integer","format":"int32"}},{"name":"category_id","in":"query","description":"Category ID","schema":{"type":"integer","format":"int32"}},{"name":"slot_id","in":"query","description":"Time slot ID","schema":{"type":"integer","format":"int32"}},{"name":"start_time","in":"query","description":"Start time. 24 hour clock. Format: HH:mm. Start date is required.","schema":{"type":"string"}},{"name":"end_time","in":"query","description":"End time. 24 hour clock. Format: HH:mm. End date is required.","schema":{"type":"string"}},{"name":"modified_since","in":"query","description":"Only include bookings modified after this datetime. Format YYYY-MM-DDTHH:mm:ss","schema":{"type":"string"}},{"name":"created_since","in":"query","description":"Only include bookings created after this datetime. Format YYYY-MM-DDTHH:mm:ss","schema":{"type":"string"}},{"name":"email","in":"query","description":"Only include bookings created on this e-mail address","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"client_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","description":"Staff member ID","schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","description":"Valid Statuses: 0 - Booking Avaiblable, 1 - Booking Enquired, 2 - Booking Reserved, 4 - Booking Booked, 3 - Booking Blocked, 6 - Booking Cancelled, 8 - Booking Waitlisted","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32","enum":[0,1,2,4,3,6,8]}}},{"name":"filter_by","in":"query","schema":{"type":"string"}},{"name":"filter_by_fields","in":"query","schema":{"type":"string"}},{"name":"order_by","in":"query","schema":{"type":"string"}},{"name":"order_by_reverse","in":"query","schema":{"type":"boolean"}},{"name":"purchase_id","in":"query","description":"Purchase total ID","schema":{"type":"integer","format":"int32"}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: address","schema":{"type":"string"}},{"name":"children","in":"query","description":"Show all bookings of companies that belong to parent","schema":{"type":"boolean"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCollection"}}}}}},"post":{"tags":["Booking"],"summary":"Create Booking","description":"Creates a new booking","operationId":"postAdminCompanyIdBookings","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postAdminCompanyIdBookings"},"examples":{"Service Booking":{"value":{"datetime":"2022-01-25T10:30:00-07:00","service_id":1,"client_id":1,"questions":[{"id":1,"answer":"Forty Two"}]}},"Event Booking":{"value":{"event_id":1,"event_chain_id":1,"client_id":1,"questions":[{"id":1,"answer":"Forty Two"}]}}}}},"required":true},"responses":{"201":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Booking"}}}}},"x-codegen-request-body-name":"AdminCompanyIdBookings"}},"/admin/{company_id}/bookings/{id}/edit":{"get":{"tags":["Booking"],"summary":"Edit Booking (Schema)","description":"Retrieves the schema for editing a booking.\nThe schema can be used to validate the payload for the Update Booking API.","operationId":"getAdminCompanyIdBookingsIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking Schema","content":{}}}}},"/admin/{company_id}/bookings/{space_id}/attendees":{"get":{"tags":["Booking"],"summary":"Obtains Attendees of Booking","description":"Obtains booking's attendees after it was added to booking","operationId":"getAdminCompanyIdBookingsSpaceIdAttendees","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendeeCollection"}}}}}},"post":{"tags":["Booking"],"summary":"Add Attendees To Booking","description":"Add attendee to booking","operationId":"postAdminCompanyIdBookingsSpaceIdAttendees","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["type"],"type":"object","properties":{"name":{"type":"string","description":"Attendee full name"},"first_name":{"type":"string","description":"Attendee first name"},"last_name":{"type":"string","description":"Attendee last name"},"telephone":{"type":"string","description":"Attendee telephone"},"consent":{"type":"boolean","description":"We have permission to store the attende data"},"relationship":{"type":"string","description":"Attendee relationship (i.e) lawyer, friend, or partner"},"type":{"type":"string","description":"customer, staff","enum":["staff","customer","unknown"]},"email":{"type":"string","description":"Attendee email"},"notify_member":{"type":"boolean","description":"Send a notification to the main booker","default":true},"notify_attendees":{"type":"boolean","description":"Send a notification to the attendee","default":true}}}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attendee"}}}}}}},"/admin/{company_id}/bookings/{space_id}/attendees/{attendee_id}":{"put":{"tags":["Booking"],"summary":"Modify Attendee","description":"Modifies an attendee of the booking","operationId":"putAdminCompanyIdBookingsSpaceIdAttendeesAttendeeId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"attendee_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Attendee full name"},"first_name":{"type":"string","description":"Attendee first name"},"last_name":{"type":"string","description":"Attendee last name"},"telephone":{"type":"string","description":"Attendee telephone"},"relationship":{"type":"string","description":"Attendee relationship (i.e) lawyer, friend, or partner"},"type":{"type":"string","description":"customer, staff"},"email":{"type":"string","description":"Attendee email"},"notify_member":{"type":"boolean","description":"Send a notification to the main booker","default":true}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attendee"}}}}}},"delete":{"tags":["Booking"],"summary":"Remove Attendee","description":"Deletes booking's attendees after it was added to booking","operationId":"deleteAdminCompanyIdBookingsSpaceIdAttendeesAttendeeId","parameters":[{"name":"notify_member","in":"query","description":"Send a notification to the main booker","schema":{"type":"boolean","default":true}},{"name":"notify_attendees","in":"query","description":"Send a notification to the attendee","schema":{"type":"boolean","default":true}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"attendee_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Remove Attendee","content":{}}}}},"/admin/{company_id}/client/{id}":{"get":{"tags":["Client"],"summary":"Get Client","description":"Retrieves a client.","operationId":"getAdminCompanyIdClientId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Client id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: bookings, pre_paid_bookings, next_booking","schema":{"type":"string"}},{"name":"includes","in":"query","description":"Optional extra fields to embed","schema":{"type":"string"}}],"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}},"put":{"tags":["Client"],"summary":"Update Client","description":"Updates an existing client.","operationId":"putAdminCompanyIdClientId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID can't be blank.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putAdminCompanyIdClient"}}},"required":true},"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"404":{"description":"Not Found","content":{}}},"x-codegen-request-body-name":"AdminCompanyIdClient"},"delete":{"tags":["Client"],"summary":"Delete Client","description":"Deletes a client.","operationId":"deleteAdminCompanyIdClientId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Client id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"obfuscate","in":"query","description":"To completely obfuscate member and all of the related records","schema":{"type":"boolean"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Record is not accessible from this company<br/>Cannot delete a client with upcoming bookings - cancel their bookings first<br/>Cannot delete a client with remaining prepaid bookings - change the number remaining to 0 first<br/>Cannot delete a client with a prepaid wallet - remove the wallet first","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}}},"/admin/{company_id}/client":{"get":{"tags":["Client"],"summary":"List Clients","description":"Retrieves a list of clients.\nResults are returned in a paginated list.","operationId":"getAdminCompanyIdClient","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"filter_by","in":"query","schema":{"type":"string"}},{"name":"filter_by_fields","in":"query","schema":{"type":"string"}},{"name":"order_by","in":"query","schema":{"type":"string"}},{"name":"order_by_reverse","in":"query","schema":{"type":"boolean"}},{"name":"default_company_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"embed","in":"query","description":"A comma seperated list of resources to embed. Available: bookings, pre_paid_bookings, next_booking","schema":{"type":"string"}},{"name":"includes","in":"query","description":"Optional extra fields to embed","schema":{"type":"string"}}],"responses":{"200":{"description":"Client Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}},"post":{"tags":["Client"],"summary":"Create Client","description":"Creates a new client.","operationId":"postAdminCompanyIdClient","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postAdminCompanyIdClient"}}},"required":true},"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}},"x-codegen-request-body-name":"AdminCompanyIdClient"}},"/admin/{company_id}/client/find_by_email/{email}":{"get":{"tags":["Client"],"summary":"Find Client By Email","description":"Retrieves a client that has a particular email address.","operationId":"getAdminCompanyIdClientFindByEmailEmail","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"email","in":"path","description":"Client's email address","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}}},"/admin/{company_id}/client/find_by_ref/{inline_ref}":{"get":{"tags":["Client"],"summary":"Find Client By Reference","description":"Retrieves a client that has a particular reference ID.","operationId":"getAdminCompanyIdClientFindByRefInlineRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"query","description":"Your reference id for the client","schema":{"type":"string"}},{"name":"include_auth_token","in":"query","description":"For obtaining an auth_token for authenticating as the client","schema":{"type":"boolean"}},{"name":"inline_ref","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}}},"/admin/{company_id}/client/{id}/edit":{"get":{"tags":["Client"],"summary":"Edit Client (Schema)","description":"Retrieves the schema for editing an existing client.\nThe schema can be used to validate the payload for the Update Client API.","operationId":"getAdminCompanyIdClientIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Client Schema","content":{}}}}},"/admin/{company_id}/client/new":{"get":{"tags":["Client"],"summary":"New Client (Schema)","description":"Retrieves the schema for creating a new client.\nThe schema can be used to validate the payload for the Create Client API.","operationId":"getAdminCompanyIdClientNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Client Schema","content":{}}}}},"/admin/{company_id}/client/find_by_ref":{"post":{"tags":["Client"],"summary":"Find Client By Reference","description":"Retrieves a client that has a particular reference ID.","operationId":"postAdminCompanyIdClientFindByRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["reference"],"type":"object","properties":{"reference":{"type":"string","description":"Your reference id for the client"},"include_auth_token":{"type":"boolean","description":"For obtaining an auth_token for authenticating as the client"},"embed":{"type":"string","description":"Specify associated objects to embed in response"}}}}},"required":true},"responses":{"200":{"description":"Client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}}}},"/admin/{company_id}/purchases/find_by_ref/{ref}":{"get":{"tags":["Purchase"],"summary":"Find Purchase By Reference","description":"Retrieves a purchase that has a particular reference ID.\nReturns last created purchase with matching reference.","operationId":"getAdminCompanyIdPurchasesFindByRefRef","parameters":[{"name":"ref","in":"path","description":"External reference id for the purchase","required":true,"schema":{"type":"string"}},{"name":"include_cancelled","in":"query","description":"Include cancelled bookings","schema":{"type":"boolean","default":true}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Purchase","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Purchase"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/purchases/{id}":{"get":{"tags":["Purchase"],"summary":"Get Purchase","description":"Retrieves a purchase.","operationId":"getAdminCompanyIdPurchasesId","parameters":[{"name":"id","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Purchase","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Purchase"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Purchase"],"summary":"Update Purchase","description":"Updates an existing purchase","operationId":"putAdminCompanyIdPurchasesId","parameters":[{"name":"id","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["client_id"],"type":"object","properties":{"client_id":{"type":"string","description":"Client ID"},"email":{"type":"boolean","description":"Send email to client","default":true}}}}},"required":true},"responses":{"200":{"description":"Purchase","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Purchase"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/purchases":{"get":{"tags":["Purchase"],"summary":"List Purchases","description":"Retrieves a list of purchases.\nResults can be filtered to only include purchases created between dates using the\ncreated_from and created_to params. Results can also be filtered to only include\npurchases for a particular customer via the client_id param or to only show purchases\ncreated by administrators with the admin param.","operationId":"getAdminCompanyIdPurchases","parameters":[{"name":"created_from","in":"query","description":"Only include bookings created after this datetime. Format YYYY-MM-DD HH:mm:ss","schema":{"type":"string"}},{"name":"created_to","in":"query","description":"Only include bookings created before this datetime. Format YYYY-MM-DD HH:mm:ss","schema":{"type":"string"}},{"name":"client_id","in":"query","description":"Filter by client ID","schema":{"type":"integer","format":"int32"}},{"name":"admin","in":"query","description":"Only return purchases made by administrators","schema":{"type":"boolean"}},{"name":"order_by","in":"query","description":"A field name to order the results by","schema":{"type":"string","default":"created_at"}},{"name":"order_by_reverse","in":"query","description":"Return results in reverse order","schema":{"type":"boolean","default":true}},{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Items per page","schema":{"type":"integer","format":"int32","default":30}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Purchase Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseCollection"}}}}}}},"/admin/{company_id}/purchases/{id}/payments":{"get":{"tags":["Purchase"],"summary":"List Purchase Payments","description":"Retrieves a list of payments for a purchase","operationId":"getAdminCompanyIdPurchasesIdPayments","parameters":[{"name":"id","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Payment Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CombinedPayment"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/purchases/{id}/pay":{"put":{"tags":["Purchase"],"summary":"Pay Purchase","description":"Marks a purchase as paid.","operationId":"putAdminCompanyIdPurchasesIdPay","parameters":[{"name":"id","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number","description":"Payment amount","format":"float"},"notes":{"type":"string","description":"Payment notes"},"payment_status":{"type":"string","description":"Payment status","default":"paid","enum":["paid","authorized"]},"transaction_id":{"type":"string","description":"Transaction ID"},"notify":{"type":"boolean","description":"Send email to client","default":true},"notify_admin":{"type":"boolean","description":"Send email to admin"},"payment_type":{"type":"integer","format":"int32","enum":["1","2","3"]}}}}}},"responses":{"200":{"description":"Purchase","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Purchase"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/deals/ref/{ref}":{"get":{"tags":["Deal"],"summary":"Find Deal By Reference","description":"Retrieves a deal that has a particular reference ID.","operationId":"getAdminCompanyIdDealsRefRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deal"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/deals":{"get":{"tags":["Deal"],"summary":"List Deals","description":"Retrieves a list of deals.","operationId":"getAdminCompanyIdDeals","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deal Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealCollection"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/deals/{deal_id}/codes/{code}":{"put":{"tags":["Deal"],"summary":"Update Deal Code","description":"Updates the details of a deal code using the code as an identifier","operationId":"putAdminCompanyIdDealsDealIdCodesCode","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"code","in":"path","description":"Purchase ID","required":true,"schema":{"type":"string"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"used":{"type":"boolean","description":"Has the code been used"}}}}}},"responses":{"200":{"description":"Deal Code","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealCode"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/deals/{deal_id}/codes":{"get":{"tags":["Deal"],"summary":"List Deal Codes","description":"Retrieves the list of deals codes for a deal","operationId":"getAdminCompanyIdDealsDealIdCodes","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"deal_id","in":"path","description":"Deal Id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Deal Code Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealCodeCollection"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/administrators/{id}":{"get":{"tags":["Administrator"],"summary":"Get Administrator","description":"Load a Administrator by ID","operationId":"getAdminCompanyIdAdministratorsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Administrator ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get Administrator","content":{}}}},"put":{"tags":["Administrator"],"summary":"Update Administrator","description":"Update an existing Administrator","operationId":"putAdminCompanyIdAdministratorsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Administrator ID","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Administrator's name"},"email":{"type":"string","description":"Administrator's email"},"role":{"type":"string","description":"Options are: owner, admin, user, callcenter"},"person_id":{"type":"integer","description":"Person id","format":"int32"},"person_view_enabled":{"type":"boolean","description":"Used when assigning a person. If omitted, defaults to true, restricting the user to viewing only their own person record. Set to false to create the link without limiting visibility"},"group_id":{"type":"integer","description":"Group id","format":"int32"},"password":{"type":"string","description":"New password if the e-mail doesn't belong to an existing account"},"password_confirmation":{"type":"string","description":"Password confirmation - only if the e-mail is new/"},"reference":{"type":"string","description":"The external reference that can be used to find the user"}}}}}},"responses":{"201":{"description":"Updated a Adminstator","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}}},"delete":{"tags":["Administrator"],"summary":"Delete Administrator","description":"Delete a Administrator","operationId":"deleteAdminCompanyIdAdministratorsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Administrator ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete Administrator","content":{}}}}},"/admin/{company_id}/administrators":{"get":{"tags":["Administrator"],"summary":"List Administrators","description":"Get a list of Administrators by Company\nResults are returned as a paginated list","operationId":"getAdminCompanyIdAdministrators","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}}],"responses":{"200":{"description":"Administrator","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdministratorCollection"}}}}}},"post":{"tags":["Administrator"],"summary":"Create Administrator","description":"Create a new Administrator","operationId":"postAdminCompanyIdAdministrators","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Administrator's name"},"email":{"type":"string","description":"Administrator's email"},"role":{"type":"string","description":"Options are: owner, admin, user, callcenter","default":"admin"},"person_id":{"type":"integer","description":"Person id","format":"int32"},"person_view_enabled":{"type":"boolean","description":"Used when assigning a person. If omitted, defaults to true, restricting the user to viewing only their own person record. Set to false to create the link without limiting visibility"},"group_id":{"type":"integer","description":"Group id","format":"int32"},"password":{"type":"string","description":"New password if the e-mail doesn't belong to an existing account"},"password_confirmation":{"type":"string","description":"Password confirmation - only if the e-mail is new/"},"reference":{"type":"string","description":"An external reference that can be used for lookup"}}}}},"required":true},"responses":{"201":{"description":"Create a new Adminstator","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}}}},"/admin/{company_id}/administrators/find_by_ref(/{ref})":{"get":{"tags":["Administrator"],"summary":"Get Administrator by reference","description":"Find an Administrator using a reference","operationId":"getAdminCompanyIdAdministratorsFindByRef(Ref)","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Reference ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Administrator","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}},"404":{"description":"Administrator Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}}}},"/admin/{company_id}/administrators/{id}/edit":{"get":{"tags":["Administrator"],"summary":"Edit (Schema)","description":"Get the 'Edit Administrator' form schema\nThis request returns the form schema for editing existing admins\nFor actual admin updates, use the Administrator Update endpoint","operationId":"getAdminCompanyIdAdministratorsIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Administrator ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Edit an Administrator","content":{}}}}},"/admin/{company_id}/administrators/new":{"get":{"tags":["Administrator"],"summary":"New (Schema)","description":"Get the 'New Administrator' form schema\nThis endpoint returns the form schema for creating new admins\nFor actual admin creation, use the Administrator Create endpoint","operationId":"getAdminCompanyIdAdministratorsNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Set Up New Adminstator","content":{}}}}},"/admin/{company_id}/schedules/{id}":{"get":{"tags":["Schedule"],"summary":"Get Schedule","description":"Retrieves a schedule.","operationId":"getAdminCompanyIdSchedulesId","parameters":[{"name":"id","in":"path","description":"Schedule id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start Date in ISO-8601","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End Date in ISO-8601","schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Schedule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schedule"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Schedule"],"summary":"Update Schedule","description":"Updates an existing schedule.","operationId":"putAdminCompanyIdSchedulesId","parameters":[{"name":"id","in":"path","description":"The id of the schedule","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Schedule name"},"desc":{"type":"string","description":"Schedule description"},"style":{"type":"integer","description":"Schedule style","format":"int32"}}}}}},"responses":{"200":{"description":"Schedule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schedule"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Schedule"],"summary":"Delete Schedule","description":"Deletes a schedule.","operationId":"deleteAdminCompanyIdSchedulesId","parameters":[{"name":"id","in":"path","description":"ID can't be blank.","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/schedules":{"get":{"tags":["Schedule"],"summary":"List Schedules","description":"Retrieves a list of schedules.\nThis can either get raw schedule rules - or compiled rules for a given date range","operationId":"getAdminCompanyIdSchedules","parameters":[{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"start_date","in":"query","description":"Start Date in ISO-8601","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End Date in ISO-8601","schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Schedule Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleCollection"}}}}}},"post":{"tags":["Schedule"],"summary":"Create Schedule","description":"Creates a new schedule.","operationId":"postAdminCompanyIdSchedules","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Schedule name"},"desc":{"type":"string","description":"Schedule description"},"style":{"type":"integer","description":"Schedule style","format":"int32","default":0}}}}},"required":true},"responses":{"200":{"description":"Schedule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schedule"}}}}}}},"/admin/{company_id}/schedules/{id}/edit":{"get":{"tags":["Schedule"],"summary":"Edit Schedule","description":"Retrieves the schema for editing a schedule.\nThe schema can be used to validate the payload for the Update Schedule API.","operationId":"getAdminCompanyIdSchedulesIdEdit","parameters":[{"name":"id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Schedule Schema","content":{}}}}},"/admin/{company_id}/schedules/new":{"get":{"tags":["Schedule"],"summary":"New Schedule (Schema)","description":"Retrieves the schema for creating a new schedule.\nThe schema can be used to validate the payload for the Create Schedule API.","operationId":"getAdminCompanyIdSchedulesNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Schedule Schema","content":{}}}}},"/admin/{company_id}/event_chains/{id}":{"get":{"tags":["Event Chain"],"summary":"Get Event Chain","description":"Retrieves an event chain.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"getAdminCompanyIdEventChainsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Event Chain ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Chain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventChain"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Event Chain"],"summary":"Update Event Chain","description":"Updates an existing event chain.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"putAdminCompanyIdEventChainsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"long_description":{"type":"string"},"spaces":{"type":"integer","format":"int32"},"resource_id":{"type":"integer","format":"int32"},"event_group_id":{"type":"integer","format":"int32"},"global_event_group_id":{"type":"integer","format":"int32"},"person_id":{"type":"integer","format":"int32"},"duration":{"type":"integer","format":"int32"},"datetime":{"type":"string","description":"Date and time in ISO-8601 (YYYY-MM-DD hh:mm), in increments of five minutes","format":"date-time"},"time":{"type":"string","description":"Time in ISO-8601 (YYYY-MM-DD hh:mm), in increments of five minutes","format":"date-time"},"start_date":{"type":"string","description":"Start date of the event chain","format":"date-time"},"end_date":{"type":"string","description":"End date of the event chain","format":"date-time"},"price":{"type":"integer","format":"int32"},"ticket_type":{"type":"string"},"detail_group_id":{"type":"integer","format":"int32"},"address_id":{"type":"integer","format":"int32"},"reference":{"type":"string","description":"Your reference id for the event chain"},"max_num_bookings":{"type":"integer","description":"Maximum number of bookings per transaction","format":"int32"},"min_advance":{"type":"string","description":"Minimum advance time for accepting the bookings"},"max_advance":{"type":"string","description":"Maximum advance time for accepting the bookings"},"min_cancel":{"type":"string","description":"Minimum duration of time for before booking cancelations are close"},"events[datetime]":{"type":"array","description":"Date and time in ISO-8601 (YYYY-MM-DD hh:mm)","items":{"type":"string","format":"date-time"}},"events[duration]":{"type":"array","description":"Event duration","items":{"type":"integer","format":"int32"}},"update_events":{"type":"string","description":"If you update the default resource/person/service, do you update all occurances of this event, options are 'all','future','none'","default":"all","enum":["all","none","future"]},"disabled":{"type":"boolean","description":"Disable this event chain without deleting it"},"repeat":{"type":"integer","description":"The repeat type of event chain. \n      Values:\n        None: 0\n        Week: 1\n        Fortnight: 2\n        Weekday: 3\n        Weekend: 4\n        Daily: 5\n        Custom: 6\n        Monthly day: 7\n    ","format":"int32","enum":["0","1","2","3","4","5","6","7"]},"type":{"type":"integer","description":"The type of event chain, default: SLOT. \n      Values:\n        Event: 0\n        Recurring: 2\n        Slot: 3\n    ","format":"int32","enum":["0","2","3"]},"allow_event_type_change":{"type":"boolean","description":"Is change of event type allowed (single -> recurring OR vise-versa)","default":true},"validate_availability":{"type":"boolean","description":"Validate that the staff member AND resource is available"}}}}}},"responses":{"200":{"description":"Event Chain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventChain"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Event Chain"],"summary":"Delete Event Chain","description":"Deletes an event chain.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"deleteAdminCompanyIdEventChainsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Event Chain ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_chains/{id}/new_booking":{"get":{"tags":["Event Chain"],"summary":"New Booking (Schema)","description":"Retrieves the schema for creating a new booking for an event.\nThe schema can be used to validate the payload for the Create Booking API.","operationId":"getAdminCompanyIdEventChainsIdNewBooking","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Event id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Booking Schema","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_chains":{"get":{"tags":["Event Chain"],"summary":"List Event Chains","description":"Retrieves a list of event chains.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"getAdminCompanyIdEventChains","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"member_level_id","in":"query","description":"Ask for pricing for the event targeted to a specific membership level","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"modified_since","in":"query","description":"Only include event chains modified after this datetime. Format YYYY-MM-DDTHH:mm:ss","schema":{"type":"string"}},{"name":"created_after","in":"query","description":"Only include event chains created after this datetime. Format YYYY-MM-DDTHH:mm:ss","schema":{"type":"string"}},{"name":"created_before","in":"query","description":"Only include event chains created until this datetime. Format YYYY-MM-DDTHH:mm:ss","schema":{"type":"string"}},{"name":"event_group_id","in":"query","description":"An event group","schema":{"type":"integer","format":"int32"}},{"name":"global_event_group_id","in":"query","description":"The global ID of An event group","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"include_disabled","in":"query","description":"Include disabled event chains","schema":{"type":"boolean"}},{"name":"include_deleted","in":"query","description":"Include deleted event chains","schema":{"type":"boolean"}},{"name":"only_disabled","in":"query","description":"Only disabled events","schema":{"type":"boolean"}},{"name":"event_type","in":"query","description":"Filter by event type","schema":{"type":"string","enum":["single_event","regular_event","course","event"]}},{"name":"order_by[name]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[start_date]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[created_at]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter_by[custom_fields_and_answers]","in":"query","description":"Business questions and answers","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"filter_by[custom_fields_and_answers][answer]","in":"query","description":"Answer to a specific business question","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"filter_by[custom_fields_and_answers][custom_field_id]","in":"query","description":"Business question id","style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"Event Chain Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventChainCollection"}}}}}},"post":{"tags":["Event Chain"],"summary":"Create Event Chain","description":"Creates a new event chain.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"postAdminCompanyIdEventChains","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"long_description":{"type":"string"},"spaces":{"type":"integer","format":"int32","default":10},"resource_id":{"type":"integer","format":"int32"},"detail_group_id":{"type":"integer","format":"int32"},"event_group_id":{"type":"integer","format":"int32"},"global_event_group_id":{"type":"integer","format":"int32"},"person_id":{"type":"integer","format":"int32"},"duration":{"type":"integer","format":"int32","default":60},"datetime":{"type":"string","description":"Date and time in ISO-8601 (YYYY-MM-DD hh:mm), in increments of five minutes","format":"date-time"},"time":{"type":"string","description":"Time in ISO-8601 (YYYY-MM-DD hh:mm), in increments of five minutes","format":"date-time"},"start_date":{"type":"string","description":"Start date of the event chain","format":"date-time"},"end_date":{"type":"string","description":"End date of the event chain","format":"date-time"},"price":{"type":"integer","format":"int32"},"ticket_type":{"type":"string","default":"multi_space"},"address_id":{"type":"integer","format":"int32"},"reference":{"type":"string","description":"Your reference id for the event chain"},"max_num_bookings":{"type":"integer","description":"Maximum number of bookings per transaction","format":"int32"},"min_advance":{"type":"string","description":"Minimum advance time for accepting the bookings"},"max_advance":{"type":"string","description":"Maximum advance time for accepting the bookings"},"min_cancel":{"type":"string","description":"Minimum duration of time for before booking cancelations are close"},"repeat":{"type":"integer","description":"The repeat type of event chain. \n      Values:\n        None: 0\n        Week: 1\n        Fortnight: 2\n        Weekday: 3\n        Weekend: 4\n        Daily: 5\n        Custom: 6\n        Monthly day: 7\n    ","format":"int32","default":6,"enum":["0","1","2","3","4","5","6","7"]},"events[datetime]":{"type":"array","description":"Date and time of the event in ISO-8601 (YYYY-MM-DD hh:mm)","items":{"type":"string","format":"date-time"}},"events[duration]":{"type":"array","description":"Duration of the event","items":{"type":"integer","format":"int32","default":60}},"disabled":{"type":"boolean","description":"Disable this event chain without deleting it"},"validate_availability":{"type":"boolean","description":"Validate that the staff member AND resource is available"},"type":{"type":"integer","description":"The type of event chain, default: SLOT. \n      Values:\n        Event: 0\n        Recurring: 2\n        Slot: 3\n    ","format":"int32","default":3,"enum":["0","2","3"]}}}}},"required":true},"responses":{"200":{"description":"Event Chain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventChain"}}}}}}},"/admin/{company_id}/event_chains/find_by_ref/{ref}":{"get":{"tags":["Event Chain"],"summary":"Get Event Chain By Reference ID","description":"Get a specific event chain using a reference ID\nIf you create or update an event chain with a custom reference you\ncan then use this id to get the event chain.\nEvent chains are either single events, regularly occurring events or are courses.","operationId":"getAdminCompanyIdEventChainsFindByRefRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Your reference id for the event chain","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Event Chain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventChain"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_chains/{id}/edit":{"get":{"tags":["Event Chain"],"summary":"Edit Event Chain (Schema)","description":"Retrieves the schema for editing an event chain.\nThe schema can be used to validate the payload for the Update Event Chain API.","operationId":"getAdminCompanyIdEventChainsIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Chain Schema","content":{}}}}},"/admin/{company_id}/event_chains/new":{"get":{"tags":["Event Chain"],"summary":"New Event Chain (Schema)","description":"Retrieves the schema for creating a new event chain.\nThe schema can be used to validate the payload for the Create Event Chain API.","operationId":"getAdminCompanyIdEventChainsNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Event Chain Schema","content":{}}}}},"/admin/{company_id}/event_groups/{id}":{"get":{"tags":["Event Group"],"summary":"Get Event Group","description":"Retrieves an event group","operationId":"getAdminCompanyIdEventGroupsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Service ID or name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Event Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventGroup"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Event Group"],"summary":"Update Event Group","description":"Updates an existing event group.","operationId":"putAdminCompanyIdEventGroupsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"reference":{"type":"string"},"disabled":{"type":"boolean"},"rules_group_id":{"type":"integer","format":"int32"}}}}}},"responses":{"200":{"description":"Event Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventGroup"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Event Group"],"summary":"Delete Event Group","description":"Deletes an event group.","operationId":"deleteAdminCompanyIdEventGroupsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Event Group ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_groups":{"get":{"tags":["Event Group"],"summary":"List Event Groups","description":"Retrieves a list of event groups.\nResults are returned in a paginated list.","operationId":"getAdminCompanyIdEventGroups","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"api_ref","in":"query","description":"Filter by custom reference","schema":{"type":"string"}}],"responses":{"200":{"description":"Event Group Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventGroupCollection"}}}},"404":{"description":"Not Found","content":{}}}},"post":{"tags":["Event Group"],"summary":"Create Event Group","description":"Creates a new event group.","operationId":"postAdminCompanyIdEventGroups","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"reference":{"type":"string"},"disabled":{"type":"boolean"},"rules_group_id":{"type":"integer","format":"int32"}}}}},"required":true},"responses":{"200":{"description":"Event Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventGroup"}}}}}}},"/admin/{company_id}/event_groups/find_by_ref/{ref}":{"get":{"tags":["Event Group"],"summary":"Find Event Group By Reference","description":"Retrieves an event group that has a particular reference ID","operationId":"getAdminCompanyIdEventGroupsFindByRefRef","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","description":"Your reference id for the event group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Event Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventGroup"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_groups/{id}/edit":{"get":{"tags":["Event Group"],"summary":"Edit Event Group (Schema)","description":"Retrieves the schema for editing an existing event group.\nThe schema can be used to validate the payload for the Update Event Group API.","operationId":"getAdminCompanyIdEventGroupsIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Group Schema","content":{}}}}},"/admin/{company_id}/event_groups/new":{"get":{"tags":["Event Group"],"summary":"New Event Group (Schema)","description":"Retrieves the schema for creating a new event group.\nThe schema can be used to validate the payload for the Create Event Group API.","operationId":"getAdminCompanyIdEventGroupsNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Event Group Schema","content":{}}}}},"/admin/{company_id}/calendar_events/{id}/cancel":{"post":{"tags":["Calendar Event"],"description":"Cancel Calendar Event","operationId":"postAdminCompanyIdCalendarEventsIdCancel","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"cancel_bookings":{"type":"boolean","default":true},"notify":{"type":"boolean","default":true}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarEvent"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/calendar_events/{id}":{"get":{"tags":["Calendar Event"],"summary":"Get Calendar Event","description":"Load a Specific Calendar Event Details","operationId":"getAdminCompanyIdCalendarEventsId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Calendar Event id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Calender Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarEvent"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Calendar Event"],"description":"Update Calendar Event","operationId":"putAdminCompanyIdCalendarEventsId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name","person_ids","resource_ids"],"type":"object","properties":{"name":{"type":"string"},"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"resource_ids":{"type":"array","items":{"type":"string"}},"person_ids":{"type":"array","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"Calendar Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarEvent"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/calendar_events":{"get":{"tags":["Calendar Event"],"summary":"List Calendar Events","description":"List of Calendar Events for a Company\nResults are returned as a paginated list\nThe start_time and end_time params filter the results. Calendar Events\noverlapping the datetime pair are returned.","operationId":"getAdminCompanyIdCalendarEvents","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"start_time","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"end_time","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"start_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":50}},{"name":"address_id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"resource_id","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Calendar Event Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarEventCollection"}}}}}},"post":{"tags":["Calendar Event"],"description":"Create Calendar Event","operationId":"postAdminCompanyIdCalendarEvents","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_time","name","person_ids","resource_ids","start_time"],"type":"object","properties":{"name":{"type":"string"},"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"resource_ids":{"type":"array","items":{"type":"string"}},"person_ids":{"type":"array","items":{"type":"string"}},"repeat_rule[id]":{"type":"integer","format":"int32"}}}}},"required":true},"responses":{"200":{"description":"Calendar Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarEvent"}}}}}}},"/admin/{company_id}/pre_paid_bookings/{id}":{"get":{"tags":["Pre Paid Booking"],"description":"Get Pre Paid Booking","operationId":"getAdminCompanyIdPrePaidBookingsId","parameters":[{"name":"id","in":"path","description":"Pre Paid Booking Id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get Pre Paid Booking","content":{}}}},"put":{"tags":["Pre Paid Booking"],"description":"Update Pre Paid Booking","operationId":"putAdminCompanyIdPrePaidBookingsId","parameters":[{"name":"id","in":"path","description":"Pre Paid Booking ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_date"],"type":"object","properties":{"end_date":{"type":"string","description":"End date in ISO-8601 (YYYY-MM-DD)"}}}}},"required":true},"responses":{"200":{"description":"Update Pre Paid Booking","content":{}}}},"delete":{"tags":["Pre Paid Booking"],"description":"Delete Pre Paid Booking","operationId":"deleteAdminCompanyIdPrePaidBookingsId","parameters":[{"name":"email","in":"query","description":"Email","schema":{"type":"boolean","default":true}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete Pre Paid Booking","content":{}}}}},"/admin/{company_id}/pre_paid_bookings":{"get":{"tags":["Pre Paid Booking"],"description":"List Pre Paid Bookings","operationId":"getAdminCompanyIdPrePaidBookings","parameters":[{"name":"resource_id","in":"query","description":"Optionally filter by a single resource id","schema":{"type":"integer","format":"int32"}},{"name":"service_id","in":"query","description":"Optionally filter by a single service id","schema":{"type":"integer","format":"int32"}},{"name":"member_id","in":"query","description":"Optionally filter by a member","schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","description":"Optionally filter by status","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start date in ISO-8601 (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"End date in ISO-8601 (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"created_since","in":"query","description":"Created since date time in ISO-8601 (YYYY-MM-DD hh:mm)","schema":{"type":"string","format":"date-time"}},{"name":"modified_since","in":"query","description":"Modified since date time in ISO-8601 (YYYY-MM-DD hh:mm)","schema":{"type":"string","format":"date-time"}},{"name":"bulk_purchase_id","in":"query","description":"Optionally filter by a bulk purchase id","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"List Pre Paid Bookings","content":{}}}}},"/admin/{company_id}/pre_paid_bookings/{pre_paid_booking_id}/spaces/{id}":{"delete":{"tags":["Pre Paid Booking"],"description":"Delete Space From A Pre Paid Booking","operationId":"deleteAdminCompanyIdPrePaidBookingsPrePaidBookingIdSpacesId","parameters":[{"name":"email","in":"query","description":"Email","schema":{"type":"boolean","default":true}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"pre_paid_booking_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete Space From A Pre Paid Booking","content":{}}}}},"/admin/{company_id}/bulk_purchases/{id}":{"get":{"tags":["Bulk Purchase"],"summary":"Get Bulk Purchase","description":"Retrieves a bulk purchase.","operationId":"getAdminCompanyIdBulkPurchasesId","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Bulk Purchase ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Bulk Purchase","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPurchase"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/bulk_purchases":{"get":{"tags":["Bulk Purchase"],"summary":"List Bulk Purchases","description":"Retrieves a list of bulk purchases.","operationId":"getAdminCompanyIdBulkPurchases","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"price_group_id","in":"query","description":"Optionally filter by a single price group id","schema":{"type":"integer","format":"int32"}},{"name":"use_by","in":"query","description":"Use by date in ISO-8601 (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"use_from","in":"query","description":"Use from date in ISO-8601 (YYYY-MM-DD)","schema":{"type":"string","format":"date"}},{"name":"status","in":"query","description":"Bulk purchase can be purchased true or false","schema":{"type":"boolean","default":true}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"children","in":"query","description":"Show all bulk purchases of companies that belong to parent","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Bulk Purchase Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPurchaseCollection"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/terminology":{"get":{"tags":["Terminology"],"summary":"Terminology Read","description":"Gets the defined terminology of the organization.\nFor example: In a hospital, the staff would be Doctors.\nResource might be hospital beds.","operationId":"getAdminCompanyIdTerminology","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Terminology Read","content":{}}}},"put":{"tags":["Terminology"],"summary":"Terminology Update","description":"Update terminology","operationId":"putAdminCompanyIdTerminology","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"Customer"},"customer_plural":{"type":"string","description":"Customer plural"},"location":{"type":"string","description":"Location"},"location_plural":{"type":"string","description":"Location plural"},"resource":{"type":"string","description":"Resource"},"resource_plural":{"type":"string","description":"Resource plural"},"service":{"type":"string","description":"Service"},"service_plural":{"type":"string","description":"Service plural"},"staff_member":{"type":"string","description":"Staff member"},"staff_member_plural":{"type":"string","description":"Staff member plural"}}}}}},"responses":{"200":{"description":"Terminology Update","content":{}}}}},"/admin/{company_id}/terminology/edit":{"get":{"tags":["Terminology"],"summary":"Terminology Edit","description":"Edit terminology schema form","operationId":"getAdminCompanyIdTerminologyEdit","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Terminology Edit","content":{}}}}},"/admin/{company_id}/opening_hours":{"get":{"tags":["Opening Hours"],"summary":"Company Opening Hours","description":"Get the Opening hours for a Company","operationId":"getAdminCompanyIdOpeningHours","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Company Opening Hours","content":{}}}},"put":{"tags":["Opening Hours"],"summary":"Update Company Opening Hours","description":"Update Opening hours for a Company","operationId":"putAdminCompanyIdOpeningHours","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["opening_hours[closes]","opening_hours[dayOfWeek]","opening_hours[opens]"],"type":"object","properties":{"opening_hours[opens]":{"type":"array","items":{"type":"string"}},"opening_hours[closes]":{"type":"array","items":{"type":"string"}},"opening_hours[dayOfWeek]":{"type":"array","items":{"type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}}},"required":true},"responses":{"200":{"description":"Opening Hours","content":{}}}}},"/admin/{company_id}/opening_hours/edit":{"get":{"tags":["Opening Hours"],"summary":"Edit Opening Hours (Schema)","description":"Edit the set of opening hours for a company","operationId":"getAdminCompanyIdOpeningHoursEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Opening Hours Schema","content":{}}}}},"/admin/{company_id}/image/pool/{id}":{"get":{"tags":["Image"],"summary":"Get Image","description":"Retrieves a image.","operationId":"getAdminCompanyIdImagePoolId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get Image","content":{}}}},"delete":{"tags":["Image"],"summary":"Delete Image","description":"Deletes an image.","operationId":"deleteAdminCompanyIdImagePoolId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete Image","content":{}}}}},"/admin/{company_id}/image/pool":{"get":{"tags":["Image"],"summary":"List Images","description":"Retrieves a list of images.","operationId":"getAdminCompanyIdImagePool","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Image Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageCollection"}}}}}}},"/admin/{company_id}/image/link/{id}":{"get":{"tags":["Image"],"summary":"Get Image Link","description":"Retrieves a image link.","operationId":"getAdminCompanyIdImageLinkId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get Image Link","content":{}}}},"delete":{"tags":["Image"],"summary":"Delete Image Link","description":"Deletes an image link.","operationId":"deleteAdminCompanyIdImageLinkId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/image/link":{"get":{"tags":["Image"],"summary":"List Image Links","description":"Retrieves a list of images attached to a service/person/resource/company.","operationId":"getAdminCompanyIdImageLink","parameters":[{"name":"client_id","in":"query","description":"Client ID","schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","description":"Person ID","schema":{"type":"integer","format":"int32"}},{"name":"resource_id","in":"query","description":"Resource ID","schema":{"type":"integer","format":"int32"}},{"name":"service_id","in":"query","description":"Service ID","schema":{"type":"integer","format":"int32"}},{"name":"event_chain_id","in":"query","description":"Event Chain ID","schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Image Link Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageLinkCollection"}}}}}},"post":{"tags":["Image"],"summary":"Create Image","description":"Uploads a image and links it to objects.","operationId":"postAdminCompanyIdImageLink","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"integer","description":"Client ID","format":"int32"},"person_id":{"type":"integer","description":"Person ID","format":"int32"},"resource_id":{"type":"integer","description":"Resource ID","format":"int32"},"service_id":{"type":"integer","description":"Service ID","format":"int32"},"event_chain_id":{"type":"integer","description":"Event Chain ID","format":"int32"},"default":{"type":"boolean","description":"Is this the default image for this mode","default":true},"position":{"type":"integer","description":"Position in a carousel","format":"int32"}}}}}},"responses":{"200":{"description":"Image Link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageLink"}}}}}}},"/admin/{company_id}/communications":{"post":{"tags":["Communication"],"summary":"Send Communication","description":"Send comms with content defined by liquid template","operationId":"postAdminCompanyIdCommunications","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["body[body_type]","body[value]","message_type","subject[subject_type]","subject[value]"],"type":"object","properties":{"entity":{"type":"string","enum":["booking","total","slot","client","custom_object","user","company"]},"id":{"type":"integer","format":"int32"},"subject[subject_type]":{"type":"string","default":"plaintext","enum":["plaintext","liquid","saved_liquid_template"]},"subject[value]":{"type":"string"},"body[body_type]":{"type":"string","default":"plaintext","enum":["plaintext","liquid","saved_liquid_template"]},"body[value]":{"type":"string"},"message_type":{"type":"string","enum":["email","sms","webhook","push"]},"sender":{"type":"string","description":"Defaults to the configured email address in settings if available else to JRNI <service@jrni.com>"},"recipient":{"type":"string","description":"The intended recepient, can be an email address or an sms capable mobile number"},"slot_id":{"type":"integer","description":"Sends an email to all attendees of the slot","format":"int32"},"member_id":{"type":"integer","description":"Logs email/sms in client interactions for this member id if recipient present","format":"int32"},"total_id":{"type":"integer","description":"Logs email/sms in booking and client interactions for this total id if recipient present","format":"int32"},"push_type":{"type":"string"},"public_push":{"type":"boolean"}}}}},"required":true},"responses":{"201":{"description":"Created","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/reasons":{"get":{"tags":["Reason"],"summary":"List Reasons","description":"Retrieves reasons. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"getAdminCompanyIdReasons","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Reasons","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReasonCollection"}}}},"400":{"description":"Invalid Configuration","content":{}}}},"post":{"tags":["Reason"],"summary":"Create Reason","description":"Creates reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"postAdminCompanyIdReasons","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["reason_type"],"type":"object","properties":{"reason_type":{"type":"string","enum":["discount","refund","cancellation","payment_type","reschedule","blocked"]},"text":{"type":"string","description":"The reason text"}}}}},"required":true},"responses":{"201":{"description":"Reason","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reason"}}}},"400":{"description":"Invalid Configuration","content":{}}}}},"/admin/{company_id}/reasons/new":{"get":{"tags":["Reason"],"summary":"New Reason","description":"Retrieves the schema for creating a new reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"getAdminCompanyIdReasonsNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Reason Schema","content":{}},"400":{"description":"Invalid Configuration","content":{}}}}},"/admin/{company_id}/reasons/{reason_id}":{"get":{"tags":["Reason"],"summary":"Get Reason","description":"Retrieves reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"getAdminCompanyIdReasonsReasonId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"reason_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Reason","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reason"}}}},"400":{"description":"Invalid Configuration","content":{}},"403":{"description":"Does Not Belong To Company","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Reason"],"summary":"Update Reason","description":"Updates reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"putAdminCompanyIdReasonsReasonId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"reason_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["reason_type"],"type":"object","properties":{"reason_type":{"type":"string","enum":["discount","refund","cancellation","payment_type","reschedule","blocked"]},"text":{"type":"string","description":"The reason text"}}}}},"required":true},"responses":{"200":{"description":"Reason","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reason"}}}},"400":{"description":"Invalid Configuration","content":{}},"403":{"description":"Does Not Belong To Company","content":{}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Reason"],"summary":"Delete Reason","description":"Delete reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"deleteAdminCompanyIdReasonsReasonId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"reason_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"400":{"description":"Invalid Configuration","content":{}},"403":{"description":"Does Not Belong To Company","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/reasons/{reason_id}/edit":{"get":{"tags":["Reason"],"summary":"Edit Reason","description":"Retrieves the schema for editing a reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked.","operationId":"getAdminCompanyIdReasonsReasonIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"reason_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Reason Schema","content":{}},"400":{"description":"Invalid Configuration","content":{}},"403":{"description":"Does Not Belong To Company","content":{}}}}},"/admin/{company_id}/question_groups":{"get":{"tags":["Question Group"],"summary":"List Question Groups","description":"Retrieves question groups","operationId":"getAdminCompanyIdQuestionGroups","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Question Groups","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionGroupCollection"}}}}}},"post":{"tags":["Question Group"],"summary":"Create Question Group","description":"Creates question group","operationId":"postAdminCompanyIdQuestionGroups","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name","questions[id]"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"questions[id]":{"type":"array","description":"Question ID","items":{"type":"string"}}}}}},"required":true},"responses":{"201":{"description":"Question Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionGroup"}}}}}}},"/admin/{company_id}/question_groups/new":{"get":{"tags":["Question Group"],"summary":"New Question Group","description":"Retrieves the schema for creating a new question group","operationId":"getAdminCompanyIdQuestionGroupsNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Question Group Schema","content":{}}}}},"/admin/{company_id}/question_groups/{question_group_id}":{"get":{"tags":["Question Group"],"summary":"Get Question Group","description":"Retrieves question group","operationId":"getAdminCompanyIdQuestionGroupsQuestionGroupId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"question_group_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Question Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionGroup"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Question Group"],"summary":"Update Question Group","description":"Updates question group","operationId":"putAdminCompanyIdQuestionGroupsQuestionGroupId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"question_group_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["name","questions[id]"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"questions[id]":{"type":"array","description":"Question ID","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"Question Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionGroup"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Question Group"],"summary":"Delete Question Group","description":"Delete question group","operationId":"deleteAdminCompanyIdQuestionGroupsQuestionGroupId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"question_group_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/question_groups/{question_group_id}/edit":{"get":{"tags":["Question Group"],"summary":"Edit Question Group","description":"Retrieves the schema for editing a question group","operationId":"getAdminCompanyIdQuestionGroupsQuestionGroupIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"question_group_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Question Group Schema","content":{}}}}},"/admin/{company_id}/custom_fields":{"get":{"tags":["Custom Field"],"summary":"List Custom Fields","description":"Retrieves custom fields","operationId":"getAdminCompanyIdCustomFields","parameters":[{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":1000}},{"name":"order_by[name]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[type]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"order_by[applies_to]","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Custom Fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldCollection"}}}}}},"post":{"tags":["Custom Field"],"summary":"Create Custom Field","description":"Creates custom field","operationId":"postAdminCompanyIdCustomFields","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["applies_to","items[name]","name","required","type"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"type":{"type":"string","description":"Type","enum":["select","checkboxes","checkbox","text","textarea","date"]},"applies_to":{"type":"string","description":"Applies to","enum":["Service","Resource","Person","Company","Address","Administrator"]},"required":{"type":"boolean","description":"Required"},"items[name]":{"type":"array","description":"Name","items":{"type":"string"}},"items[default]":{"type":"array","description":"Default","items":{"type":"boolean"}}}}}},"required":true},"responses":{"201":{"description":"Custom Field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}}}}},"/admin/{company_id}/custom_fields/new":{"get":{"tags":["Custom Field"],"summary":"New Custom Field","description":"Retrieves the schema for creating a new custom field","operationId":"getAdminCompanyIdCustomFieldsNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Custom Field Schema","content":{}}}}},"/admin/{company_id}/custom_fields/{custom_field_id}":{"get":{"tags":["Custom Field"],"summary":"Get Custom Field","description":"Retrieves custom field","operationId":"getAdminCompanyIdCustomFieldsCustomFieldId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"custom_field_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Custom Field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Custom Field"],"summary":"Update Custom Field","description":"Updates custom field","operationId":"putAdminCompanyIdCustomFieldsCustomFieldId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"custom_field_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["applies_to","items[name]","name","required","type"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"type":{"type":"string","description":"Type","enum":["select","checkboxes","checkbox","text","textarea","date"]},"applies_to":{"type":"string","description":"Applies to","enum":["Service","Resource","Person","Company","Address","Administrator"]},"required":{"type":"boolean","description":"Required"},"items[name]":{"type":"array","description":"Name","items":{"type":"string"}},"items[id]":{"type":"array","description":"ID","items":{"type":"integer","format":"int32"}},"items[default]":{"type":"array","description":"Default","items":{"type":"boolean"}}}}}},"required":true},"responses":{"200":{"description":"Custom Field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Custom Field"],"summary":"Delete Custom Field","description":"Delete custom field","operationId":"deleteAdminCompanyIdCustomFieldsCustomFieldId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"custom_field_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/custom_fields/{custom_field_id}/edit":{"get":{"tags":["Custom Field"],"summary":"Edit Custom Field","description":"Retrieves the schema for editing a custom field","operationId":"getAdminCompanyIdCustomFieldsCustomFieldIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"custom_field_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Custom Field Schema","content":{}}}}},"/admin/{company_id}/company_text/{message_type}":{"get":{"tags":["Company Text"],"summary":"Company text configurations read","description":"Load configuration details for base company text","operationId":"getAdminCompanyIdCompanyTextMessageType","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"message_type","in":"path","description":"Message type","required":true,"schema":{"type":"string","enum":["public_consent","admin_consent"]}}],"responses":{"200":{"description":"Company text configurations read","content":{}}}},"put":{"tags":["Company Text"],"summary":"Company text configurations update","description":"Update or create base company configuration text","operationId":"putAdminCompanyIdCompanyTextMessageType","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"message_type","in":"path","description":"Message type","required":true,"schema":{"type":"string","enum":["public_consent","admin_consent"]}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"responses":{"200":{"description":"Company text configurations update","content":{}}}},"delete":{"tags":["Company Text"],"summary":"Company text configurations delete","description":"Delete base company configuration text","operationId":"deleteAdminCompanyIdCompanyTextMessageType","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"message_type","in":"path","description":"Message type","required":true,"schema":{"type":"string","enum":["public_consent","admin_consent"]}}],"responses":{"204":{"description":"Company text configurations delete","content":{}}}}},"/admin/{company_id}/company_text":{"get":{"tags":["Company Text"],"summary":"Company text configurations read collection","description":"Load configuration details for base company text","operationId":"getAdminCompanyIdCompanyText","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Company text configurations read collection","content":{}}}},"post":{"tags":["Company Text"],"summary":"Company text configurations create","description":"Create base company configuration text","operationId":"postAdminCompanyIdCompanyText","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["message","message_type"],"type":"object","properties":{"message_type":{"type":"string","description":"Message type","enum":["public_consent","admin_consent"]},"message":{"type":"string","description":"Message"}}}}},"required":true},"responses":{"201":{"description":"Company text configurations create","content":{}}}}},"/admin/{company_id}/company_text/{message_type}/edit":{"get":{"tags":["Company Text"],"summary":"Company text configurations edit schema form","description":"Load configuration schema form for base company text","operationId":"getAdminCompanyIdCompanyTextMessageTypeEdit","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"message_type","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Company text configurations edit schema form","content":{}}}}},"/admin/{company_id}/company_text/new":{"get":{"tags":["Company Text"],"summary":"Company text configurations new schema form","description":"Load configuration schema form for base company text","operationId":"getAdminCompanyIdCompanyTextNew","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Company text configurations new schema form","content":{}}}}},"/admin/{company_id}/events/{session_id}/landing_page":{"get":{"tags":["Event Landing Page"],"summary":"Event Landing Page Configuration","description":"landing page configuration for an event","operationId":"getAdminCompanyIdEventsSessionIdLandingPage","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPage"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["admin"],"operationId":"putAdminCompanyIdEventsSessionIdLandingPage","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["landing_page_config"],"type":"object","properties":{"landing_page_config":{}}}}},"required":true},"responses":{"200":{"description":"updated LandingPage","content":{}}}},"post":{"tags":["admin"],"operationId":"postAdminCompanyIdEventsSessionIdLandingPage","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["landing_page_config"],"type":"object","properties":{"landing_page_config":{}}}}},"required":true},"responses":{"201":{"description":"created LandingPage","content":{}}}}},"/admin/{company_id}/company_closures":{"get":{"tags":["Company Closures"],"summary":"List Company Closures (Including Inherited)","description":"Lists all company closures, including those inherited from ancestor companies.","operationId":"getAdminCompanyIdCompanyClosures","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number for pagination","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Number of items per page","schema":{"type":"integer","format":"int32","default":10}},{"name":"order_by[key_name]","in":"query","description":"Order by key_name","schema":{"type":"string","enum":["name","start_datetime_utc","end_datetime_utc","created_at"]}},{"name":"order_by[direction]","in":"query","description":"Order in direction(asc/desc)","schema":{"type":"string","enum":["asc","desc"]}},{"name":"search","in":"query","description":"Search closures by name","schema":{"type":"string"}},{"name":"start_datetime_utc","in":"query","description":"Filter by start datetime in UTC (Must be used in conjunction with :end_datetime_utc)","schema":{"type":"string","format":"date-time"}},{"name":"end_datetime_utc","in":"query","description":"Filter by end datetime in UTC (Must be used in conjunction with :start_datetime_utc)","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Company Closures","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyClosureCollection"}}}}}},"post":{"tags":["Company Closures"],"summary":"Create Company Closure","description":"Creates a new company closure.<br><br>\n**Understanding Closure Types:**<br>\nThere are two types of company closures:\n* **absolute_time:** This type represents a closure spanning a specific moment in time globally. When creating an `absolute_time` closure, ensure the `start_datetime_utc` and `end_datetime_utc` parameters reflect the UTC equivalent of the desired local times.\n* **relative_time:** This type represents a closure spanning a time relative to each user's local time. When creating a `relative_time` closure, provide the `start_datetime_utc` and `end_datetime_utc` as if they were UTC, effectively ignoring timezone information.\n<br><br>\n**Payload Examples:**<br>\n**absolute_time Example:**<br>\nFor example, if a user selects December 25th, 2024, 9:30 AM IST, the `start_datetime_utc` should be \"2024-12-25T04:00:00.000Z\"\n```json\n{\n\"type\": \"absolute_time\",\n\"name\": \"Company Wide Meeting\",\n\"description\": \"Company will be closed for a meeting.\",\n\"start_datetime_utc\": \"2024-12-25T04:00:00.000Z\",\n\"end_datetime_utc\": \"2024-12-26T12:30:00.000Z\"\n}\n```\n<br>\n**relative_time Example:**<br>\nFor example, if a user selects December 25th, 2024, 9:30 AM IST, the `start_datetime_utc` should be \"2024-12-25T09:30:00.000Z\"\n```json\n{\n\"type\": \"relative_time\",\n\"name\": \"Christmas Break\",\n\"description\": \"Company Closure due to Christmas break period.\",\n\"start_datetime_utc\": \"2024-12-25T09:30:00.000Z\",\n\"end_datetime_utc\": \"2024-12-26T18:00:00.000Z\"\n}\n```","operationId":"postAdminCompanyIdCompanyClosures","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["description","end_datetime_utc","name","start_datetime_utc","type"],"type":"object","properties":{"type":{"type":"string","description":"Type of the closure","enum":["absolute_time","relative_time"]},"name":{"type":"string","description":"Name of the closure"},"description":{"type":"string","description":"Description of the closure"},"start_datetime_utc":{"type":"string","description":"Start datetime of the closure in UTC","format":"date-time"},"end_datetime_utc":{"type":"string","description":"End datetime of the closure in UTC","format":"date-time"},"company_ids_to_exclude":{"type":"array","description":"List of company IDs to exclude from this closure","items":{"type":"integer","format":"int32"}}}}}},"required":true},"responses":{"201":{"description":"Company Closure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyClosure"}}}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/company_closures/{id}":{"put":{"tags":["Company Closures"],"summary":"Update Company Closure","description":"Updates an existing company closure.","operationId":"putAdminCompanyIdCompanyClosuresId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Company Closue Id","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the closure"},"description":{"type":"string","description":"Description of the closure"},"start_datetime_utc":{"type":"string","description":"Start datetime of the closure in UTC","format":"date-time"},"end_datetime_utc":{"type":"string","description":"End datetime of the closure in UTC","format":"date-time"},"company_ids_to_exclude":{"type":"array","description":"Final list of company IDs to exclude from this closure","items":{"type":"integer","format":"int32"}}}}}}},"responses":{"200":{"description":"Company Closure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyClosure"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}},"delete":{"tags":["Company Closures"],"summary":"Delete Company Closure","description":"Deletes an existing company closure.","operationId":"deleteAdminCompanyIdCompanyClosuresId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"No Content","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/company_closure_exclusions":{"get":{"tags":["Company Closure Exclusions"],"summary":"List Company Closure Exclusions","description":"Lists all exclusions for a specific company closure.","operationId":"getAdminCompanyIdCompanyClosureExclusions","parameters":[{"name":"company_closure_id","in":"query","description":"Get exclusions for this Company Closure ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Page number for pagination","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Number of items per page","schema":{"type":"integer","format":"int32","default":10}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Company Closure Exclusions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyClosureExclusionCollection"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"post":{"tags":["Company Closure Exclusions"],"summary":"Create Company Closure Exclusion","description":"Creates a new company closure exclusion.","operationId":"postAdminCompanyIdCompanyClosureExclusions","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["company_closure_id"],"type":"object","properties":{"company_closure_id":{"type":"integer","description":"Company Closure ID","format":"int32"},"company_id_to_exclude":{"type":"integer","description":"ID of the company to be excluded from the provided closure","format":"int32"}}}}},"required":true},"responses":{"201":{"description":"Company Closure Exclusion Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyClosureExclusion"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}},"409":{"description":"Conflict","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/company_closure_exclusions/{id}":{"delete":{"tags":["Company Closure Exclusions"],"summary":"Delete Company Closure Exclusion","description":"Deletes an existing company closure exclusion.","operationId":"deleteAdminCompanyIdCompanyClosureExclusionsId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"No Content","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/config/{path}":{"get":{"tags":["admin"],"description":"Proxy GET requests to Configurator","operationId":"getAdminCompanyIdConfigPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Proxy GET requests to Configurator","content":{}}}},"put":{"tags":["admin"],"description":"Proxy PUT requests to Configurator","operationId":"putAdminCompanyIdConfigPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Proxy PUT requests to Configurator","content":{}}}},"post":{"tags":["admin"],"description":"Proxy POST requests to Configurator","operationId":"postAdminCompanyIdConfigPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"201":{"description":"Proxy POST requests to Configurator","content":{}}}},"delete":{"tags":["admin"],"description":"Proxy DELETE requests to Configurator","operationId":"deleteAdminCompanyIdConfigPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Proxy DELETE requests to Configurator","content":{}}}}},"/admin/{company_id}/security_center/{path}":{"get":{"tags":["admin"],"description":"Proxy GET requests to Security Center","operationId":"getAdminCompanyIdSecurityCenterPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Proxy GET requests to Security Center","content":{}}}},"put":{"tags":["admin"],"description":"Proxy PUT requests to Security Center","operationId":"putAdminCompanyIdSecurityCenterPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Proxy PUT requests to Security Center","content":{}}}},"post":{"tags":["admin"],"description":"Proxy POST requests to Security Center","operationId":"postAdminCompanyIdSecurityCenterPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"201":{"description":"Proxy POST requests to Security Center","content":{}}}},"delete":{"tags":["admin"],"description":"Proxy DELETE requests to Security Center","operationId":"deleteAdminCompanyIdSecurityCenterPath","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"path","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Proxy DELETE requests to Security Center","content":{}}}}},"/admin/{company_id}/booking_links":{"get":{"tags":["admin"],"description":"Get all booking links for a given primary person (primary_staff)","operationId":"getAdminCompanyIdBookingLinks","parameters":[{"name":"primary_person_id","in":"query","description":"Primary person (staff) ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"title","in":"query","description":"Filter by booking link title","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get all booking links for a given primary person (primary_staff)","content":{}}}},"post":{"tags":["admin"],"description":"Create a custom booking link with assets","operationId":"postAdminCompanyIdBookingLinks","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["booking_link_assets[asset_id]","booking_link_assets[asset_type]","title"],"type":"object","properties":{"title":{"type":"string","description":"Link title"},"booking_link_assets[asset_type]":{"type":"array","description":"Type of asset (Service, Person)","items":{"type":"string","enum":["Person","Service"]}},"booking_link_assets[asset_id]":{"type":"array","description":"Asset ID","items":{"type":"integer","format":"int32"}},"booking_link_assets[role]":{"type":"array","description":"Role for Person assets","items":{"type":"string","enum":["primary","secondary"]}}}}}},"required":true},"responses":{"201":{"description":"Create a custom booking link with assets","content":{}}}}},"/admin/{company_id}/booking_links/{id}":{"put":{"tags":["admin"],"description":"Update a custom booking link","operationId":"putAdminCompanyIdBookingLinksId","parameters":[{"name":"id","in":"path","description":"Booking link ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["booking_link_assets[asset_id]","booking_link_assets[asset_type]"],"type":"object","properties":{"title":{"type":"string","description":"Link title"},"status":{"type":"string","description":"Link status","enum":["active","disabled"]},"booking_link_assets[asset_type]":{"type":"array","description":"Type of asset (Service, Person)","items":{"type":"string","enum":["Person","Service"]}},"booking_link_assets[asset_id]":{"type":"array","description":"Asset ID","items":{"type":"integer","format":"int32"}},"booking_link_assets[role]":{"type":"array","description":"Role for Person assets","items":{"type":"string","enum":["primary","secondary"]}}}}}},"required":true},"responses":{"200":{"description":"Update a custom booking link","content":{}}}}},"/admin/{company_id}/coupons/{id}":{"get":{"tags":["Coupons"],"summary":"Get Coupon by ID","description":"Retrieves a coupon by ID.","operationId":"getAdminCompanyIdCouponsId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Coupon","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Coupons"],"summary":"Update coupon","description":"Updates an existing coupon.","operationId":"putAdminCompanyIdCouponsId","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Coupon code (must be unique within company, 4–25 chars, alphanumeric only)"},"coupon_type":{"type":"string","description":"Coupon type for coupon","enum":["Percentage","Fixed-price","Fixed-off","BOGO"]},"company_scope":{"type":"string","description":"Defines how coupon applies across companies.","enum":["descendants","specific"]},"service_scope":{"type":"string","description":"Defines how coupon applies across services.","enum":["descendants","specific"]},"service_ids":{"type":"array","description":"Array of service IDs","items":{"type":"integer","format":"int32"}},"company_ids_to_include":{"type":"array","description":"List of company IDs where the coupon can be used (only if company_scope is \"specific\").","items":{"type":"integer","format":"int32"}},"company_ids_to_exclude":{"type":"array","description":"List of company IDs where the coupon cannot be used (only if company_scope is \"specific\").","items":{"type":"integer","format":"int32"}},"max_uses":{"type":"integer","description":"Maximum total uses (must be > 0)","format":"int32"},"max_per_person":{"type":"integer","description":"Maximum uses per person (must be > 0 and <= max_uses)","format":"int32"},"title":{"type":"string","description":"Coupon title"},"valid_from":{"type":"string","description":"Valid from date (must be >= current date)","format":"date-time"},"valid_to":{"type":"string","description":"Valid to date (must be >= valid_from)","format":"date-time"},"use_from":{"type":"string","description":"Use from date (must be >= current date)","format":"date-time"},"use_to":{"type":"string","description":"Use to date (must be >= use from)","format":"date-time"},"description":{"type":"string","description":"Coupon description"},"price":{"type":"number","description":"Fixed price or discount amount (must be > 0)","format":"float"},"buy":{"type":"integer","description":"Number of items the customer needs to buy for the offer to apply (must be greater than 0)","format":"int32"},"free":{"type":"integer","description":"Number of items the customer gets for free as part of the offer (must be greater than 0)","format":"int32"},"percentage":{"type":"integer","description":"Percentage discount (1-100)","format":"int32"},"disabled":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"400":{"description":"Validation Error","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/coupons":{"get":{"tags":["Coupons"],"summary":"List Coupons","description":"Retrieves a list of coupons.\nResults are returned in a paginated list.","operationId":"getAdminCompanyIdCoupons","parameters":[{"name":"search_by","in":"query","schema":{"type":"string"}},{"name":"disabled","in":"query","schema":{"type":"boolean"}},{"name":"coupon_type","in":"query","description":"Valid Coupon types: Percentage, Fixed-price, Fixed-off, BOGO","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Percentage","Fixed-price","Fixed-off","BOGO"]}}},{"name":"status","in":"query","description":"Valid Statuses: Expired, Fully redeemed, Upcoming, Available","schema":{"type":"string","enum":["Expired","Fully redeemed","Upcoming","Available"]}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Coupon Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponCollection"}}}}}},"post":{"tags":["Coupons"],"summary":"Create coupon","description":"Creates a new coupon.","operationId":"postAdminCompanyIdCoupons","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["code","coupon_type"],"type":"object","properties":{"code":{"type":"string","description":"Coupon code (must be unique within company, 4–25 chars, alphanumeric only)"},"coupon_type":{"type":"string","description":"Coupon type for coupon","enum":["Percentage","Fixed-price","Fixed-off","BOGO"]},"company_scope":{"type":"string","description":"Defines how coupon applies across companies.","enum":["descendants","specific"]},"service_scope":{"type":"string","description":"Defines how coupon applies across services.","enum":["descendants","specific"]},"service_ids":{"type":"array","description":"Array of service IDs","items":{"type":"integer","format":"int32"}},"company_ids_to_include":{"type":"array","description":"List of company IDs where the coupon can be used (only if company_scope is \"specific\").","items":{"type":"integer","format":"int32"}},"company_ids_to_exclude":{"type":"array","description":"List of company IDs where the coupon cannot be used (only if company_scope is \"specific\").","items":{"type":"integer","format":"int32"}},"max_uses":{"type":"integer","description":"Maximum total uses (must be > 0)","format":"int32"},"max_per_person":{"type":"integer","description":"Maximum uses per person (must be > 0 and <= max_uses)","format":"int32"},"title":{"type":"string","description":"Coupon title"},"valid_from":{"type":"string","description":"Valid from date (must be >= current date)","format":"date-time"},"valid_to":{"type":"string","description":"Valid to date (must be >= valid_from)","format":"date-time"},"use_from":{"type":"string","description":"Use from date (must be >= current date)","format":"date-time"},"use_to":{"type":"string","description":"Use to date (must be >= use from)","format":"date-time"},"description":{"type":"string","description":"Coupon description"},"price":{"type":"number","description":"Fixed price or discount amount (must be > 0)","format":"float"},"buy":{"type":"integer","description":"Number of items the customer needs to buy for the offer to apply (must be greater than 0)","format":"int32"},"free":{"type":"integer","description":"Number of items the customer gets for free as part of the offer (must be greater than 0)","format":"int32"},"percentage":{"type":"integer","description":"Percentage discount (1-100)","format":"int32"},"disabled":{"type":"boolean"}}}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"400":{"description":"Validation Error","content":{}}}}},"/admin/{company_id}/users/{id}/push_notifications":{"put":{"tags":["User"],"summary":"Update push_notifications_enabled for a user","description":"Allows permitted roles to update only the push_notifications_enabled field.","operationId":"putAdminCompanyIdUsersIdPushNotifications","parameters":[{"name":"company_id","in":"path","description":"Company id","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"User id","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["push_notifications_enabled"],"type":"object","properties":{"push_notifications_enabled":{"type":"boolean","description":"Enable/disable push notifications"}}}}},"required":true},"responses":{"200":{"description":"Success","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/events/{id}":{"get":{"tags":["Event"],"summary":"Event Read","description":"Retrieves an event.","operationId":"getAdminCompanyIdEventsId","parameters":[{"name":"id","in":"path","description":"Event ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/events":{"get":{"tags":["Events"],"summary":"List of events","description":"Searches and filters for events of a company.","operationId":"getAdminCompanyIdEvents","parameters":[{"name":"start_date","in":"query","description":"Event start date, Required if end_date is not present.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"Event end date, Required if start_date is not present.","schema":{"type":"string","format":"date"}},{"name":"event_group_id","in":"query","description":"Event group id","schema":{"type":"integer","format":"int32"}},{"name":"person_id","in":"query","description":"Person id","schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","description":"Search events by event chain name or id","schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number for pagination","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Number of items per page","schema":{"type":"integer","format":"int32","default":20}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Events List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCollection"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/guests/bulk_send_invite":{"post":{"tags":["Guests"],"description":"Bulk Send Invitations to Guests","operationId":"postAdminCompanyIdGuestsBulkSendInvite","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["guest_uuids"],"type":"object","properties":{"guest_uuids":{"type":"array","description":"List of Guest UUIDs","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"Invitations Sent","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/guests":{"get":{"tags":["Guests"],"summary":"List Guests","description":"Lists guests with pagination, ordering, and optional filters.","operationId":"getAdminCompanyIdGuests","parameters":[{"name":"event_id","in":"query","description":"Id of the event","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number for pagination","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","description":"Number of items per page","schema":{"type":"integer","format":"int32","default":20}},{"name":"order_by[key_name]","in":"query","description":"Order by field","schema":{"type":"string","enum":["first_name","created_at","updated_at","status"]}},{"name":"order_by[direction]","in":"query","description":"Order direction","schema":{"type":"string","enum":["asc","desc"]}},{"name":"status","in":"query","description":"Filter by guest status","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["added","invited","registered","checked_in","no_show","cancelled","waitlist"]}}},{"name":"source_of_registration","in":"query","description":"Filter by source of registration","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["invitation","public_registration"]}}},{"name":"checkin_code","in":"query","description":"Search by Check-in code","schema":{"type":"string"}},{"name":"search","in":"query","description":"Search guest by name or email","schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Guests List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuestCollection"}}}}}},"post":{"tags":["Guests"],"summary":"Create Guest","description":"Creates a new guest.","operationId":"postAdminCompanyIdGuests","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["event_id","member_id","questions[answer]","questions[id]","tickets[qty]","tickets[type]"],"type":"object","properties":{"event_id":{"type":"integer","description":"Id of the event","format":"int32"},"member_id":{"type":"integer","description":"Id of the member to be added in guest list","format":"int32"},"guest_status":{"type":"string","description":"Status of the guest","default":"added","enum":["added","invited","registered","checked_in","no_show","cancelled","waitlist"]},"source_of_registration":{"type":"string","description":"Source of registration","default":"invitation","enum":["invitation","public_registration"]},"notify_member":{"type":"boolean","description":"Send notification to member"},"tickets[price_pool_price_id]":{"type":"array","description":"Price Pool Price ID","items":{"type":"integer","format":"int32"}},"tickets[qty]":{"type":"array","description":"Number of attendees for this type","items":{"type":"integer","format":"int32"}},"tickets[type]":{"type":"array","description":"Which ticket type do you want?","items":{"type":"string","enum":["normal","group","bulk"]}},"questions[id]":{"type":"array","description":"The id of the question you are answering","items":{"type":"integer","format":"int32"}},"questions[answer]":{"type":"array","description":"The answer to the question in text form.","items":{"type":"string"}},"questions[answer_id]":{"type":"array","description":"If this answer relates to one of a list of answers. I.e. from a select box or radio button","items":{"type":"integer","format":"int32"}}}}}},"required":true},"responses":{"201":{"description":"Created Guest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Guest"}}}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/guests/{uuid}":{"put":{"tags":["Guests"],"summary":"Update a Guest","description":"Updates an existing guest's details.","operationId":"putAdminCompanyIdGuestsUuid","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["questions[answer]","questions[id]","tickets[qty]","tickets[type]"],"type":"object","properties":{"guest_status":{"type":"string","description":"Status of the guest","enum":["added","invited","registered","checked_in","no_show","cancelled","waitlist"]},"notify_member":{"type":"boolean","description":"Send notification to member"},"tickets[price_pool_price_id]":{"type":"array","description":"Price Pool Price ID","items":{"type":"integer","format":"int32"}},"tickets[qty]":{"type":"array","description":"Number of attendees for this type","items":{"type":"integer","format":"int32"}},"tickets[type]":{"type":"array","description":"Which ticket type do you want?","items":{"type":"string","enum":["normal","group","bulk"]}},"questions[id]":{"type":"array","description":"The id of the question you are answering","items":{"type":"integer","format":"int32"}},"questions[answer]":{"type":"array","description":"The answer to the question in text form.","items":{"type":"string"}},"questions[answer_id]":{"type":"array","description":"If this answer relates to one of a list of answers. I.e. from a select box or radio button","items":{"type":"integer","format":"int32"}}}}}},"required":true},"responses":{"200":{"description":"Guest Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Guest"}}}},"404":{"description":"Not Found","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}},"delete":{"tags":["Guests"],"summary":"Delete a Guest","description":"Deletes a guest record.","operationId":"deleteAdminCompanyIdGuestsUuid","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"No Content","content":{}},"404":{"description":"Not Found","content":{}},"422":{"description":"Unprocessable Entity","content":{}}}}},"/admin/{company_id}/check_in/{check_in_code}":{"get":{"tags":["Check_in"],"summary":"Get check in details","description":"Returns appointment or event details for a given check-in code","operationId":"getAdminCompanyIdCheckInCheckInCode","parameters":[{"name":"check_in_code","in":"path","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get check in details","content":{}}}},"put":{"tags":["Check_in"],"summary":"Check in to an appointment or event (admin)","description":"Marks the related appointment or event guest as checked in (admin, skips early/late errors)","operationId":"putAdminCompanyIdCheckInCheckInCode","parameters":[{"name":"check_in_code","in":"path","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Check in to an appointment or event (admin)","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_patterns/{id}":{"get":{"tags":["Schedule"],"summary":"Get Shift Pattern","description":"A schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\nEach shift pattern has start and end times, indicating a shift of available time.\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Shift Pattern ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPattern"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Schedule"],"summary":"Update Shift Pattern","description":"A schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\nEach shift pattern has start and end times, indicating a shift of available time.\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).","operationId":"putAdminCompanyIdSchedulesScheduleIdShiftPatternsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Shift Pattern ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_time","start_date","start_time"],"type":"object","properties":{"start_date":{"type":"string","description":"Start Date - in ISO-8601 %Y-%m-%d","format":"date"},"end_date":{"type":"string","description":"End Date - in ISO-8601 %Y-%m-%d","format":"date"},"start_time":{"type":"string","description":"Start Time - in ISO-8601 %H:%M"},"end_time":{"type":"string","description":"End Time - in ISO-8601 %H:%M"},"frequency":{"type":"string","description":"Frequency - How often the shifts occur. Either 'daily' or 'weekly'","default":"daily","enum":["daily","weekly","sporadic"]},"interval":{"type":"integer","description":"Interval - The duration between shift occurences as a multiple of frequency","format":"int32","default":1},"repeat_count":{"type":"integer","description":"Repeat Count - The number of shift occurrences","format":"int32"},"by_day":{"type":"array","description":"By Day - The days of the week a weekly shift pattern occurs on","items":{"type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}},"except_date":{"type":"array","description":"Except Date - List of dates where the shift pattern does not apply","items":{"type":"string"}},"shift_pattern_condition_id":{"type":"integer","format":"int32"},"dates":{"type":"array","items":{"type":"string","format":"date"}}}}}},"required":true},"responses":{"200":{"description":"Shift Pattern","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPattern"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Schedule"],"summary":"Delete Shift Pattern","description":"A schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\nEach shift pattern has start and end times, indicating a shift of available time.\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).","operationId":"deleteAdminCompanyIdSchedulesScheduleIdShiftPatternsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Shift Pattern ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_patterns":{"get":{"tags":["Schedule"],"summary":"List Shift Pattern","description":"A schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\nEach shift pattern has start and end times, indicating a shift of available time.\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatterns","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start Date - in ISO-8601 %Y-%m-%d","required":true,"schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"End Date - in ISO-8601 %Y-%m-%d","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Shift Patterns","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPatternCollection"}}}},"400":{"description":"Bad Request","content":{}}}},"post":{"tags":["Schedule"],"summary":"Create Shift Pattern","description":"A schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\nEach shift pattern has start and end times, indicating a shift of available time.\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).","operationId":"postAdminCompanyIdSchedulesScheduleIdShiftPatterns","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["end_time","start_time"],"type":"object","properties":{"start_date":{"type":"string","description":"Start Date - in ISO-8601 %Y-%m-%d","format":"date"},"end_date":{"type":"string","description":"End Date - in ISO-8601 %Y-%m-%d","format":"date"},"start_time":{"type":"string","description":"Start Time - in ISO-8601 %H:%M"},"end_time":{"type":"string","description":"End Time - in ISO-8601 %H:%M"},"frequency":{"type":"string","description":"Frequency - How often the shifts occur. Either 'daily' or 'weekly'","default":"daily","enum":["daily","weekly","sporadic"]},"interval":{"type":"integer","description":"Interval - The duration between shift occurences as a multiple of frequency","format":"int32","default":1},"repeat_count":{"type":"integer","description":"Repeat Count - The number of shift occurrences","format":"int32"},"by_day":{"type":"array","description":"By Day - The days of the week a weekly shift pattern occurs on","items":{"type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}},"except_date":{"type":"array","description":"Except Date - List of dates where the shift pattern does not apply","items":{"type":"string"}},"shift_pattern_condition_id":{"type":"integer","format":"int32"},"dates":{"type":"array","items":{"type":"string","format":"date"}}}}}},"required":true},"responses":{"200":{"description":"Shift Pattern","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPattern"}}}},"400":{"description":"Bad Request","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_patterns/{id}/edit":{"get":{"tags":["Schedule"],"description":"Edit Shift Pattern (Schema)","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternsIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Shift Pattern ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Schema","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_patterns/new":{"get":{"tags":["Schedule"],"description":"New Shift Pattern (Schema)","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternsNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Schema","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shifts":{"get":{"tags":["Schedule"],"summary":"Shift List","description":"Shifts represent the individual occurences of a schedule shift pattern.\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShifts","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start Date in ISO-8601","required":true,"schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"End Date in ISO-8601","required":true,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Shifts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftCollection"}}}},"400":{"description":"Bad Request","content":{}}}},"put":{"tags":["Schedule"],"summary":"Update Shift Collection","description":"Shifts represent the individual occurences of a schedule shift pattern.\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.","operationId":"putAdminCompanyIdSchedulesScheduleIdShifts","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["shifts[date]","shifts[end]","shifts[start]","start_date"],"type":"object","properties":{"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"shift_pattern_condition_id":{"type":"integer","format":"int32"},"shifts[date]":{"type":"array","items":{"type":"string","format":"date"}},"shifts[start]":{"type":"array","items":{"type":"string"}},"shifts[end]":{"type":"array","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"Shifts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftCollection"}}}},"400":{"description":"Bad Request","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shifts/{id}":{"get":{"tags":["Schedule"],"summary":"Get Shift","description":"Shifts represent the individual occurences of a schedule shift pattern.\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shift"}}}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Schedule"],"summary":"Update Shift","description":"Shifts represent the individual occurences of a schedule shift pattern.\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.","operationId":"putAdminCompanyIdSchedulesScheduleIdShiftsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["date","end","start"],"type":"object","properties":{"date":{"type":"string","format":"date"},"start":{"type":"string"},"end":{"type":"string"},"shift_pattern_condition_id":{"type":"integer","format":"int32"}}}}},"required":true},"responses":{"200":{"description":"Shift","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shift"}}}},"404":{"description":"Not Found","content":{}}}},"delete":{"tags":["Schedule"],"summary":"Delete Shift","description":"Shifts represent the individual occurences of a schedule shift pattern.\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.","operationId":"deleteAdminCompanyIdSchedulesScheduleIdShiftsId","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Shift","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shift"}}}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shifts/{id}/edit":{"get":{"tags":["Schedule"],"description":"Edit Shift (Schema)","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftsIdEdit","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"schedule_id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Shift ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Shift Schema","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_pattern_conditions/{id}":{"get":{"tags":["Schedule"],"summary":"Get Shift Pattern Condition","description":"Retrieves a shift pattern condition.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternConditionsId","parameters":[{"name":"id","in":"path","description":"Schedule ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Condition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPatternCondition"}}}}}},"put":{"tags":["Schedule"],"summary":"Update Shift Pattern Condition","description":"Updates an existing shift pattern condition.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"putAdminCompanyIdSchedulesScheduleIdShiftPatternConditionsId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["color","name"],"type":"object","properties":{"name":{"type":"string"},"color":{"type":"string"},"company_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"methods_of_appointment":{"type":"array","items":{"type":"string","enum":["In-person","Phone","Video"]}}}}}},"required":true},"responses":{"200":{"description":"Shift Pattern Condition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPatternCondition"}}}}}},"delete":{"tags":["Schedule"],"summary":"Delete Shift Pattern Condition","description":"Deletes a shift pattern condition.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"deleteAdminCompanyIdSchedulesScheduleIdShiftPatternConditionsId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Success","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_pattern_conditions":{"get":{"tags":["Schedule"],"summary":"List Shift Pattern Condition","description":"Retrieves a list of shift pattern conditions.\nResults are returned in a paginated list.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternConditions","parameters":[{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":30}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Condition Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPatternConditionCollection"}}}}}},"post":{"tags":["Schedule"],"summary":"Create Shift Pattern Condition","description":"Creates a new shift pattern condition.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"postAdminCompanyIdSchedulesScheduleIdShiftPatternConditions","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["color","name"],"type":"object","properties":{"name":{"type":"string"},"color":{"type":"string"},"company_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"methods_of_appointment":{"type":"array","items":{"type":"string","enum":["In-person","Phone","Video"]}}}}}},"required":true},"responses":{"200":{"description":"Shift Pattern Conditions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShiftPatternCondition"}}}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_pattern_conditions/{id}/edit":{"get":{"tags":["Schedule"],"summary":"Edit Schedule Condition (Schema)","description":"Retrieves the schema for editing a shift pattern condition.\nThe schema can be used to validate the payload for the Update Shift Pattern Condition API.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternConditionsIdEdit","parameters":[{"name":"id","in":"path","description":"Shift Pattern Condition ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Condition Schema","content":{}}}}},"/admin/{company_id}/schedules/{schedule_id}/shift_pattern_conditions/new":{"get":{"tags":["Schedule"],"summary":"New Shift Pattern Condition (Schema)","description":"Retrieves the schema for creating a new shift pattern condition.\nThe schema can be used to validate the payload for the Create Shift Pattern Condition API.\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.","operationId":"getAdminCompanyIdSchedulesScheduleIdShiftPatternConditionsNew","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Shift Pattern Condition Schema","content":{}}}}},"/admin/{company_id}/event_chains/{event_chain_id}/events/{id}":{"get":{"tags":["Event"],"summary":"Event Read","description":"Retrieves an event.","operationId":"getAdminCompanyIdEventChainsEventChainIdEventsId","parameters":[{"name":"id","in":"path","description":"Event ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"event_chain_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}},"put":{"tags":["Slot"],"summary":"Update Event","description":"Update a Specific Event\nProvide an auth-token, a company-id, event-chain-id and a event-id to\nmake updates to the event.","operationId":"putAdminCompanyIdEventChainsEventChainIdEventsId","parameters":[{"name":"id","in":"path","description":"Event ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"event_chain_id","in":"path","description":"An Event Chain ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"type":"string","description":"Start time (example format: 2001-02-03T17:05:06)"},"duration":{"type":"integer","format":"int32"},"validate_availability":{"type":"boolean","description":"Validate that the staff and resource are available"}}}}}},"responses":{"200":{"description":"Event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}}},"400":{"description":"Bad Request","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_chains/{event_chain_id}/events/{id}/new_booking":{"get":{"tags":["Event"],"summary":"New Booking (Schema)","description":"Retrieves the schema for creating a new booking for an event.\nThe schema can be used to validate the payload for the Create Booking API.","operationId":"getAdminCompanyIdEventChainsEventChainIdEventsIdNewBooking","parameters":[{"name":"id","in":"path","description":"Event id","required":true,"schema":{"type":"string"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"event_chain_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Booking Schema","content":{}},"403":{"description":"Forbidden","content":{}},"404":{"description":"Not Found","content":{}}}}},"/admin/{company_id}/event_chains/{event_chain_id}/events":{"get":{"tags":["Event"],"summary":"List Events","description":"Retrieves a list of events.","operationId":"getAdminCompanyIdEventChainsEventChainIdEvents","parameters":[{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"event_chain_id","in":"path","description":"An Event Chain ID","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"modified_since","in":"query","description":"Only get events updated since a certain ISO8601 date/time","schema":{"type":"string"}},{"name":"include_cancelled","in":"query","description":"Include disabled event chains","schema":{"type":"boolean"}},{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCollection"}}}}}}},"/admin/{company_id}/event_chains/{event_chain_id}/events/{id}/edit":{"get":{"tags":["Event"],"summary":"Edit Event (Schema)","description":"Retrieves the schema for editing an event.\nUse the Update Event API to update the event.","operationId":"getAdminCompanyIdEventChainsEventChainIdEventsIdEdit","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"event_chain_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Schema","content":{}}}}},"/admin/{company_id}/event_chains/{event_chain_id}/events/new":{"get":{"tags":["Event"],"summary":"New Event (Schema)","description":"Retrieves the schema for creating a new event.\nUse the Create Event API to create the event.","operationId":"getAdminCompanyIdEventChainsEventChainIdEventsNew","parameters":[{"name":"company_id","in":"path","description":"Company ID","required":true,"schema":{"type":"string"}},{"name":"event_chain_id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Event Schema","content":{}}}}}},"components":{"schemas":{"putAdminCompanyIdServices":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"reference":{"type":"string","description":"Reference"},"resource_ids":{"type":"array","description":"List of all resource IDs used to provide the service","items":{"type":"integer","format":"int32"}},"person_ids":{"type":"array","description":"List of all people IDs who provides the service","items":{"type":"integer","format":"int32"}},"client_queue_id":{"type":"integer","format":"int32"},"spaces":{"type":"integer","format":"int32","default":1},"duration":{"type":"integer","description":"Duration","format":"int32"},"disabled":{"type":"boolean","description":"Disabled"},"description":{"type":"string","description":"Description"},"category_id":{"type":"integer","description":"Category ID","format":"int32"},"max_advance_applies":{"type":"string","description":"Maximum Advance Applies To","enum":["new_customers","all_customers","non_members"]},"max_advance":{"type":"string","description":"Maximum Advance"},"min_advance_applies":{"type":"string","description":"Minimum Advance Applies To","enum":["new_customers","all_customers","non_members"]},"min_advance":{"type":"string","description":"Minimum Advance"},"min_cancel_applies":{"type":"string","description":"Minimum Cancel Applies To","enum":["new_customers","all_customers","non_members"]},"min_cancel":{"type":"string","description":"Minimum Cancel"},"rules_group_id":{"type":"integer","description":"Rules Group ID","format":"int32"},"group_id":{"type":"integer","description":"Group ID","format":"int32"},"schedule_id":{"type":"integer","description":"Schedule ID","format":"int32"},"disable_before_date":{"type":"string","description":"Disable Before Date","format":"date"},"disable_after_date":{"type":"string","description":"Disable After Date","format":"date"},"min_length":{"maximum":20,"minimum":1,"type":"integer","description":"Minimum Length","format":"int32"},"max_length":{"maximum":20,"minimum":1,"type":"integer","description":"Maximum Length","format":"int32"},"question_group_id":{"type":"integer","description":"Question Group ID","format":"int32"},"order":{"type":"integer","format":"int32"},"pre_time":{"type":"integer","description":"Default Pre-Time","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120]},"post_time":{"type":"integer","description":"Default Post-Time","format":"int32","enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120]},"booking_time_step":{"type":"integer","description":"Booking Time Step","format":"int32"},"listed_duration":{"type":"integer","description":"Listed Duration","format":"int32"},"service_type":{"type":"string","description":"Service Type","enum":["day","fixed_time","variable_time"]},"method_of_appointment":{"type":"string","description":"Service method of appointmnet","enum":["In-person","Phone","Video"]},"company_ids":{"type":"array","description":"List of child company ids","items":{"type":"integer","format":"int32"}},"booking_type":{"type":"integer","description":"Non-Members Booking","format":"int32"},"mbooking_type":{"type":"integer","description":"Members Booking","format":"int32"},"queue_duration":{"type":"integer","description":"A custom duration for the service when offered via the queue","format":"int32"},"queuing_disabled":{"type":"boolean","description":"States whether the service can be used for queuing"},"can_refund_automatically":{"type":"boolean","description":"Whether the price of this service will be refunded if the customer cancels within the min cancellation time"},"price":{"type":"number","description":"Price","format":"float"},"price_after":{"type":"number","description":"Set a price which only takes effect at future date","format":"float"},"price_after_date":{"type":"string","description":"Set a date in future in which the price changes","format":"date"},"combine_resource_and_staff":{"type":"boolean","description":"Combine resources and staff in the widget"},"fixed_start_times":{"type":"boolean","description":"Fixed start times"},"confirmable_by":{"type":"integer","description":"Customer Confirmable","format":"int32","enum":[0,1]},"fairness_strategy":{"type":"string","description":"Fairness Strategy","enum":["random","booking_date","created_date"]},"service_booking_types":{"type":"object","properties":{"enabled_for_appointments":{"type":"boolean","description":"Enabled for appointments"},"enabled_for_queuing":{"type":"boolean","description":"Enabled for queuing"}}},"visibility_type":{"type":"string","description":"Visibility Type","enum":["public","private","private_and_personal_booking_link"]},"configured_durations":{"type":"array","items":{"required":["duration"],"type":"object","properties":{"duration":{"type":"integer","description":"Duration (mins)","format":"int32"},"price":{"type":"integer","description":"Price","format":"int32"}}}},"real_time_dashboard_config":{"type":"object","properties":{"wait_time_critical_limit":{"type":"number","description":"Critical wait time limit in minutes","format":"float"},"wait_time_warning_limit":{"type":"number","description":"Warning wait time limit in minutes","format":"float"},"queue_critical_limit":{"type":"integer","description":"Critical queue length limit","format":"int32"},"queue_warning_limit":{"type":"integer","description":"Warning queue length limit","format":"int32"}}}},"description":"Update Service"},"postAdminCompanyIdServices":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"reference":{"type":"string","description":"Reference"},"resource_ids":{"type":"array","description":"List of all resource IDs used to provide the service","items":{"type":"integer","format":"int32"}},"person_ids":{"type":"array","description":"List of all people IDs who provides the service","items":{"type":"integer","format":"int32"}},"duration":{"type":"integer","description":"Duration","format":"int32","default":60,"enum":[10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,195,210,225,240,270,300,330,360,390,420,480,540,600,660,720,780,840,900,960,1020,1080,1140,1200,1260,1320,1380,1440,1500,1560,1620,1680,1740,1800,1860,1920,1980,2040,2100,2160,2220,2280,2340,2400,2460,2520,2580,2640,2700,2760,2820,2880,2940,3000,3060,3120,3180,3240,3300,3360,3420,3480,3540,3600,3660,3720,3780,3840,3900,3960,4020,4080,4140,4200,4260,4320]},"spaces":{"type":"integer","format":"int32","default":1},"disabled":{"type":"boolean"},"rules_group_id":{"type":"integer","format":"int32"},"group_id":{"type":"integer","format":"int32"},"order":{"type":"integer","format":"int32"},"category_id":{"type":"integer","description":"Category ID","format":"int32"},"schedule_id":{"type":"integer","description":"Schedule ID","format":"int32"},"description":{"type":"string","description":"Description"},"max_advance_applies":{"type":"string","description":"Maximum Advance Applies To","default":"all_customers","enum":["new_customers","all_customers","non_members"]},"max_advance":{"type":"string","description":"Maximum Advance","default":"P60D"},"min_advance_applies":{"type":"string","description":"Minimum Advance Applies To","default":"all_customers","enum":["new_customers","all_customers","non_members"]},"min_advance":{"type":"string","description":"Minimum Advance","default":"P0D"},"min_cancel_applies":{"type":"string","description":"Minimum Cancel Applies To","default":"all_customers","enum":["new_customers","all_customers","non_members"]},"min_cancel":{"type":"string","description":"Minimum Cancel","default":"P1D"},"disable_before_date":{"type":"string","description":"Disable Before Date","format":"date"},"disable_after_date":{"type":"string","description":"Disable After Date","format":"date"},"min_length":{"maximum":20,"minimum":1,"type":"integer","description":"Minimum Length","format":"int32","default":1},"max_length":{"maximum":20,"minimum":1,"type":"integer","description":"Maximum Length","format":"int32","default":1},"question_group_id":{"type":"integer","description":"Question Group ID","format":"int32"},"pre_time":{"type":"integer","description":"Default Pre-Time","format":"int32","default":0,"enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120]},"post_time":{"type":"integer","description":"Default Post-Time","format":"int32","default":0,"enum":[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120]},"booking_time_step":{"type":"integer","description":"Booking Time Step","format":"int32"},"listed_duration":{"type":"integer","description":"Listed Duration","format":"int32"},"service_type":{"type":"string","description":"Service Type","enum":["day","fixed_time","variable_time"]},"method_of_appointment":{"type":"string","description":"Service method of appointmnet","enum":["In-person","Phone","Video"]},"company_ids":{"type":"array","description":"List of child company ids","items":{"type":"integer","format":"int32"}},"booking_type":{"type":"integer","description":"Non-Members Booking","format":"int32","default":3},"mbooking_type":{"type":"integer","description":"Members Booking","format":"int32","default":5},"queue_duration":{"type":"integer","description":"A custom duration for the service when offered via the queue","format":"int32"},"queuing_disabled":{"type":"boolean","description":"States whether the service can be used for queuing"},"price":{"type":"number","description":"Price","format":"float"},"price_after":{"type":"number","description":"Set a price which only takes effect at future date","format":"float"},"price_after_date":{"type":"string","description":"Set a date in future in which the price changes","format":"date"},"combine_resource_and_staff":{"type":"boolean","description":"Automatically assign staff and resource when the customer makes a booking"},"fixed_start_times":{"type":"boolean","description":"Fixed start times"},"confirmable_by":{"type":"integer","description":"Customer Confirmable","format":"int32","enum":[0,1]},"fairness_strategy":{"type":"string","description":"Fairness Strategy","enum":["random","booking_date","created_date"]},"service_booking_types":{"type":"object","properties":{"enabled_for_appointments":{"type":"boolean","description":"Enabled for appointments"},"enabled_for_queuing":{"type":"boolean","description":"Enabled for queuing"}}},"visibility_type":{"type":"string","description":"Visibility Type","default":"public","enum":["public","private","private_and_personal_booking_link"]},"configured_durations":{"type":"array","items":{"required":["duration"],"type":"object","properties":{"duration":{"type":"integer","description":"Duration (mins)","format":"int32"},"price":{"type":"integer","description":"Price","format":"int32"}}}},"real_time_dashboard_config":{"type":"object","properties":{"wait_time_critical_limit":{"type":"number","description":"Critical wait time limit in minutes","format":"float"},"wait_time_warning_limit":{"type":"number","description":"Warning wait time limit in minutes","format":"float"},"queue_critical_limit":{"type":"integer","description":"Critical queue length limit","format":"int32"},"queue_warning_limit":{"type":"integer","description":"Warning queue length limit","format":"int32"}}}},"description":"Create Service"},"putAdminCompanyIdPeople":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"group_id":{"type":"integer","format":"int32"},"phone_prefix":{"type":"string"},"phone":{"type":"string"},"ical_link":{"type":"string"},"never_booked":{"type":"boolean"},"order":{"type":"integer","format":"int32"},"disabled":{"type":"boolean"},"reference":{"type":"string"},"company_ids":{"type":"array","description":"List of company ids to which the staff member will be assigned to","items":{"type":"integer","format":"int32"}},"resource_ids":{"type":"array","description":"List of resource ids to which the staff member will be able to work at","items":{"type":"integer","format":"int32"}},"service_ids":{"type":"array","description":"List of service ids to which the staff member will be able to offer","items":{"type":"integer","format":"int32"}},"schedule":{"type":"object","properties":{"style":{"type":"integer","format":"int32","default":0}}},"client_queue_id":{"type":"integer","format":"int32"},"queuing_disabled":{"type":"boolean"},"schedule_id":{"type":"integer","format":"int32"}},"description":"Update Person"},"postAdminCompanyIdPeople":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"group_id":{"type":"integer","format":"int32"},"phone_prefix":{"type":"string"},"phone":{"type":"string"},"ical_link":{"type":"string"},"order":{"type":"integer","format":"int32"},"disabled":{"type":"boolean"},"never_booked":{"type":"boolean"},"notify":{"type":"boolean","default":true},"reference":{"type":"string"},"all_staff":{"type":"boolean","description":"True when creating an Admin that will be able to see other staff schedules, false otherwise"},"company_ids":{"type":"array","description":"List of company ids to which the staff member will be assigned to","items":{"type":"integer","format":"int32"}},"resource_ids":{"type":"array","description":"List of resource ids to which the staff member will be able to work at","items":{"type":"integer","format":"int32"}},"service_ids":{"type":"array","description":"List of service ids to which the staff member will be able to offer","items":{"type":"integer","format":"int32"}},"queuing_disabled":{"type":"boolean","default":true},"schedule":{"type":"object","properties":{"style":{"type":"integer","format":"int32","default":0}}}},"description":"Create Person"},"putAdminCompanyIdResources":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"disabled":{"type":"boolean"},"price":{"type":"number","format":"float"},"order":{"type":"integer","format":"int32"},"never_booked":{"type":"boolean"},"group_id":{"type":"integer","format":"int32"},"count":{"type":"integer","format":"int32"},"max_book":{"type":"integer","format":"int32","default":1},"max_booking_limit":{"type":"integer","format":"int32"},"api_ref":{"type":"string"},"ical_link":{"type":"string"},"address":{"type":"object","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"address3":{"type":"string"},"address4":{"type":"string"},"address5":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"}}},"address_id":{"type":"integer","format":"int32"},"person_ids":{"type":"array","description":"List of person ids to which this resources can be used by","items":{"type":"integer","format":"int32"}},"service_ids":{"type":"array","description":"List of service ids to which can be booked at this resource","items":{"type":"integer","format":"int32"}},"schedule":{"type":"object","properties":{"style":{"type":"integer","format":"int32","default":0}}}},"description":"Update Resource"},"postAdminCompanyIdResources":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"email":{"type":"string","description":"An optional address to send emails to when this resource is booked"},"disabled":{"type":"boolean"},"price":{"type":"number","format":"float"},"order":{"type":"integer","format":"int32"},"group_id":{"type":"integer","format":"int32"},"never_booked":{"type":"boolean","description":"Never Mark as Booked"},"count":{"type":"integer","format":"int32","default":1},"max_book":{"type":"integer","format":"int32","default":1},"max_booking_limit":{"type":"integer","format":"int32"},"api_ref":{"type":"string"},"ical_link":{"type":"string"},"address":{"type":"object","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"address3":{"type":"string"},"address4":{"type":"string"},"address5":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"}}},"person_ids":{"type":"array","description":"List of person ids to which this resources can be used by","items":{"type":"integer","format":"int32"}},"service_ids":{"type":"array","description":"List of service ids to which can be booked at this resource","items":{"type":"integer","format":"int32"}},"address_id":{"type":"integer","format":"int32"},"schedule":{"type":"object","properties":{"style":{"type":"integer","format":"int32","default":0}}}},"description":"Create Resource"},"putAdminCompanyIdBookings":{"type":"object","properties":{"datetime":{"type":"string","description":"ISO8601 DateTime","format":"date-time"},"duration":{"type":"integer","description":"New duration for Booking (defaults to current duration)","format":"int32"},"person_id":{"type":"integer","description":"ID for new staff member (defaults to current staff member ID)","format":"int32"},"resource_id":{"type":"integer","description":"ID for new resource (defaults to current resource ID)","format":"int32"},"service_id":{"type":"integer","description":"ID for new service (defaults to current service ID)","format":"int32"},"email":{"type":"boolean","default":true},"email_owner":{"type":"boolean","default":true},"status":{"type":"string","description":"New status for the booking (defaults to the current status; options are 1 for enquired, 4 for booked, 2 for reserved)"},"position":{"type":"integer","description":"Position in Queue","format":"int32"},"attended":{"type":"boolean","description":"Set the attended flag to true or false"},"client_id":{"type":"integer","description":"A new client to move this booking to","format":"int32"},"client":{"type":"object","properties":{"first_name":{"type":"string","description":"First name"},"first_name_extra":{"type":"string","description":"First name extra"},"last_name":{"type":"string","description":"Last name"},"last_name_extra":{"type":"string","description":"Last name extra"},"email":{"type":"string","description":"Email"},"mobile_prefix":{"type":"string","description":"Mobile prefix"},"mobile":{"type":"string","description":"Mobile phone"},"mobile_prefix_country_code":{"type":"string","description":"Mobile Prefix Country Code"},"phone_prefix":{"type":"string","description":"Phone prefix"},"phone":{"type":"string","description":"Phone"},"phone_prefix_country_code":{"type":"string","description":"Phone Prefix Country Code"},"address1":{"type":"string","description":"Address1"},"address2":{"type":"string","description":"Address2"},"address3":{"type":"string","description":"Address3"},"address4":{"type":"string","description":"Address4"},"address5":{"type":"string","description":"Address5"},"postcode":{"type":"string","description":"Postcode"},"country":{"type":"string","description":"Country"},"member_type":{"type":"integer","description":"Customer Type","format":"int32","enum":[1,2]},"member_level_id":{"type":"integer","description":"Member Level ID","format":"int32"},"mem_join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"time_zone":{"type":"string","description":"Time zone"},"consent":{"type":"boolean","description":"Consent for collecting and storing data"},"extra_info":{"type":"object","properties":{"locale":{"type":"string","description":"Language locale"}}},"client_type":{"type":"integer","description":"Client Type","format":"int32","default":2}}},"price":{"type":"integer","description":"Price of the booking","format":"int32"},"paid":{"type":"integer","description":"Amount of the booking that has been paid for","format":"int32"},"child_client_ids":{"type":"array","description":"List of other staff attending","items":{"type":"integer","format":"int32"}},"private_note":{"type":"string","description":"Private Note"},"current_multi_status":{"type":"string","description":"Multi Status"},"update_reason":{"type":"string","description":"Provides the reason why the booking was updated e.g. 'The customer requested the booking to be moved to a different time as they were unable to attend the original time.'"},"time_zone":{"type":"string"},"assets":{"type":"array","items":{"type":"object","properties":{"company_id":{"type":"integer","format":"int32"},"person_id":{"type":"integer","format":"int32"},"resource_id":{"type":"integer","format":"int32"},"pre_time":{"type":"integer","description":"Pre Time. Overrides service configuration","format":"int32"},"post_time":{"type":"integer","description":"Post Time. Overrides service configuration","format":"int32"},"resource_group_id":{"type":"integer","description":"Resource Group ID","format":"int32"},"person_group_id":{"type":"integer","description":"Person Group ID","format":"int32"}}}},"requested_assets":{"type":"array","items":{"type":"object","properties":{}}},"attendees":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Attendee full name"},"first_name":{"type":"string","description":"Attendee first name"},"last_name":{"type":"string","description":"Attendee last name"},"telephone":{"type":"string","description":"Attendee telephone"},"relationship":{"type":"string","description":"Attendee relationship (i.e) lawyer, friend, or partner"},"type":{"type":"string","description":"Type"},"email":{"type":"string","description":"Attendee email"},"notify_member":{"type":"boolean","description":"Send a notification to the main booker"}}}}},"description":"Update Booking"},"postAdminCompanyIdBookings":{"type":"object","properties":{"datetime":{"type":"string","format":"date-time"},"service_id":{"type":"integer","description":"Service ID","format":"int32"},"person_id":{"type":"integer","description":"Staff member ID","format":"int32"},"resource_id":{"type":"integer","description":"Resource ID","format":"int32"},"client_id":{"type":"integer","description":"Client ID","format":"int32"},"client":{"type":"object","properties":{"first_name":{"type":"string","description":"First name"},"first_name_extra":{"type":"string","description":"First name extra"},"last_name":{"type":"string","description":"Last name"},"last_name_extra":{"type":"string","description":"Last name extra"},"email":{"type":"string","description":"Email"},"mobile_prefix":{"type":"string","description":"Mobile prefix"},"mobile":{"type":"string","description":"Mobile phone"},"mobile_prefix_country_code":{"type":"string","description":"Mobile Prefix Country Code"},"phone_prefix":{"type":"string","description":"Phone prefix"},"phone":{"type":"string","description":"Phone"},"phone_prefix_country_code":{"type":"string","description":"Phone Prefix Country Code"},"address1":{"type":"string","description":"Address1"},"address2":{"type":"string","description":"Address2"},"address3":{"type":"string","description":"Address3"},"address4":{"type":"string","description":"Address4"},"address5":{"type":"string","description":"Address5"},"postcode":{"type":"string","description":"Postcode"},"country":{"type":"string","description":"Country"},"member_type":{"type":"integer","description":"Customer Type","format":"int32","enum":[1,2]},"member_level_id":{"type":"integer","description":"Member Level ID","format":"int32"},"mem_join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"time_zone":{"type":"string","description":"Time zone"},"consent":{"type":"boolean","description":"Consent for collecting and storing data"},"extra_info":{"type":"object","properties":{"locale":{"type":"string","description":"Language locale"}}},"comp_ref":{"type":"string"},"default_company_id":{"type":"string","description":"The default company the client should belong to"},"client_type":{"type":"integer","description":"Client Type","format":"int32","default":2},"notification_preferences":{"type":"object","properties":{"email":{"type":"object","properties":{"bookings":{"type":"boolean"}}},"sms":{"type":"object","properties":{"bookings":{"type":"boolean"}}}}}}},"event_id":{"type":"integer","description":"Event ID","format":"int32"},"event_chain_id":{"type":"integer","description":"Event Chain ID","format":"int32"},"price":{"type":"integer","description":"Price","format":"int32"},"queue_status":{"type":"integer","description":"Queue Status","format":"int32"},"notifications":{"type":"boolean","description":"Send email and sms notifications","default":true},"duration":{"type":"integer","description":"Duration of the appointment, in minutes. Must be one of the durations of the service","format":"int32"},"assets":{"type":"array","items":{"type":"object","properties":{"company_id":{"type":"integer","description":"Company ID","format":"int32"},"person_id":{"type":"integer","description":"Person ID","format":"int32"},"resource_id":{"type":"integer","description":"Resource ID","format":"int32"},"pre_time":{"type":"integer","description":"Pre Time. Overrides service configuration","format":"int32"},"post_time":{"type":"integer","description":"Post Time. Overrides service configuration","format":"int32"}}}}},"description":"Create Booking"},"postAdminCompanyIdClient":{"type":"object","properties":{"first_name":{"type":"string","description":"First name"},"first_name_extra":{"type":"string","description":"First name extra"},"last_name":{"type":"string","description":"Last name"},"last_name_extra":{"type":"string","description":"Last name extra"},"email":{"type":"string","description":"Email"},"mobile_prefix":{"type":"string","description":"Mobile prefix"},"mobile":{"type":"string","description":"Mobile phone"},"mobile_prefix_country_code":{"type":"string","description":"Mobile Prefix Country Code"},"phone_prefix":{"type":"string","description":"Phone prefix"},"phone":{"type":"string","description":"Phone"},"phone_prefix_country_code":{"type":"string","description":"Phone Prefix Country Code"},"address1":{"type":"string","description":"Address1"},"address2":{"type":"string","description":"Address2"},"address3":{"type":"string","description":"Address3"},"address4":{"type":"string","description":"Address4"},"address5":{"type":"string","description":"Address5"},"postcode":{"type":"string","description":"Postcode"},"country":{"type":"string","description":"Country"},"member_type":{"type":"integer","description":"Customer Type","format":"int32","enum":[1,2]},"member_level_id":{"type":"integer","description":"Member Level ID","format":"int32"},"mem_join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"time_zone":{"type":"string","description":"Time zone"},"consent":{"type":"boolean","description":"Consent for collecting and storing data"},"extra_info":{"type":"object","properties":{"locale":{"type":"string","description":"Language locale"}}},"comp_ref":{"type":"string"},"default_company_id":{"type":"string","description":"The default company the client should belong to"},"reference":{"type":"string"},"join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"send_email":{"type":"string","default":"false"},"notification_preferences":{"type":"object","properties":{"email":{"type":"object","properties":{"bookings":{"type":"boolean"}}},"sms":{"type":"object","properties":{"bookings":{"type":"boolean"}}}}}},"description":"Create Client"},"putAdminCompanyIdClient":{"type":"object","properties":{"first_name":{"type":"string","description":"First name"},"first_name_extra":{"type":"string","description":"First name extra"},"last_name":{"type":"string","description":"Last name"},"last_name_extra":{"type":"string","description":"Last name extra"},"email":{"type":"string","description":"Email"},"mobile_prefix":{"type":"string","description":"Mobile prefix"},"mobile":{"type":"string","description":"Mobile phone"},"mobile_prefix_country_code":{"type":"string","description":"Mobile Prefix Country Code"},"phone_prefix":{"type":"string","description":"Phone prefix"},"phone":{"type":"string","description":"Phone"},"phone_prefix_country_code":{"type":"string","description":"Phone Prefix Country Code"},"address1":{"type":"string","description":"Address1"},"address2":{"type":"string","description":"Address2"},"address3":{"type":"string","description":"Address3"},"address4":{"type":"string","description":"Address4"},"address5":{"type":"string","description":"Address5"},"postcode":{"type":"string","description":"Postcode"},"country":{"type":"string","description":"Country"},"member_type":{"type":"integer","description":"Customer Type","format":"int32","enum":[1,2]},"member_level_id":{"type":"integer","description":"Member Level ID","format":"int32"},"mem_join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"time_zone":{"type":"string","description":"Time zone"},"consent":{"type":"boolean","description":"Consent for collecting and storing data"},"extra_info":{"type":"object","properties":{"locale":{"type":"string","description":"Language locale"}}},"comp_ref":{"type":"string"},"default_company_id":{"type":"string","description":"The default company the client should belong to"},"reference":{"type":"string"},"join_date":{"type":"string","description":"Client's Join Date in ISO-8601","format":"date"},"notification_preferences":{"type":"object","properties":{"email":{"type":"object","properties":{"bookings":{"type":"boolean"}}},"sms":{"type":"object","properties":{"bookings":{"type":"boolean"}}}}}},"description":"Update Client"},"GlobalImageLink":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"position":{"type":"string","example":"null"},"image_file_name":{"type":"string","example":"null"},"foreign_key":{"type":"string","example":"null"},"url":{"type":"string","example":"null"},"thumb_url":{"type":"string","example":"null"},"default":{"type":"string","example":"null"}},"description":"Uploads a image and links it to objects.\n"},"GlobalImageLinkCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"              Retrieves a list of images attached to a global category.\n"},"DateCollection":{"type":"object","properties":{"dates":{"type":"array","items":{"type":"string"},"example":null}},"description":"          Get a list of available dates in which bookings can occur\n\n          The amount of times left available on each day are specified\n\n          If person_id and resource_id are not specified and the service has multiple people\n          or resources (as specified by the who/what/where config), it will count the times\n          for any given date\n"},"Time":{"type":"object","properties":{"start":{"type":"string","example":"null"},"available":{"type":"string","example":"null"},"durations":{"type":"string","example":"null"},"prices":{"type":"string","example":"null"},"listed_durations":{"type":"string","example":"null"},"conflicts":{"type":"string","example":"null"},"conflicting_assets":{"type":"string","example":"null"}},"description":"Read Time"},"TimeCollection":{"type":"object","properties":{"times":{"type":"array","items":{"type":"string"},"example":null}},"description":"          Get a list of available booking start times for a particular day.\n\n          The available durations and prices are included under each start time.\n\n          If person_id and resource_id are not specified and the service has multiple people or\n          resources (as specified by the who/what/where config), times that are the same but differ by\n          person or resource are merged together by default. If booking a particular person or\n          resource either pass in their IDs in the person_id and resource_id params or pass the\n          merge_times param as false.\n\n          Requested Assets (`requested_assets`), this parameters describe a list of rules which a time must\n          satisfy to be considered available.\n\n          A Requested asset consists of a\n          * company_rule -> can be either `default` (it will respect the company of the URL), `any` (it can be any company that provides the service), or `Array<CompanyID>` one of these companies (which must provide the service).\n          * person_rule -> can be either `any` (any person which provides the service), `any_or_none` (the user is indifferent as to whether a person is associated to the booking), `Array<PersonID>` one of these people who provide the service.\n          * resource_rule -> same as person_rule:  can be either `any` (any resource which provides the service), `any_or_none` (the user is indifferent as to whether a resource is associated to the booking), `Array<PersonID>` one of these resources with which the service can be provided.\n\n          Factors that influence availability include:\n\n          * Service, Person and Resource schedules\n          * Bookings and blocked time\n          * Company opening hours\n          * Max/min advance\n          * Min/max consecutive bookings (fixed time service)\n          * Durations (flex time service)\n          * Travel time (flex time service)\n          * Booking time step\n"},"Sequence":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"},"example":null}},"description":"Retrieves sequence of services, resources or questions"},"Address":{"type":"object","properties":{"id":{"type":"integer","example":13101},"name":{"type":"string","example":"Company HQ"},"address1":{"type":"string","example":"2nd Floor"},"address2":{"type":"string","example":"3-7 Herbal Hill"},"address3":{"type":"string","example":"Farringdon"},"address4":{"type":"string","example":"London"},"address5":{"type":"string","example":"null"},"postcode":{"type":"string","example":"null"},"country":{"type":"string","example":"null"},"lat":{"type":"number","example":-0.1084389},"long":{"type":"number","example":51.5226634},"map_url":{"type":"string","example":"null"},"map_marker":{"type":"string","example":"null"},"phone":{"type":"string","example":"0203 123 4567"},"homephone":{"type":"string","example":"null"},"email":{"type":"string","example":"hi@bookingbug.com"},"workphone":{"type":"string","example":"null"},"pretty_workphone":{"type":"string","example":"null"},"extra":{"type":"object","properties":{},"example":{"simple_question":"Answer to question","checkbox_question":["choice1","choice2","choice3"]}}},"description":"Retrieves a address.\n"},"AddressCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/Address"},"example":null}}}},"description":"Retrieves a list of addresses.\nResults are returned as a paginated list.\n"},"Company":{"type":"object","properties":{"id":{"type":"integer","example":37000},"name":{"type":"string","example":"Pet Store Ltd."},"description":{"type":"string","example":"Take care of pets"},"company_type":{"type":"string","example":"null"},"extra":{"type":"object","properties":{},"example":{"123":"answer to question 123","345":"answer to question 345"}},"address_id":{"type":"integer","example":958694},"website":{"type":"string","example":"petstore.london"},"multi_status":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"},"numeric_widget_id":{"type":"integer"},"currency_code":{"type":"string","example":"GBP"},"timezone":{"type":"string","example":"BST"},"country_code":{"type":"string","example":"GB"},"live":{"type":"boolean","example":false},"ref":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"children_count":{"type":"integer"},"locale":{"type":"string","example":"null"},"available_locales":{"type":"string","example":"null"},"membership_id":{"type":"integer","example":37000},"address":{"$ref":"#/components/schemas/Address"},"_embedded":{"type":"object","properties":{"settings":{"$ref":"#/components/schemas/CompanySettings"}}},"disabled":{"type":"boolean","example":false},"origin":{"type":"string","example":"null"},"member_company_notification_settings":{"type":"string","example":"null"}},"description":"              Create a child company given a parent company.\n              <ol>\n              <li> Services and Events get automatically copied down from the parent.\n              <li> Settings are copied down from the parent.\n              <li> People are not manually re-assigned, you can manually assign people to the new child company.\n              <li> Resources are not copied down, you can re-create the resources at the new child company.\n              <li> Timezone is assigned as the parent company's timezone, unless specified otherwise.\n              </ol>\n              You need to be logged in as an owner of the parent company to create a branch.\n"},"CompanyCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"companies":{"type":"array","items":{"$ref":"#/components/schemas/Company"},"example":null}}}},"description":"Retrieves a list of child companies for a parent company.\n"},"CompanySettings":{"type":"object","properties":{"offer_login":{"type":"string","example":"null"},"has_coupons":{"type":"string","example":"null"},"use_shopping_basket":{"type":"string","example":"null"},"has_deals":{"type":"string","example":"null"},"has_vouchers":{"type":"string","example":"null"},"has_products":{"type":"string","example":"null"},"has_services":{"type":"string","example":"null"},"has_resources":{"type":"string","example":"null"},"has_people":{"type":"string","example":"null"},"has_groups":{"type":"string","example":"null"},"has_child_members":{"type":"string","example":"null"},"has_queues":{"type":"string","example":"null"},"has_images":{"type":"string","example":"null"},"has_repeating":{"type":"string","example":"null"},"has_subscription":{"type":"string","example":"null"},"has_packages":{"type":"string","example":"null"},"has_overbook":{"type":"string","example":"null"},"has_prepaid":{"type":"string","example":"null"},"has_reasons":{"type":"string","example":"null"},"has_addresses":{"type":"string","example":"null"},"has_events":{"type":"string","example":"null"},"has_classes":{"type":"string","example":"null"},"has_waitlists":{"type":"string","example":"null"},"no_recipients":{"type":"string","example":"null"},"has_prices":{"type":"string","example":"null"},"merge_resources":{"type":"string","example":"null"},"merge_people":{"type":"string","example":"null"},"payment_tax":{"type":"string","example":"null"},"currency":{"type":"string","example":"null"},"requires_login":{"type":"string","example":"null"},"has_wallets":{"type":"string","example":"null"},"ask_address":{"type":"string","example":"null"},"ask_mobile_phone":{"type":"string","example":"null"},"has_question_groups":{"type":"string","example":"null"},"use_private_services":{"type":"string","example":"null"},"enable_events_v3":{"type":"string","example":"null"},"desktop_notifications_enabled":{"type":"string","example":"null"},"sc_enabled":{"type":"string","example":"null"},"qms_real_time_dashboard_enabled":{"type":"string","example":"null"},"check_in_enabled":{"type":"string","example":"null"},"has_bulk_sms":{"type":"string","example":"null"},"has_alerts":{"type":"string","example":"null"},"has_merge_members":{"type":"string","example":"null"},"has_questions":{"type":"string","example":"null"},"has_service_schedules":{"type":"string","example":"null"},"booking_type_public":{"type":"string","example":"booking"},"booking_type_member":{"type":"string","example":"reservation"},"has_memberships":{"type":"string","example":"null"},"has_outcomes":{"type":"string","example":"null"},"bcc_to":{"type":"string","example":"test@test.com"},"booking_attendance_default":{"type":"string","example":"null"},"rapid_booking_enabled":{"type":"string","example":"null"},"use_scheduler":{"type":"string","example":"null"},"multi_staff_scheduling":{"type":"string","example":"null"},"notification_preference_options":{"type":"string","example":"null"},"queue_settings":{"type":"string","example":"null"}},"description":"Updates the Queue Setting for a company.\n"},"Service":{"type":"object","properties":{"id":{"type":"integer","example":198549},"category_id":{"type":"string","example":"null"},"name":{"type":"string","example":"Tennis Coaching"},"description":{"type":"string","example":"Teach how to play tennis"},"durations":{"type":"array","example":[30,60],"items":{"type":"integer"}},"prices":{"type":"array","example":[1000,1500],"items":{"type":"integer"}},"detail_group_id":{"type":"string","example":"null"},"color":{"type":"string","example":"null"},"listed_durations":{"type":"array","example":[20,50],"items":{"type":"integer"}},"extra":{"type":"object","properties":{},"example":{"booking_question":"answer","multiple_choice":["choice1","choice2","choice3"]}},"booking_time_step":{"type":"string","example":"null"},"can_refund_automatically":{"type":"boolean","example":false},"is_event_group":{"type":"boolean","example":false},"api_ref":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"},"type":{"type":"string","example":"null"},"group_id":{"type":"integer","example":30944},"deleted":{"type":"boolean","example":false},"queuing_disabled":{"type":"string","example":"null"},"queue_duration":{"type":"integer"},"company_id":{"type":"integer","example":40001},"duration_unit":{"type":"string","example":"null"},"min_advance_period":{"type":"integer"},"max_advance_period":{"type":"integer"},"min_cancel_period":{"type":"integer"},"booking_type_public":{"type":"string","example":"null"},"booking_type_member":{"type":"string","example":"null"},"booking_type":{"type":"integer"},"mbooking_type":{"type":"integer"},"min_length":{"type":"string","example":"null"},"max_length":{"type":"string","example":"null"},"method_of_appointment":{"type":"string","example":"null"},"groups":{"type":"array","items":{"type":"integer"},"example":null},"spaces":{"type":"integer"},"order":{"type":"integer"},"child_level_service":{"type":"boolean","example":false},"_embedded":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company"},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"example":null}}},"membership_prices":{"type":"object","properties":{},"example":null},"global_id":{"type":"integer"},"availability":{"type":"integer"},"price":{"type":"integer"},"price_after":{"type":"integer"},"price_after_date":{"type":"string","example":"null"},"price_in_major_units":{"type":"number","example":100.98},"price_after_in_major_units":{"type":"number","example":100.98},"prices_in_major_units":{"type":"array","example":[100.98],"items":{"type":"number"}},"combine_resource_and_staff":{"type":"string","example":"null"},"visibility_type":{"type":"string","example":"null"},"disabled":{"type":"string","example":"null"},"client_queue_id":{"type":"string","example":"null"},"pre_time":{"type":"string","example":"null"},"post_time":{"type":"string","example":"null"},"rules_group_id":{"type":"string","example":"null"},"max_advance_applies":{"type":"string","example":"null"},"max_advance":{"type":"string","example":"null"},"min_advance_applies":{"type":"string","example":"null"},"min_advance":{"type":"string","example":"null"},"min_cancel_applies":{"type":"string","example":"null"},"min_cancel":{"type":"string","example":"null"},"fairness_strategy":{"type":"string","example":"null"},"listed_duration":{"type":"string","example":"null"},"question_group_id":{"type":"string","example":"null"},"duration":{"type":"string","example":"null"},"configured_durations":{"type":"string","example":"null"},"disable_before_date":{"type":"string","example":"null"},"disable_after_date":{"type":"string","example":"null"},"service_type":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"resource_ids":{"type":"string","example":"null"},"read_only":{"type":"string","example":"null"},"copy_to_children_status":{"type":"string","example":"null"},"update_children_status":{"type":"string","example":"null"},"confirmable_by":{"type":"string","example":"null"},"multi_location_bookings":{"type":"boolean","example":false},"required_assets":{"type":"string","example":"null"},"fixed_start_times":{"type":"string","example":"null"},"service_booking_types":{"type":"string","example":"null"},"real_time_dashboard_config":{"type":"string","example":"null"}},"description":"Creates a new bookable service.\n"},"ServiceCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/Service"},"example":null}}}},"description":"Retrieves a list of bookable services.\nResults are returned in a paginated list.\n"},"Slot":{"type":"object","properties":{"id":{"type":"string","example":"null"},"datetime":{"type":"string","example":"null"},"full_describe":{"type":"string","example":"null"},"status":{"type":"string","example":"null"},"spaces_booked":{"type":"string","example":"null"},"spaces_reserved":{"type":"string","example":"null"},"spaces_blocked":{"type":"string","example":"null"},"num_spaces":{"type":"string","example":"null"},"spaces_wait":{"type":"string","example":"null"},"session_id":{"type":"string","example":"null"},"person_id":{"type":"string","example":"null"},"resource_id":{"type":"string","example":"null"},"service_id":{"type":"string","example":"null"},"duration":{"type":"string","example":"null"},"pre_time":{"type":"string","example":"null"},"post_time":{"type":"string","example":"null"},"origin":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"end_datetime":{"type":"string","example":"null"},"duration_span":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"parent_company_id":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"company_ids":{"type":"string","example":"null"},"external_cal_id":{"type":"string","example":"null"},"recurrence_rule":{"type":"string","example":"null"}},"description":"            Retrieves a slot.\n"},"Person":{"type":"object","properties":{"id":{"type":"integer","example":254543},"name":{"type":"string","example":"John Bull"},"description":{"type":"string","example":"A little bit about them"},"type":{"type":"string","example":"person"},"extra":{"type":"object","properties":{},"example":{"question_one":"Answer to question_one","question_two":"Answer to question two"}},"group_id":{"type":"integer","example":58459},"deleted":{"type":"boolean","example":false},"disabled":{"type":"boolean","example":false},"company_id":{"type":"integer","example":37000},"order":{"type":"integer","example":1},"group_name":{"type":"string","example":"Group"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"example":null},"administrator":{"type":"string","example":"null"},"immediate_schedule":{"type":"string","example":"null"},"object_mappings":{"$ref":"#/components/schemas/IntegrationObjectMappingCollection"},"live_status":{"type":"string","example":"null"}}},"email":{"type":"string","example":"null"},"mobile":{"type":"string","example":"null"},"queuing_disabled":{"type":"string","example":"null"},"attendance_status":{"type":"string","example":"null"},"attendance_estimate":{"type":"string","example":"null"},"attendance_started":{"type":"string","example":"null"},"attendance_status_note":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"},"company_ids":{"type":"string","example":"null"},"schedule_id":{"type":"string","example":"null"},"person_companies":{"type":"string","example":"null"},"phone":{"type":"string","example":"0208 123 456"},"phone_prefix":{"type":"string","example":"+44"},"ical_link":{"type":"string","example":"null"},"never_booked":{"type":"string","example":"null"},"resource_ids":{"type":"string","example":"null"},"service_ids":{"type":"string","example":"null"},"origin":{"type":"string","example":"null"},"personal_booking_link":{"type":"string","example":"null"}},"description":"Retrieves a bookable person that has a particular reference ID.\n\n\n\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\n\n\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.\n\n"},"PersonCollection":{"type":"object","properties":{"total_entries":{"type":"integer","example":100},"_embedded":{"type":"object","properties":{"people":{"type":"array","items":{"$ref":"#/components/schemas/Person"},"example":null}}},"has_object_mappings":{"type":"string","example":"null"}},"description":"Retrieves a list of bookable people.\nResults are returned in a paginated list.\n\n\n\nPeople are the bookable members of staff who provide the various services your organisation\noffers. Some organisations will not require the use of people, while other organisations will\nhave complete availability schedules and specific services provided by each person.\n\n\nThe what & where configuration can be used to determine which people at your business are\ncapable of providing which services and resources.\n\n"},"Resource":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"api_ref":{"type":"string","example":"null"},"description":{"type":"string","example":"null"},"type":{"type":"string","example":"null"},"extra":{"type":"string","example":"null"},"max_price":{"type":"string","example":"null"},"min_price":{"type":"string","example":"null"},"group_id":{"type":"string","example":"null"},"deleted":{"type":"string","example":"null"},"disabled":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"email":{"type":"string","example":"null"},"order":{"type":"string","example":"null"},"address_id":{"type":"string","example":"null"},"max_book":{"type":"string","example":"null"},"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"example":null},"immediate_schedule":{"type":"string","example":"null"},"object_mappings":{"$ref":"#/components/schemas/IntegrationObjectMappingCollection"}}},"schedule_id":{"type":"string","example":"null"},"service_ids":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"count":{"type":"string","example":"null"},"ical_link":{"type":"string","example":"null"},"never_booked":{"type":"string","example":"null"},"settings":{"type":"string","example":"null"},"origin":{"type":"string","example":"null"},"max_booking_limit":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"}},"description":"Retrieves a bookable resource.\n"},"SlotCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"start_date":{"type":"string","example":"null"},"end_date":{"type":"string","example":"null"},"company_id":{"type":"integer"},"_embedded":{"type":"object","properties":{"slots":{"type":"array","items":{"type":"string"},"example":null},"booking_details":{"type":"array","items":{"type":"string"},"example":null},"event_details":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"            Retrieves a list of slots.\n            Results are returned in a paginated list.\n            You can optionally filter by service, resource and person\n"},"Note":{"type":"object","properties":{"id":{"type":"string","example":"null"},"note":{"type":"string","example":"null"},"type":{"type":"string","example":"null"},"reason_id":{"type":"string","example":"null"},"created_by":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"}},"description":"Get a note of the booking"},"NoteCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"List notes of the booking"},"Booking":{"type":"object","properties":{"id":{"type":"string","example":"null"},"full_describe":{"type":"string","example":"null"},"resource_name":{"type":"string","example":"null"},"person_name":{"type":"string","example":"null"},"service_name":{"type":"string","example":"null"},"resource_id":{"type":"string","example":"null"},"member_id":{"type":"string","example":"null"},"client_name":{"type":"string","example":"null"},"client_email":{"type":"string","example":"null"},"client_phone":{"type":"string","example":"null"},"client_mobile":{"type":"string","example":"null"},"service_id":{"type":"string","example":"null"},"datetime":{"type":"string","example":"null"},"end_datetime":{"type":"string","example":"null"},"duration":{"type":"string","example":"null"},"duration_span":{"type":"string","example":"null"},"listed_duration":{"type":"string","example":"null"},"on_waitlist":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"company_name":{"type":"string","example":"null"},"company_time_zone":{"type":"string","example":"null"},"attended":{"type":"string","example":"null"},"booking_updated":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"client_id":{"type":"string","example":"null"},"person_id":{"type":"string","example":"null"},"people_ids":{"type":"string","example":"null"},"price":{"type":"string","example":"null"},"paid":{"type":"string","example":"null"},"quantity":{"type":"string","example":"null"},"is_cancelled":{"type":"string","example":"null"},"multi_status":{"type":"string","example":"null"},"purchase_id":{"type":"string","example":"null"},"purchase_ref":{"type":"string","example":"null"},"event_chain_id":{"type":"string","example":"null"},"notes":{"type":"string","example":"null"},"channel":{"type":"string","example":"null"},"user_id":{"type":"string","example":"null"},"status":{"type":"string","example":"null"},"ticket_name":{"type":"string","example":"null"},"_embedded":{"type":"object","properties":{"client":{"type":"string","example":"null"},"address":{"type":"string","example":"null"},"answers":{"type":"array","items":{"type":"string"},"example":null}}},"slot_id":{"type":"string","example":"null"},"settings":{"type":"string","example":"null"},"slot_settings":{"type":"string","example":"null"},"answers_summary":{"type":"string","example":"null"},"survey_answers_summary":{"type":"string","example":"null"},"queue_status":{"type":"string","example":"null"},"questions":{"type":"string","example":"null"},"current_multi_status":{"type":"string","example":"null"},"private_note":{"type":"string","example":"null"},"pre_time":{"type":"string","example":"null"},"post_time":{"type":"string","example":"null"},"min_cancellation_time":{"type":"string","example":"null"},"cancellation_date":{"type":"string","example":"null"},"cancel_reason":{"type":"string","example":"null"},"mobile":{"type":"string","example":"null"},"booked_by":{"type":"string","example":"null"},"booked_by_email":{"type":"string","example":"null"},"time_zone":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"resource_ids":{"type":"string","example":"null"},"cancelled_by":{"type":"string","example":"null"},"checked_in":{"type":"string","example":"null"},"check_in_code":{"type":"string","example":"null"},"external_cal_id":{"type":"string","example":"null"},"price_in_major_units":{"type":"string","example":"null"},"paid_in_major_units":{"type":"string","example":"null"},"recurrence_rule":{"type":"string","example":"null"},"method_of_appointment":{"type":"string","example":"null"},"source":{"type":"string","example":"null"},"medium":{"type":"string","example":"null"},"campaign":{"type":"string","example":"null"},"assets":{"type":"string","example":"null"},"coupon_title":{"type":"string","example":"null"},"coupon_code":{"type":"string","example":"null"},"private_notes":{"type":"array","items":{"type":"string"},"example":null},"edit_notes":{"type":"array","items":{"type":"string"},"example":null}},"description":"Retrieves a booking"},"BookingCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"start_date":{"type":"string","example":"null"},"end_date":{"type":"string","example":"null"},"include_cancelled":{"type":"boolean","example":false},"_embedded":{"type":"object","properties":{"bookings":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves a list of bookings. Results are returned as a paginated list."},"Attendee":{"type":"object","properties":{"id":{"type":"string","example":"5896-658995-65893"},"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"email":{"type":"string","example":"john@smith.com"},"telephone":{"type":"string","example":"+447 956 235 789"},"relationship":{"type":"string","example":"friend, lawyer"},"type":{"type":"string","example":"external"},"primary_attendee":{"type":"boolean","example":false},"name":{"type":"string","example":"John Smith"},"consent":{"type":"boolean","example":false},"created_at":{"type":"string","example":"null"},"extra":{"type":"object","properties":{},"example":"{\"any\": \"additional data\"}"}},"description":"Modifies an attendee of the booking"},"AttendeeCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"attendees":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Obtains booking's attendees after it was added to booking"},"Client":{"type":"object","properties":{"first_name":{"type":"string","example":"null"},"first_name_extra":{"type":"string","example":"null"},"last_name":{"type":"string","example":"null"},"last_name_extra":{"type":"string","example":"null"},"wallet_amount":{"type":"string","example":"null"},"email":{"type":"string","example":"null"},"address1":{"type":"string","example":"null"},"address2":{"type":"string","example":"null"},"address3":{"type":"string","example":"null"},"address4":{"type":"string","example":"null"},"address5":{"type":"string","example":"null"},"postcode":{"type":"string","example":"null"},"country":{"type":"string","example":"null"},"phone":{"type":"string","example":"null"},"mobile":{"type":"string","example":"null"},"id":{"type":"string","example":"null"},"member_type":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"},"files":{"type":"string","example":"null"},"deleted":{"type":"string","example":"null"},"phone_prefix":{"type":"string","example":"null"},"mobile_prefix":{"type":"string","example":"null"},"default_company_id":{"type":"string","example":"null"},"q":{"type":"string","example":"null"},"member_level_id":{"type":"string","example":"null"},"join_date":{"type":"string","example":"null"},"time_zone":{"type":"string","example":"null"},"locale":{"type":"string","example":"null"},"image_url":{"type":"string","example":"null"},"thumb_image_url":{"type":"string","example":"null"},"consent":{"type":"boolean","example":true},"mobile_prefix_country":{"type":"string","example":"null"},"phone_prefix_country":{"type":"string","example":"null"},"mobile_prefix_country_code":{"type":"string","example":"null"},"phone_prefix_country_code":{"type":"string","example":"null"},"upcoming_bookings_count":{"type":"string","example":"null"},"_embedded":{"type":"object","properties":{"object_mappings":{"$ref":"#/components/schemas/IntegrationObjectMappingCollection"},"bookings":{"type":"array","items":{"type":"string"},"example":null},"next_booking":{"type":"string","example":"null"},"pre_paid_bookings":{"type":"array","items":{"type":"string"},"example":null}}},"answers":{"type":"array","items":{"type":"string"},"example":null},"notification_preferences":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"}},"description":"            Updates an existing client.\n"},"Purchase":{"type":"object","properties":{"total_price":{"type":"number","example":35.9},"price":{"type":"integer","example":2599},"paid":{"type":"integer","example":1399},"deposit":{"type":"integer","example":1200},"tax_payable_on_price":{"type":"integer","example":320},"tax_payable_on_deposit":{"type":"integer","example":434},"tax_payable_on_due_now":{"type":"integer","example":999},"due_now":{"type":"integer","example":1099},"long_id":{"type":"string","example":"hm9S8Yx9oiB_AhyVNjc2"},"id":{"type":"integer","example":92458394},"affiliate_ref":{"type":"string","example":"REFcomd53490"},"client_name":{"type":"string","example":"Joan Feynman"},"created_at":{"type":"string","example":"2024-01-01T12:44:23Z"},"certificate_paid":{"type":"integer","example":5023},"payment_type":{"type":"string","example":"online"},"original_price":{"type":"integer","example":999},"last_payment_log":{"type":"object","properties":{},"example":{"success":1,"response":"last_response_logged"}},"payment_reference":{"type":"string","example":"A48283dfkslf"},"external_ref":{"type":"string","example":"EXTREF321"},"_embedded":{"type":"object","properties":{"client":{"$ref":"#/components/schemas/Client"},"member":{"$ref":"#/components/schemas/Member"},"bookings":{"type":"array","items":{"$ref":"#/components/schemas/Booking"},"example":null},"packages":{"type":"array","items":{"$ref":"#/components/schemas/Package"},"example":null},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"},"example":null},"pre_paid_bookings":{"type":"array","items":{"$ref":"#/components/schemas/PrePaidBooking"},"example":null},"deals":{"type":"array","items":{"$ref":"#/components/schemas/Deal"},"example":null},"course_bookings":{"type":"array","items":{"$ref":"#/components/schemas/Booking"},"example":null},"external_purchases":{"type":"array","items":{"$ref":"#/components/schemas/ExternalPurchase"},"example":null},"payment_callbacks":{"type":"array","items":{"$ref":"#/components/schemas/PaymentCallback"},"example":null},"confirm_messages":{"type":"array","items":{"$ref":"#/components/schemas/BookingText"},"example":null}}},"refund":{"$ref":"#/components/schemas/Refund"},"price_in_major_units":{"type":"number","example":2599},"total_price_in_major_units":{"type":"number","example":35.9},"paid_in_major_units":{"type":"number","example":1399},"deposit_in_major_units":{"type":"number","example":1200},"tax_payable_on_price_in_major_units":{"type":"number","example":320},"tax_payable_on_deposit_in_major_units":{"type":"number","example":434},"tax_payable_on_due_now_in_major_units":{"type":"number","example":999},"due_now_in_major_units":{"type":"number","example":1099}},"description":"            Retrieves a purchase.\n"},"PurchaseCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"purchases":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"            Retrieves a list of purchases.\n            Results can be filtered to only include purchases created between dates using the\n            created_from and created_to params. Results can also be filtered to only include\n            purchases for a particular customer via the client_id param or to only show purchases\n            created by administrators with the admin param.\n"},"CombinedPayment":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"payments":{"type":"array","items":{"type":"string"},"example":null},"advance_payments":{"type":"array","items":{"type":"string"},"example":null},"payment_callbacks":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"            Retrieves a list of payments for a purchase\n"},"Deal":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"ref":{"type":"string","example":"null"},"num":{"type":"string","example":"null"},"description":{"type":"string","example":"null"},"category_id":{"type":"string","example":"null"},"service_id":{"type":"string","example":"null"},"affiliate_id":{"type":"string","example":"null"},"price":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"redemption":{"type":"string","example":"null"},"expires":{"type":"string","example":"null"},"total_codes":{"type":"string","example":"null"},"used_codes":{"type":"string","example":"null"},"link":{"type":"string","example":"null"},"tandc":{"type":"string","example":"null"},"vendor":{"type":"string","example":"null"},"allow_mixed_bookings":{"type":"string","example":"null"},"widget_show":{"type":"string","example":"null"}},"description":"            Retrieves a deal that has a particular reference ID.\n"},"DealCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"deals":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves a list of deals.\n"},"DealCode":{"type":"object","properties":{"id":{"type":"string","example":"null"},"purchase_date":{"type":"string","example":"null"},"reseller_name":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"num_used":{"type":"string","example":"null"},"part_used":{"type":"string","example":"null"},"recipient_name":{"type":"string","example":"null"},"code":{"type":"string","example":"null"},"notes":{"type":"string","example":"null"},"used":{"type":"string","example":"null"},"security_code":{"type":"string","example":"null"}},"description":"              Updates the details of a deal code using the code as an identifier\n"},"DealCodeCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"deal_codes":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"              Retrieves the list of deals codes for a deal\n"},"Administrator":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"email":{"type":"string","example":"null"},"role":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"company_name":{"type":"string","example":"null"},"company_cancelled":{"type":"string","example":"null"},"person_id":{"type":"string","example":"null"},"group_id":{"type":"string","example":"null"},"analytics_role":{"type":"string","example":"null"},"reference":{"type":"string","example":"null"},"extra":{"type":"object","properties":{},"example":{"simple_question":"Answer to question","checkbox_question":["choice1","choice2","choice3"]}},"settings":{"type":"object","properties":{},"example":{"setting":"value","another_settings":true}},"person_view_enabled":{"type":"string","example":"null"},"push_notifications_enabled":{"type":"string","example":"null"},"user_id":{"type":"string","example":"null"}},"description":"Find an Administrator using a reference"},"AdministratorCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"administrators":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"          Get a list of Administrators by Company\n          Results are returned as a paginated list\n"},"Schedule":{"type":"object","properties":{"id":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"rules":{"type":"string","example":"null"},"dates":{"type":"string","example":"null"},"duration":{"type":"string","example":"null"},"allow_overlapping_shifts":{"type":"string","example":"null"},"use_availability_by_method":{"type":"string","example":"null"}},"description":"            Retrieves a schedule.\n"},"ScheduleCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"schedules":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves a list of schedules.\nThis can either get raw schedule rules - or compiled rules for a given date range\n"},"EventChain":{"type":"object","properties":{"id":{"type":"integer","example":69855},"updated_at":{"type":"string","example":"2024-01-01T12:44:23Z"},"created_at":{"type":"string","example":"2024-01-01T12:44:23Z"},"name":{"type":"string","example":"Event Chain"},"description":{"type":"string","example":"A description"},"duration":{"type":"integer","example":34},"group":{"type":"string","example":"Name of service"},"time":{"type":"string","example":"2024-01-07T12:44:23Z"},"waitlength":{"type":"integer","example":60},"long_description":{"type":"string","example":"Detailed description"},"capacity_view":{"type":"integer","example":3},"start_date":{"type":"string","example":"2024-01-04"},"end_date":{"type":"string","example":"2024-01-07"},"spaces":{"type":"integer","example":1},"person_name":{"type":"string","example":"Dr. Carol Smilie"},"resource_name":{"type":"string","example":"Surgery Room 1"},"price":{"type":"integer","example":2000},"max_num_bookings":{"type":"integer","example":1},"max_advance_time":{"type":"string","example":"2024-01-04T13:14:23Z"},"min_advance_time":{"type":"string","example":"2024-02-01T12:44:23Z"},"min_advance":{"type":"string","example":"null"},"min_advance_unit":{"type":"string","example":"minute"},"min_cancel":{"type":"string","example":"null"},"min_cancel_unit":{"type":"string","example":"minute"},"ticket_type":{"type":"string","example":"multi_space"},"email_per_ticket":{"type":"boolean","example":true},"questions_per_ticket":{"type":"boolean","example":false},"extra":{"type":"object","properties":{},"example":{"question_1":"answer to question_1","checkbox_question":["possible answer 1","possible answer 2","possible answer 3"]}},"course":{"type":"boolean","example":true},"recurrence_type":{"type":"string","example":"WEEKLY"},"company_id":{"type":"integer","example":589345},"occurances":{"type":"integer","example":23},"price_in_major_units":{"type":"string","example":"null"},"invitation_only":{"type":"string","example":"null"},"_embedded":{"type":"object","properties":{"slots":{"type":"array","items":{"$ref":"#/components/schemas/Event"},"example":null},"events":{"type":"array","items":{"type":"string"},"example":null},"ticket_sets":{"type":"array","example":{"name":"Name","type":"type","price":2700,"event_chain_id":50348,"id":9482948,"min_num_bookings":3,"max_num_bookings":30,"pool_name":"Pool Name","pool_id":3290485,"pool_description":"Description","valid_from":"2024-01-07","valid_to":"2024-02-22","spaces":30,"counts_as":"string","price_type_id":75862},"items":{"type":"object","properties":{}}},"questions":{"$ref":"#/components/schemas/QuestionGroup"},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"example":null}}},"reference":{"type":"string","example":"null"},"deleted":{"type":"string","example":"null"},"template":{"type":"string","example":"null"},"disabled":{"type":"string","example":"null"},"address_id":{"type":"string","example":"null"},"event_group_id":{"type":"string","example":"null"},"global_event_group_id":{"type":"string","example":"null"},"detail_group_id":{"type":"string","example":"null"},"person_id":{"type":"string","example":"null"},"resource_id":{"type":"string","example":"null"},"datetime":{"type":"string","example":"null"},"max_advance":{"type":"string","example":"null"},"repeat":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"resource_ids":{"type":"string","example":"null"},"resource_reference":{"type":"string","example":"null"},"company_reference":{"type":"string","example":"null"},"event_group_reference":{"type":"string","example":"null"},"global_event_group_reference":{"type":"string","example":"null"}},"description":"Retrieves an event chain.\n\nEvent chains are either single events, regularly occurring events or are courses.\n\n"},"EventChainCollection":{"type":"object","properties":{"total_entries":{"type":"integer","example":35},"_embedded":{"type":"object","properties":{"event_chains":{"type":"array","items":{"$ref":"#/components/schemas/EventChain"},"example":null}}}},"description":"Retrieves a list of event chains.\nEvent chains are either single events, regularly occurring events or are courses.\n\n"},"EventGroup":{"type":"object","properties":{"id":{"type":"integer","example":3234},"name":{"type":"string","example":"Name of event group"},"description":{"type":"string","example":"Description of the event group"},"colour":{"type":"string","example":"#800000"},"company_id":{"type":"integer","example":40001},"api_ref":{"type":"string","example":"REF123"},"reference":{"type":"string","example":"REF123"},"extra":{"type":"object","properties":{},"example":{"standard_question_1":"answer to question_1","checkbox_question_2":["option_1_for_question_2","option_2_for_question_2"]}},"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"example":null}}},"disabled":{"type":"boolean","example":false}},"description":"Retrieves an event group\n"},"EventGroupCollection":{"type":"object","properties":{"total_entries":{"type":"integer","example":90},"_embedded":{"type":"object","properties":{"event_groups":{"type":"array","items":{"$ref":"#/components/schemas/EventGroup"},"example":null}}}},"description":"Retrieves a list of event groups.\nResults are returned in a paginated list.\n"},"CalendarEvent":{"type":"object","properties":{"company_id":{"type":"string","example":"null"},"address_id":{"type":"string","example":"null"},"start_time":{"type":"string","example":"null"},"end_time":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"settings":{"type":"string","example":"null"},"person_ids":{"type":"string","example":"null"},"resource_ids":{"type":"string","example":"null"},"id":{"type":"string","example":"null"},"repeat_rule_id":{"type":"string","example":"null"},"repeat_rule":{"type":"string","example":"null"}},"description":"            Load a Specific Calendar Event Details\n"},"CalendarEventCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"calendar_events":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"            List of Calendar Events for a Company\n            Results are returned as a paginated list\n\n            The start_time and end_time params filter the results. Calendar Events\n            overlapping the datetime pair are returned.\n"},"BulkPurchase":{"type":"object","properties":{"id":{"type":"integer","example":5839545},"company_id":{"type":"integer","example":602342},"name":{"type":"string","example":"Bulk Purchase"},"price":{"type":"integer","example":3200},"number_of_bookings":{"type":"integer","example":23},"description":{"type":"string","example":"Description of bulk purchase"},"duration":{"type":"integer","example":60},"days_valid_for":{"type":"integer","example":5},"use_from_date":{"type":"string","example":"2024-01-11"},"use_by_date":{"type":"string","example":"2024-01-16"},"days_to_use_by":{"type":"integer","example":5},"can_purchase":{"type":"boolean","example":true},"describe":{"type":"string","example":"Description"},"created_at":{"type":"string","example":"2023-12-30T12:44:23Z"},"updated_at":{"type":"string","example":"2023-12-30T12:44:23Z"},"status":{"type":"string","example":"null"},"discount_type":{"type":"string","example":"null"},"price_group_name":{"type":"string","example":"null"}},"description":"            Retrieves a bulk purchase.\n"},"BulkPurchaseCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"bulk_purchases":{"type":"array","items":{"$ref":"#/components/schemas/BulkPurchase"},"example":null}}}},"description":"            Retrieves a list of bulk purchases.\n"},"ImageCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"              Retrieves a list of images.\n"},"ImageLink":{"type":"object","properties":{"id":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"position":{"type":"string","example":"null"},"image_file_name":{"type":"string","example":"null"},"foreign_key":{"type":"string","example":"null"},"url":{"type":"string","example":"null"},"thumb_url":{"type":"string","example":"null"},"default":{"type":"string","example":"null"}},"description":"Uploads a image and links it to objects.\n"},"ImageLinkCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"images":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"              Retrieves a list of images attached to a service/person/resource/company.\n"},"Reason":{"type":"object","properties":{"id":{"type":"string","example":"null"},"reason_type":{"type":"string","example":"null"},"text":{"type":"string","example":"null"},"usage":{"type":"string","example":"null"}},"description":"Retrieves reason. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked."},"ReasonCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"reasons":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves reasons. \nReasons allow you to add in the selectable causes behind the selected action. You can add as many reasons as required for admins to select from the calendar to tie the reason to the booking. Cancellation reasons allow admins to select from the list of reasons why the booking has been cancelled. Block time reasons allow admins to select from the list of reasons why a selected time slot in the calendar needs to be blocked."},"QuestionGroup":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"questions":{"type":"array","items":{"type":"string"},"example":null}},"description":"Retrieves question group"},"QuestionGroupCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"question_groups":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves question groups"},"CustomField":{"type":"object","properties":{"id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"type":{"type":"string","example":"null"},"applies_to":{"type":"string","example":"null"},"required":{"type":"string","example":"null"},"items":{"type":"array","items":{"type":"string"},"example":null}},"description":"Retrieves custom field"},"CustomFieldCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"custom_fields":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves custom fields"},"LandingPage":{"type":"object","properties":{"id":{"type":"string","example":"null"},"session_id":{"type":"string","example":"null"},"landing_page_config":{"type":"string","example":"null"}},"description":"landing page configuration for an event"},"CompanyClosureCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"closures":{"type":"array","items":{"type":"string"},"example":null}}},"total_entries":{"type":"integer"}},"description":"            Lists all company closures, including those inherited from ancestor companies.\n"},"CompanyClosure":{"type":"object","properties":{"id":{"type":"string","example":"null"},"type":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"description":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"start_datetime_utc":{"type":"string","example":"null"},"end_datetime_utc":{"type":"string","example":"null"},"inherited_from_company":{"type":"string","example":"null"},"block_entire_day":{"type":"string","example":"null"},"company_closure_exclusions":{"type":"array","items":{"type":"string"},"example":null}},"description":"            Creates a new company closure.<br><br>\n\n            **Understanding Closure Types:**<br>\n            There are two types of company closures:\n            * **absolute_time:** This type represents a closure spanning a specific moment in time globally. When creating an `absolute_time` closure, ensure the `start_datetime_utc` and `end_datetime_utc` parameters reflect the UTC equivalent of the desired local times.\n\n            * **relative_time:** This type represents a closure spanning a time relative to each user's local time. When creating a `relative_time` closure, provide the `start_datetime_utc` and `end_datetime_utc` as if they were UTC, effectively ignoring timezone information.\n\n            <br><br>\n            **Payload Examples:**<br>\n            **absolute_time Example:**<br>\n            For example, if a user selects December 25th, 2024, 9:30 AM IST, the `start_datetime_utc` should be \"2024-12-25T04:00:00.000Z\"\n            ```json\n            {\n              \"type\": \"absolute_time\",\n              \"name\": \"Company Wide Meeting\",\n              \"description\": \"Company will be closed for a meeting.\",\n              \"start_datetime_utc\": \"2024-12-25T04:00:00.000Z\",\n              \"end_datetime_utc\": \"2024-12-26T12:30:00.000Z\"\n            }\n            ```\n            <br>\n            **relative_time Example:**<br>\n            For example, if a user selects December 25th, 2024, 9:30 AM IST, the `start_datetime_utc` should be \"2024-12-25T09:30:00.000Z\"\n            ```json\n            {\n              \"type\": \"relative_time\",\n              \"name\": \"Christmas Break\",\n              \"description\": \"Company Closure due to Christmas break period.\",\n              \"start_datetime_utc\": \"2024-12-25T09:30:00.000Z\",\n              \"end_datetime_utc\": \"2024-12-26T18:00:00.000Z\"\n            }\n            ```\n"},"CompanyClosureExclusionCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"company_closure_exclusions":{"type":"array","items":{"type":"string"},"example":null}}},"total_entries":{"type":"integer"}},"description":"            Lists all exclusions for a specific company closure.\n"},"CompanyClosureExclusion":{"type":"object","properties":{"id":{"type":"string","example":"null"},"company_closure_id":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"excluded_company":{"type":"string","example":"null"}},"description":"            Creates a new company closure exclusion.\n"},"Coupon":{"type":"object","properties":{"id":{"type":"string","example":"null"},"code":{"type":"string","example":"null"},"title":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"valid_from":{"type":"string","example":"null"},"valid_to":{"type":"string","example":"null"},"max_uses":{"type":"string","example":"null"},"times_used":{"type":"string","example":"null"},"description":{"type":"string","example":"null"},"price":{"type":"string","example":"null"},"percentage":{"type":"string","example":"null"},"coupon_type":{"type":"string","example":"null"},"max_per_person":{"type":"string","example":"null"},"buy":{"type":"string","example":"null"},"free":{"type":"string","example":"null"},"service_ids":{"type":"string","example":"null"},"disabled":{"type":"string","example":"null"},"company_scope":{"type":"string","example":"null"},"service_scope":{"type":"string","example":"null"},"enabled_company_ids":{"type":"string","example":"null"},"status":{"type":"string","example":"null"}},"description":"            Creates a new coupon.\n"},"CouponCollection":{"type":"object","properties":{"total_entries":{"type":"integer"},"_embedded":{"type":"object","properties":{"coupons":{"type":"array","items":{"type":"string"},"example":null}}}},"description":"Retrieves a list of coupons.\nResults are returned in a paginated list.\n"},"Event":{"type":"object","properties":{"id":{"type":"integer","example":11111},"uuid":{"type":"string","example":"null"},"status":{"type":"integer","example":4},"event_chain_id":{"type":"integer","example":9348539},"person_id":{"type":"integer","example":341995},"resource_id":{"type":"integer","example":23888},"service_id":{"type":"integer","example":1112344},"company_id":{"type":"integer","example":59305},"description":{"type":"string","example":"null"},"duration":{"type":"string","example":"null"},"datetime":{"type":"string","example":"null"},"end_datetime":{"type":"string","example":"null"},"multi_day":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"units":{"type":"string","example":"null"},"num_spaces":{"type":"string","example":"null"},"spaces_booked":{"type":"string","example":"null"},"spaces_wait":{"type":"string","example":"null"},"ticket_spaces":{"type":"object","properties":{},"example":{"1":{"name":"Name 1","left":1},"2":{"name":"Name 2","left":1},"6":{"name":"Name 6","left":5}}},"event_chain":{"type":"string","example":"null"},"person":{"type":"string","example":"null"},"registered_guests_count":{"type":"string","example":"null"},"checked_in_guests_count":{"type":"string","example":"null"},"images":{"type":"array","items":{"type":"string"},"example":null}},"description":"Retrieves an event.\n"},"EventCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string"},"example":null}}},"total_entries":{"type":"integer"}},"description":"Retrieves a list of events.\n"},"GuestCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"guests":{"type":"array","items":{"type":"string"},"example":null}}},"total_entries":{"type":"integer"},"total_checked_in_count":{"type":"integer"},"total_registered_count":{"type":"integer"}},"description":"            Lists guests with pagination, ordering, and optional filters.\n"},"Guest":{"type":"object","properties":{"uuid":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000"},"status":{"type":"string","example":"invited"},"number_of_extra_attendees":{"type":"integer","example":2},"total_attendees":{"type":"integer","example":3},"client_details":{"type":"object","properties":{},"example":null},"tickets":{"type":"object","properties":{},"example":null},"questions":{"type":"array","items":{"type":"string"},"example":null},"source_of_registration":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"event_id":{"type":"string","example":"null"},"member_id":{"type":"string","example":"null"},"checkin_code":{"type":"string","example":"null"},"booking_questions":{"type":"array","items":{"type":"string"},"example":null},"payment_pending":{"type":"boolean","example":false}},"description":"Updates an existing guest's details."},"ShiftPattern":{"type":"object","properties":{"id":{"type":"integer"},"company_id":{"type":"integer"},"schedule_id":{"type":"integer"},"start_date":{"type":"string","example":"2017-01-01"},"end_date":{"type":"string","example":"2018-01-01"},"start_time":{"type":"string","example":"09:00"},"end_time":{"type":"string","example":"18:00"},"frequency":{"type":"string","example":"weekly"},"interval":{"type":"integer","example":1},"repeat_count":{"type":"integer","example":52},"by_day":{"type":"array","example":["Sunday","Monday","Tuesday"],"items":{"type":"string"}},"except_date":{"type":"array","example":["2017-02-01","2017-03-01"],"items":{"type":"string"}},"shift_pattern_condition_id":{"type":"integer"},"dates":{"type":"array","items":{"type":"string"},"example":null}},"description":"\nA schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\n\nEach shift pattern has start and end times, indicating a shift of available time.\n\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\n\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\n\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).\n"},"ShiftPatternCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"shift_patterns":{"type":"array","items":{"$ref":"#/components/schemas/ShiftPattern"},"example":null}}}},"description":"\nA schedule can contain many shift patterns. Collectively they determine the times that the\nservice/person/resource associated with the schedule, is available.\n\nEach shift pattern has start and end times, indicating a shift of available time.\n\nShift patterns can be one-off or recurring regularly. If they are recurring the frequency\nattribute is set to either 'daily' or 'weekly'. If recurring on a weekly basis the by_day\nattribute indicates which days of the week the shifts will occur on.\n\nThe except_date attribute is an array of dates that shifts will not occur on, cancelling out\nthe recurrence pattern for that date.\n\nThe end of the shift pattern is indicated by either the end_date or repeat_count (the number\nof days or weeks the pattern runs for).\n"},"ShiftCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"shifts":{"type":"array","items":{"$ref":"#/components/schemas/Shift"},"example":null}}}},"description":"\nShifts represent the individual occurences of a schedule shift pattern.\n\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.\n"},"Shift":{"type":"object","properties":{"shift_pattern_id":{"type":"integer"},"company_id":{"type":"integer"},"schedule_id":{"type":"integer"},"date":{"type":"string","example":"2017-01-01"},"start":{"type":"string","example":"2017-01-01T09:00"},"end":{"type":"string","example":"2017-01-01T18:00"},"color":{"type":"string","example":"#FF0000"},"shift_pattern_condition_id":{"type":"integer"}},"description":"\nShifts represent the individual occurences of a schedule shift pattern.\n\nMost editing must be done against the actual shift pattern but deleting a shift will remove\nthat date occurence from the shift pattern.\n"},"ShiftPatternCondition":{"type":"object","properties":{"id":{"type":"string","example":"null"},"schedule_id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"color":{"type":"string","example":"null"},"company_ids":{"type":"string","example":"null"},"methods_of_appointment":{"type":"string","example":"null"}},"description":"Retrieves a shift pattern condition.\n\n\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.\n\n"},"ShiftPatternConditionCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"shift_pattern_conditions":{"type":"array","items":{"$ref":"#/components/schemas/ShiftPatternCondition"},"example":null}}}},"description":"Retrieves a list of shift pattern conditions.\nResults are returned in a paginated list.\n\n\nShift pattern conditions are additional stipulations such as location or price that apply\nfor the duration of the associated shift pattern.\n\n"},"Package":{"type":"object","properties":{"id":{"type":"integer","example":952693},"name":{"type":"string","example":"Name of package"},"description":{"type":"string","example":"Description of package"},"price":{"type":"integer","example":2500},"paid":{"type":"integer","example":1250}}},"Product":{"type":"object","properties":{"id":{"type":"integer","example":107470},"name":{"type":"string","example":"Name of product"},"description":{"type":"string","example":"A description of the product"},"group":{"type":"string","example":"Group"},"make":{"type":"string","example":"Make of the product"},"sku":{"type":"string","example":"BB-CM-LGE-WH"},"qty":{"type":"integer","example":3},"price":{"type":"integer","example":100},"paid":{"type":"integer","example":0}}},"PrePaidBooking":{"type":"object","properties":{"id":{"type":"integer","example":198883},"price":{"type":"integer","example":2419},"number_of_bookings":{"type":"integer","example":10},"number_of_bookings_remaining":{"type":"integer","example":5},"use_from":{"type":"string","example":"2024-01-11"},"use_by":{"type":"string","example":"2024-02-04"},"book_by":{"type":"string","example":"2024-01-18"},"paid":{"type":"integer","example":5500},"service_name":{"type":"string","example":"Tennis Coaching"},"linked_package_id":{"type":"integer","example":89826}}},"PaymentCallback":{"type":"object","properties":{"verification_key":{"type":"string","example":"44kgjer54964c5e349gjkfgj485"},"payer_name":{"type":"string","example":"Carl Payer"},"payer_email":{"type":"string","example":"carl.payer@email.com"},"payer_id":{"type":"integer","example":512687},"receiver_email":{"type":"integer"},"payment_date":{"type":"string","example":"2024-01-03"},"amount":{"type":"integer","example":30000}}},"BookingText":{"type":"object","properties":{"id":{"type":"integer","example":801502},"message":{"type":"string","example":"Booking made successfully"},"message_type":{"type":"string","example":"Booking"},"item_type":{"type":"string","example":"Person"}}},"Image":{"type":"object","properties":{"id":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"image_file_name":{"type":"string","example":"null"},"foreign_key":{"type":"string","example":"null"},"url":{"type":"string","example":"null"}}},"Member":{"type":"object","properties":{"id":{"type":"integer","example":23},"name":{"type":"string","example":"John Smith"},"first_name":{"type":"string","example":"John"},"first_name_extra":{"type":"string","example":"Furigana John"},"last_name":{"type":"string","example":"Smith"},"last_name_extra":{"type":"string","example":" Furigana Smith"},"comp_ref":{"type":"string","example":"REF423"},"wallet_amount":{"type":"integer","example":100},"client_type":{"type":"string","example":"Member"},"email":{"type":"string","example":"john.smith@test.org"},"address1":{"type":"string","example":"A Street and No."},"address2":{"type":"string","example":"An Area"},"address3":{"type":"string","example":"Some Town"},"address4":{"type":"string","example":"Some County"},"address5":{"type":"string","example":"Address Line 5"},"postcode":{"type":"string","example":"AB1 C22"},"country":{"type":"string","example":"United Kingdom"},"phone":{"type":"string","example":"+44 203 984 434"},"phone_prefix":{"type":"string","example":"+44"},"phone_prefix_country_code":{"type":"string","example":"CA"},"mobile":{"type":"string","example":"+44 7733 567 890"},"mobile_prefix":{"type":"string","example":"+44"},"mobile_prefix_country_code":{"type":"string","example":"CA"},"auth_token":{"type":"string","example":"A9rtuy842sasa3S"},"path":{"type":"string","example":"path"},"company_id":{"type":"integer","example":37000},"has_active_wallet":{"type":"boolean","example":false},"default_company_id":{"type":"integer","example":37000},"has_wallet":{"type":"boolean","example":false},"member_level_id":{"type":"integer"},"time_zone":{"type":"string","example":"America/Los_Angeles"},"consent":{"type":"boolean","example":true},"locale":{"type":"string","example":"en"},"space_details":{"type":"object","properties":{},"example":{"form 1":"form 1 value","form 2":"form 2 value","form 3":true,"form 4":false}},"q":{"type":"object","properties":{},"example":{"1":{"name":"What's your role?","answer":"Manager"}}},"answers":{"type":"array","items":{"type":"string"},"example":null},"_embedded":{"type":"object","properties":{"bookings":{"type":"array","items":{"$ref":"#/components/schemas/Booking"},"example":null},"pre_paid_bookings":{"type":"array","items":{"$ref":"#/components/schemas/PrePaidBooking"},"example":null},"child_clients":{"type":"array","items":{"type":"string"},"example":null}}}}},"ExternalPurchase":{"type":"object","properties":{"id":{"type":"integer","example":634588},"name":{"type":"string","example":"Name of External Purchase"},"description":{"type":"string","example":"A description of the purchase"},"settings":{"type":"object","properties":{},"example":{"key_1":"value_1","key_2":"value_2"}},"reference":{"type":"string","example":"REF1234"},"purchase_item_id":{"type":"integer","example":949323},"is_cancelled":{"type":"boolean","example":false}}},"IntegrationObjectMapping":{"type":"object","properties":{"id":{"type":"string","example":"null"},"integration_id":{"type":"string","example":"null"},"internal_id":{"type":"string","example":"null"},"internal_type":{"type":"string","example":"null"},"external_id":{"type":"string","example":"null"},"external_key":{"type":"string","example":"null"},"data":{"type":"string","example":"null"},"created_at":{"type":"string","example":"null"},"updated_at":{"type":"string","example":"null"},"original_source":{"type":"string","example":"null"},"ancestry":{"type":"string","example":"null"},"extra_data_1":{"type":"string","example":"null"},"extra_data_2":{"type":"string","example":"null"},"extra_data_3":{"type":"string","example":"null"},"subscribed?":{"type":"string","example":"null"},"folder_sync_state_updated_at":{"type":"string","example":"null"},"ess_user_data":{"type":"string","example":"null"}}},"IntegrationObjectMappingCollection":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"object_mappings":{"type":"array","items":{"type":"string"},"example":null}}}}},"Refund":{"type":"object","properties":{"amount_refunded":{"type":"integer"},"amount_remaining":{"type":"integer"}}},"GlobalImage":{"type":"object","properties":{"id":{"type":"string","example":"null"},"company_id":{"type":"string","example":"null"},"name":{"type":"string","example":"null"},"image_file_name":{"type":"string","example":"null"},"foreign_key":{"type":"string","example":"null"},"url":{"type":"string","example":"null"}}}},"securitySchemes":{"App-Id":{"type":"apiKey","name":"App-Id","in":"header"},"Auth-Token":{"type":"apiKey","name":"Auth-Token","in":"header"}}},"x-original-swagger-version":"2.0","x-readme":{"explorer-enabled":true,"proxy-enabled":true}}