iflrandevu/openapi.yml

2103 lines
48 KiB
YAML
Raw Normal View History

openapi: 3.0.3
info:
2021-11-04 11:34:04 +03:00
title: Easy!Appointments API
version: 1.0.0
description: These are the OpenAPI specs that describe the REST API of Easy!Appointments.
termsOfService: https://easyappointments.org/terms-and-conditions
contact:
name: Easy!Appointments
url: https://easyappointments.org
email: info@easyappointments.org
license:
name: GPL-3.0
url: https://www.gnu.org/licenses/gpl-3.0.en.html
externalDocs:
2021-11-04 11:34:04 +03:00
description: Find out more about Easy!Appointments
url: https://easyappointments.org/docs.html
servers:
2021-11-04 11:34:04 +03:00
- url: https://demo.easyappointments.org/index.php/api/v1/
tags:
2021-11-04 11:34:04 +03:00
- name: admins
- name: providers
- name: secretaries
- name: customers
- name: availabilities
- name: unavailabilities
- name: appointments
- name: services
- name: categories
- name: settings
paths:
2021-11-04 11:34:04 +03:00
/availabilities:
get:
tags:
- availabilities
summary: Gets availability
parameters:
- name: providerId
in: query
schema:
type: integer
- name: serviceId
in: query
schema:
type: integer
- name: date
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Availabilities'
security:
- BearerToken: []
- BasicAuth: []
/appointments:
get:
tags:
- appointments
summary: Get all appointments
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
- name: aggregates
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentCollection'
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- appointments
summary: Create an appointment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentPayload'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentEntry'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/appointments/{appointmentId}:
get:
tags:
- appointments
summary: Get an appointment
parameters:
- name: appointmentId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentEntry'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- appointments
summary: Update an appointment
parameters:
- name: appointmentId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentPayload'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentEntry'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- appointments
summary: Delete an appointment
parameters:
- name: appointmentId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
security:
- BearerToken: []
- BasicAuth: []
/unavailabilities:
get:
tags:
- unavailabilities
summary: Get all unavailabilities
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
post:
tags:
- unavailabilities
summary: Create an unavailability
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnavailabilityCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Unavailability'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/unavailabilities/{unavailabilityId}:
get:
tags:
- unavailabilities
summary: Get an unavailability
parameters:
- name: unavailabilityId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Unavailability'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- unavailabilities
summary: Update an unavailability
parameters:
- name: unavailabilityId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnavailabilityUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Unavailability'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- unavailabilities
summary: Delete an unavailability
parameters:
- name: unavailabilityId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/customers:
get:
tags:
- customers
summary: Get all customers
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- customers
summary: Create a customer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
security:
- BearerToken: []
- BasicAuth: []
x-codegen-request-body-name: body
/customers/{customerId}:
get:
tags:
- customers
summary: Get a customer
parameters:
- name: customerId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- customers
summary: Update a customer
parameters:
- name: customerId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- customers
summary: Delete a customer
parameters:
- name: customerId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/services:
get:
tags:
- services
summary: Get all services
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- services
summary: Create a service
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/services/{serviceId}:
get:
tags:
- services
summary: Get a service
parameters:
- name: serviceId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- services
summary: Update a service
parameters:
- name: serviceId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- services
summary: Delete a service
parameters:
- name: serviceId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/categories:
get:
tags:
- categories
summary: Get all categories
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- categories
summary: Create a category
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/categories/{categoryId}:
get:
tags:
- categories
summary: Get a category
parameters:
- name: categoryId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- categories
summary: Update a category
parameters:
- name: categoryId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- categories
summary: Delete a category
parameters:
- name: categoryId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/admins:
get:
tags:
- admins
summary: Get all admins
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
- name: fields
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAll'
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- admins
summary: Create an admin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminCreate'
required: true
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/admins/{adminId}:
get:
tags:
- admins
summary: Get an admin
parameters:
- name: adminId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- admins
summary: Update an admin
parameters:
- name: adminId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- admins
summary: Delete an admin
parameters:
- name: adminId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: Not Found
security:
- BearerToken: []
- BasicAuth: []
/providers:
get:
tags:
- providers
summary: Get all providers
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- providers
summary: Create a provider
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Provider'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/providers/{providerId}:
get:
tags:
- providers
summary: Get a provider
parameters:
- name: providerId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Provider'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- providers
summary: Update a provider
parameters:
- name: providerId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Provider'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- providers
summary: Delete a provider
parameters:
- name: providerId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/secretaries:
get:
tags:
- secretaries
summary: Get all secretaries
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
post:
tags:
- secretaries
summary: Create a secretary
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SecretaryCreate'
required: false
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Secretary'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
/secretaries/{secretaryId}:
get:
tags:
- secretaries
summary: Get a secretary
parameters:
- name: secretaryId
in: path
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Secretary'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- secretaries
summary: Update a secretary
parameters:
- name: secretaryId
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SecretaryUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Secretary'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
delete:
tags:
- secretaries
summary: Delete a secretary
parameters:
- name: secretaryId
in: path
required: true
schema:
type: integer
responses:
'204':
description: success
'404':
description: not found
content: {}
security:
- BearerToken: []
- BasicAuth: []
/settings:
get:
tags:
- settings
summary: Get all settings
parameters:
- name: page
in: query
schema:
type: integer
- name: length
in: query
schema:
type: integer
- name: sort
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
security:
- BearerToken: []
- BasicAuth: []
/settings/{settingName}:
get:
tags:
- settings
summary: Get a setting
parameters:
- name: settingName
in: path
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Setting'
security:
- BearerToken: []
- BasicAuth: []
put:
tags:
- settings
summary: Update a setting
parameters:
- name: settingName
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SettingUpdate'
required: false
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Setting'
x-codegen-request-body-name: body
security:
- BearerToken: []
- BasicAuth: []
components:
2021-11-04 11:34:04 +03:00
schemas:
Availabilities:
type: array
items:
type: string
Appointment:
type: object
properties:
id:
type: integer
book:
type: string
start:
type: string
end:
type: string
hash:
type: string
location:
type: string
notes:
type: string
customerId:
type: integer
providerId:
type: integer
serviceId:
type: integer
googleCalendarId:
type: string
example:
id: 1
book: '2021-01-01 12:00:00'
start: '2021-01-01 17:00:00'
end: '2021-01-01 18:00:00'
hash: apTWVbSvBJXR
location: Test Street 1A
notes: This is an appointment.
customerId: 5
providerId: 2
serviceId: 6
googleCalendarId: null
AppointmentCreate:
type: object
properties:
start:
type: string
end:
type: string
location:
type: string
status:
type: string
notes:
type: string
customerId:
type: integer
providerId:
type: integer
serviceId:
type: integer
example:
start: '2021-01-01 17:00:00'
end: '2021-01-01 18:00:00'
location: Test Street 1A
notes: This is an appointment.
customerId: 5
providerId: 2
serviceId: 6
AppointmentUpdate:
type: object
properties:
id:
type: integer
book:
type: string
start:
type: string
end:
type: string
hash:
type: string
location:
type: string
status:
type: string
notes:
type: string
customerId:
type: integer
providerId:
type: integer
serviceId:
type: integer
googleCalendarId:
type: string
example:
start: '2021-01-01 17:00:00'
end: '2021-01-01 18:00:00'
location: Test Street 1A
notes: This is an appointment.
customerId: 5
providerId: 2
serviceId: 6
Unavailability:
type: object
properties:
id:
type: integer
book:
type: string
start:
type: string
end:
type: string
notes:
type: string
providerId:
type: integer
example:
id: 1
book: '2021-01-01 12:00:00'
start: '2021-01-01 17:00:00'
end: '2021-01-01 17:00:00'
notes: This is an unavailability.
providerId: 2
UnavailabilityCreate:
type: object
properties:
start:
type: string
end:
type: string
notes:
type: string
providerId:
type: integer
example:
start: '2021-01-01 17:00:00'
end: '2021-01-01 17:00:00'
notes: This is an unavailability.
providerId: 2
UnavailabilityUpdate:
type: object
properties:
start:
type: string
end:
type: string
notes:
type: string
providerId:
type: integer
example:
start: '2021-01-01 17:00:00'
end: '2021-01-01 17:00:00'
notes: This is an unavailability.
providerId: 2
Customer:
type: object
properties:
id:
type: integer
firstName:
type: string
lastName:
type: string
email:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
example:
id: 1
firstName: John
lastName: Doe
email: john@example.org
phone: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a customer
CustomerCreate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
phone: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a customer
CustomerUpdate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
phone: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a customer
Service:
type: object
properties:
id:
type: integer
name:
type: string
duration:
type: integer
price:
type: number
format: float
currency:
type: string
description:
type: string
availabilitiesType:
type: string
attendantsNumber:
type: integer
categoryId:
type: integer
example:
id: 1
name: Test Service
duration: 30
price: 10
currency: USD
description: This is a test service.
availabilitiesType: Flexible
attendantsNumber: 1
categoryId: null
ServiceCreate:
type: object
properties:
name:
type: string
duration:
type: integer
price:
type: number
currency:
type: string
description:
type: string
availabilitiesType:
type: string
attendantsNumber:
type: integer
categoryId:
type: integer
example:
name: Test Service
duration: 30
price: 10
currency: USD
description: This is a test service.
availabilitiesType: Flexible
attendantsNumber: 1
categoryId: null
ServiceUpdate:
type: object
properties:
name:
type: string
duration:
type: integer
price:
type: number
currency:
type: string
description:
type: string
availabilitiesType:
type: string
attendantsNumber:
type: integer
categoryId:
type: integer
example:
name: Test Service
duration: 30
price: 10
currency: USD
description: This is a test service.
availabilitiesType: Flexible
attendantsNumber: 1
categoryId: null
Category:
type: object
properties:
id:
type: integer
name:
type: string
description:
type: string
example:
id: 1
name: Test Category
description: This is a test category.
CategoryCreate:
type: object
properties:
name:
type: string
description:
type: string
example:
name: Test Category
description: This is a test category.
CategoryUpdate:
type: object
properties:
name:
type: string
description:
type: string
example:
name: Test Category
description: This is a test category.
Admin:
type: object
properties:
id:
type: integer
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
id: 1
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test admin.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
AdminCreate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test admin.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
AdminUpdate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test admin.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
AdminAll:
type: array
items:
$ref: '#/components/schemas/Admin'
Provider:
type: object
properties:
id:
type: integer
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
services:
type: array
items:
type: integer
settings:
type: object
properties:
username:
type: string
password:
type: string
notifications:
type: boolean
calendarView:
type: string
googleSync:
type: boolean
googleCalendar:
type: string
googleToken:
type: string
syncFutureDays:
type: string
syncPastDays:
type: string
workingPlan:
type: string
example:
id: 1
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test provider.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
googleSync: false
googleCalendar: null
googleToken: null
syncFutureDays: 90
syncPastDays: 30
workingPlan:
sunday: null
monday:
start: '09:00'
end: '17:00'
breaks: []
tuesday:
start: '09:00'
end: '17:00'
breaks: []
wednesday:
start: '09:00'
end: '17:00'
breaks: []
thursday:
start: '09:00'
end: '17:00'
breaks: []
friday:
start: '09:00'
end: '17:00'
breaks: []
saturday: null
ProviderCreate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
services:
type: array
items:
type: integer
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
googleSync:
type: boolean
googleCalendar:
type: string
googleToken:
type: string
syncFutureDays:
type: string
syncPastDays:
type: string
workingPlan:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test provider.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
googleSync: false
googleCalendar: null
googleToken: null
syncFutureDays: 90
syncPastDays: 30
workingPlan:
sunday: null
monday:
start: '09:00'
end: '17:00'
breaks: []
tuesday:
start: '09:00'
end: '17:00'
breaks: []
wednesday:
start: '09:00'
end: '17:00'
breaks: []
thursday:
start: '09:00'
end: '17:00'
breaks: []
friday:
start: '09:00'
end: '17:00'
breaks: []
saturday: null
ProviderUpdate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
services:
type: array
items:
type: integer
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
googleSync:
type: boolean
googleCalendar:
type: string
googleToken:
type: string
syncFutureDays:
type: string
syncPastDays:
type: string
workingPlan:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test provider.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
googleSync: false
googleCalendar: null
googleToken: null
syncFutureDays: 90
syncPastDays: 30
workingPlan:
sunday: null
monday:
start: '09:00'
end: '17:00'
breaks: []
tuesday:
start: '09:00'
end: '17:00'
breaks: []
wednesday:
start: '09:00'
end: '17:00'
breaks: []
thursday:
start: '09:00'
end: '17:00'
breaks: []
friday:
start: '09:00'
end: '17:00'
breaks: []
saturday: null
Secretary:
type: object
properties:
id:
type: integer
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
providers:
type: array
items:
type: integer
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
id: 1
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test service.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
SecretaryCreate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test service.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
SecretaryUpdate:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
mobile:
type: string
phone:
type: string
address:
type: string
city:
type: string
zip:
type: string
notes:
type: string
timezone:
type: string
settings:
type: object
properties:
username:
type: string
password:
type: string
format: password
notifications:
type: boolean
calendarView:
type: string
example:
firstName: John
lastName: Doe
email: john@example.org
mobile: '+10000000000'
phone: '+10000000000'
address: Test Street 1A
city: Some Place
zip: '12345'
notes: This is a test service.
timezone: UTC
settings:
username: johndoe
password: johndoe
notifications: true
calendarView: default
Setting:
type: object
properties:
name:
type: string
value:
type: string
example:
name: company_name
value: ACME Inc
SettingUpdate:
type: object
properties:
value:
type: string
example:
value: ACME Inc
securitySchemes:
BearerToken:
type: http
scheme: bearer
description: >-
You can generate the API key from the settings page to authorize with
Bearer Token.
BasicAuth:
type: http
scheme: basic
description: >-
You can use the credentials of an admin user to authorize with Basic
Auth.