Download OpenAPI specification:Download
The service provides capabilities to interact with the salon stored data inside of BEAUTY_OS Core in MongoDB. This is used throughout the website to retrieve information about the booking and interact with the booking’s settings.
Get all salons for a user
| userId required | string |
| status | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
[- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
]Add salon to user
| userId required | string |
| stylistTipCommission | number <double> |
| stylistCommission | number <double> |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| roles required | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| salonName required | string |
| stylistSingleSalonId required | string |
| salonId required | string |
{- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "salonName": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Get user's single salon
| userId required | string |
{- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}Check if user has access to a salon
| userId required | string |
| salonId required | string |
| status | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
{- "hasAccess": true
}Get user salon connection
| userId required | string |
| salonId required | string |
{- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}Update user salon status
| userId required | string |
| salonId required | string |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
{- "status": "active"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1
}Update user salon commission
| userId required | string |
| salonId required | string |
| stylistTipCommission | number <double> |
| stylistCommission | number <double> |
{- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1
}Get users by salon ID
| salonId required | string |
| status | Array of strings (UserSalonStatus) Items Enum: "active" "pending" "inactive" "declined" "deleted" |
| visibleInOnlineBookingOnly | boolean |
{- "userIds": [
- "string"
]
}Get single salon IDs for users
| userIds required | Array of strings |
{- "userIds": [
- "string"
]
}{- "stylistSingleSalonIds": [
- "string"
]
}[Admin] Create a new salon-single-salon connection
| salonId required | string |
| stylistSingleSalonId | string |
| userId | string |
| salonName required | string |
| isSingle required | boolean |
| isSalon | boolean |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| stylistCommission | number <double> |
| stylistTipCommission | number <double> |
Array of objects (UpdateWorkingHoursItemRequest) | |
| timezone | string |
Array of objects (NotWorkingDayRequest) |
{- "salonId": "string",
- "stylistSingleSalonId": "string",
- "userId": "string",
- "salonName": "string",
- "isSingle": true,
- "isSalon": true,
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}[Admin] Get salon connection by ID
| connectionId required | string |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}[Admin] Get salon connection by salon ID and single salon ID
| salonId required | string |
| stylistSingleSalonId required | string |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}[Admin] Get all connections for a salon
| salonId required | string |
[- {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}
][Admin] Get all connections for a single salon
| stylistSingleSalonId required | string |
[- {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}
][Admin] Update working hours for a salon connection by connection ID
| connectionId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}[Admin] Update working hours for a salon connection by salon ID and single salon ID
| salonId required | string |
| stylistSingleSalonId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}[Admin] Get working hours for a salon connection
| salonId required | string |
| stylistSingleSalonId required | string |
{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Create a new salon-single-salon connection
| salonId required | string |
| stylistSingleSalonId | string |
| userId | string |
| salonName required | string |
| isSingle required | boolean |
| isSalon | boolean |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| stylistCommission | number <double> |
| stylistTipCommission | number <double> |
Array of objects (UpdateWorkingHoursItemRequest) | |
| timezone | string |
Array of objects (NotWorkingDayRequest) |
{- "salonId": "string",
- "stylistSingleSalonId": "string",
- "userId": "string",
- "salonName": "string",
- "isSingle": true,
- "isSalon": true,
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}Get salon connection by salon ID and single salon ID
| salonId required | string |
| stylistSingleSalonId required | string |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}Get all connections for a salon
| salonId required | string |
[- {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}
]Get all connections for a single salon
| stylistSingleSalonId required | string |
[- {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}
]Update working hours for a salon connection by connection ID
| connectionId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Update working hours for a salon connection by salon ID and single salon ID Creates the connection if it doesn't exist (upsert behavior)
| salonId required | string |
| stylistSingleSalonId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Get working hours for a salon connection
| salonId required | string |
| stylistSingleSalonId required | string |
{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Get default salon connection (salon-only connection where isSalon=true)
| salonId required | string |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}Get default salon working hours (for salon-only connections)
| salonId required | string |
{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Update default salon working hours (for salon-only connections) Creates the salon-only connection if it doesn't exist (upsert behavior)
| salonId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Get all salons for a user.
| userId required | string The ID of the user. |
[- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
]Add a salon connection to a user.
| userId required | string The ID of the user. |
The data for the new salon connection.
| stylistTipCommission | number <double> |
| stylistCommission | number <double> |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| roles required | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| salonName required | string |
| stylistSingleSalonId required | string |
| salonId required | string |
{- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "salonName": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Get active salons for a user.
| userId required | string The ID of the user. |
[- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
]Get the single salon for a user.
| userId required | string The ID of the user. |
{- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}Check if a user has access to a specific salon.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
| status | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" The required status of the user in the salon (default: ACTIVE). |
{- "hasAccess": true
}Get a specific salon connection for a user.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
{- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}Get salon connection details with working hours by salon and single salon IDs.
| salonId required | string The ID of the main salon. |
| stylistSingleSalonId required | string The ID of the single salon. |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "status": "active",
- "roles": [
- "PROFESSIONAL"
], - "isSalon": true,
- "isSingle": true,
- "salonName": "string",
- "userId": "string",
- "stylistSingleSalonId": "string",
- "salonId": "string",
- "id": "string"
}Create a salon-only connection for a salon (for default working hours).
| salonId required | string The ID of the salon. |
{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Update the status of a user's salon connection.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
The new status.
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
{- "status": "active"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Update the commission for a user's salon connection.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
The new commission values.
| stylistTipCommission | number <double> |
| stylistCommission | number <double> |
{- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Add a role to a user in a salon.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
The role to add.
| role required | string (UserRole) Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" Current role of the user |
{- "role": "PROFESSIONAL"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Remove a role from a user in a salon.
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
The role to remove.
| role required | string (UserRole) Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" Current role of the user |
{- "role": "PROFESSIONAL"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Get users by salon ID.
| salonId required | string The ID of the salon. |
| status | Array of strings (UserSalonStatus) Items Enum: "active" "pending" "inactive" "declined" "deleted" Optional array of statuses to filter users by. |
| visibleInOnlineBookingOnly | boolean Optional flag to filter only users visible in online booking. |
[- "string"
]Get single salon IDs for a list of user IDs.
An array of user IDs.
| userIds required | Array of strings |
{- "userIds": [
- "string"
]
}{- "stylistSingleSalonIds": [
- "string"
]
}Get user ID to single salon ID mapping for a list of user IDs.
An array of user IDs.
| userIds required | Array of strings |
{- "userIds": [
- "string"
]
}{- "mapping": { }
}Get user IDs by single salon IDs (reverse lookup).
An array of single salon IDs.
| stylistSingleSalonIds required | Array of strings |
{- "stylistSingleSalonIds": [
- "string"
]
}{- "userIds": [
- "string"
]
}Get user salon connections with full details (timezone, working hours).
An array of user IDs.
| userIds required | Array of strings |
{- "userIds": [
- "string"
]
}{- "connections": { }
}Get stylist connections for a specific salon (for calendar views). Returns working hours indexed by stylistSingleSalonId.
| salonId required | string The salon ID |
An array of stylist single salon IDs
| stylistSingleSalonIds required | Array of strings |
{- "stylistSingleSalonIds": [
- "string"
]
}{- "connections": { }
}Get all salon connections for multiple users in batch. Returns connections grouped by userId in UserSalon format.
An array of user IDs
| userIds required | Array of strings |
{- "userIds": [
- "string"
]
}{- "connections": { }
}Get stylist commissions for multiple stylists at a specific salon. Returns commissions indexed by stylistSingleSalonId. Optimized for revenue forecasting to avoid N+1 queries.
| salonId required | string The salon ID |
An array of stylist single salon IDs
| stylistSingleSalonIds required | Array of strings |
{- "stylistSingleSalonIds": [
- "string"
]
}{- "commissions": { }
}Retrieves salons by given ids.
| salonIds required | Array of strings Represents the given ids for salons. |
[- {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}
]Retrieves a salon by given id.
| salonId required | string Represents the given id for salon. |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Update stripe account id and status for a salon.
| salonId required | string Represents the given id for salon. |
| stripeAccountId | string |
| stripeAccountStatus | string (StripeAccountStatus) Enum: "NEW" "PENDING" "ACTIVATED" "DEACTIVATED" "SUSPENDED" |
| stripeTerminalLocationId | string |
{- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string"
}"string"Creates a single salon.
| name required | string |
| userId required | string |
| workingHours | string |
| timezone | string |
{- "name": "string",
- "userId": "string",
- "workingHours": "string",
- "timezone": "string"
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Update subscription fields for a salon.
| salonId required | string Represents the given id for salon. |
Contains stripePriceId and stripeSubscriptionSessionId.
| stripePriceId | string |
| stripeSubscriptionSessionId | string |
| stripeSubscriptionId | string |
| isSubscribed | boolean |
| subscribedAt | string <date-time> |
{- "stripePriceId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripeSubscriptionId": "string",
- "isSubscribed": true,
- "subscribedAt": "2019-08-24T14:15:22Z"
}"string"Retrieves a salon by given stripe account id.
| stripeAccountId required | string Represents the given stripe account id for salon. |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Retrieves booking terms for a salon, optionally for a specific stylist. Returns minimum payment requirements and policies.
| salonId required | string The salon ID |
| stylistSingleSalonId | string Optional stylist single salon ID for stylist-specific terms |
{- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "currency": "string",
- "minPaymentPercent": 0.1,
- "minPayment": 0.1,
- "success": true
}Retrieves salons with admin filtering capabilities. Supports enhanced search, status filtering, Stripe account filtering, and pagination.
| skip | number <double> Default: 0 Number of records to skip for pagination |
| top | number <double> Default: 10 Number of records to return |
| status | string (SalonStatus) Enum: "ACTIVATED" "DEACTIVATED" "SUSPENDED" Filter by salon status |
| search | string Search term for salon name, email, or phone |
| ownerId | string Filter by salon owner ID |
| isSingle | boolean Filter by single salon flag |
| deleted | boolean Filter by deleted status |
| salonId | string Filter by specific salon ID (multi-location salon) |
| singleSalonId | string Filter by specific single salon ID |
| salonIds | Array of strings Filter by multiple salon IDs (multi-location salons) |
| singleSalonIds | Array of strings Filter by multiple single salon IDs |
| stripeAccountStatus | string (StripeAccountStatus) Enum: "NEW" "PENDING" "ACTIVATED" "DEACTIVATED" "SUSPENDED" Filter by Stripe account status |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "name": "string",
- "image": "string",
- "description": "string",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}
}
]
}Retrieves salon's detailed data by given ID. Admin version includes all salon information including deleted salons.
| salonId required | string The salon ID |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Gets salon statistics for admin dashboard. Provides overview of salon counts by status and other metrics.
{- "noStripeAccount": 0.1,
- "hasStripeAccount": 0.1,
- "paymentActive": 0.1,
- "multiSalons": 0.1,
- "singleSalons": 0.1,
- "deleted": 0.1,
- "inactive": 0.1,
- "active": 0.1,
- "total": 0.1
}Get salon business config (Admin only)
| salonId required | string |
| stylistSingleSalonId | string |
{- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "showFreeSlotsPercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "convinestFeePercentage": 0.1
}Update salon business config for system (Admin only)
| salonId required | string |
| stylistSingleSalonId | string |
| convinestFeePercentage required | number <double> |
| convinestFeeFixed required | number <double> |
| beautyosFeePercentage required | number <double> |
| beautyosFeeFixed required | number <double> |
| additionalInfo | string |
| cancellationPolicy | string |
| onlineAppointmentMinPay | number <double> |
| onlineAppointmentMinPayPercent | number <double> |
| useSalonMinPayment | boolean |
| visibleInOnlineBooking | boolean |
| shouldSendReminderInHours | Array of numbers <double> [ items <double > ] |
| preferredReminderMethod | string (ReminderMethod) Enum: "EMAIL" "SMS" "BOTH" |
{- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1,
- "useSalonMinPayment": true,
- "visibleInOnlineBooking": true,
- "shouldSendReminderInHours": [
- 0.1
], - "preferredReminderMethod": "EMAIL"
}"string"Reset Stripe account for a salon (Admin only) Moves current Stripe account data to oldStripeAccounts array and resets account to NEW status
| salonId required | string The salon ID to reset Stripe account for |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Create a new salon.
| user-id required | string |
| name required | string |
| image | string |
| description | string |
| phone | string |
string | |
| website | string |
| socialMedia | string |
| beautyosUrl | string |
| serviceLocation | string (ServiceLocation) Enum: "AT_MY_SALON" "AT_CLIENT_HOME" "BOTH" |
required | object (CreateAddressRequest) |
object (CreateAddressRequest) |
{- "name": "string",
- "image": "string",
- "description": "string",
- "phone": "string",
- "email": "string",
- "website": "string",
- "socialMedia": "string",
- "beautyosUrl": "string",
- "serviceLocation": "AT_MY_SALON",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Retrieves salons by given filter.
| skip | number <double> Default: 0 |
| top | number <double> Default: 10 |
| status | string (SalonStatus) Enum: "ACTIVATED" "DEACTIVATED" "SUSPENDED" |
| search | string |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "name": "string",
- "image": "string",
- "description": "string",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}
}
]
}Update salon by given ID.
| salonId required | string |
| name | string |
| image | string |
| description | string |
| phone | string |
string | |
| socialMedia | string |
| website | string |
| beautyosUrl | string |
| serviceLocation | string (ServiceLocation) Enum: "AT_MY_SALON" "AT_CLIENT_HOME" "BOTH" |
required | object (CreateAddressRequest) |
object (CreateAddressRequest) |
{- "name": "string",
- "image": "string",
- "description": "string",
- "phone": "string",
- "email": "string",
- "socialMedia": "string",
- "website": "string",
- "beautyosUrl": "string",
- "serviceLocation": "AT_MY_SALON",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Retrieves salon's data by given ID.
| salonId required | string |
{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Update salon working hours (backward compatibility - uses salon connection under the hood)
| salonId required | string |
required | Array of objects (UpdateWorkingHoursItemRequest) |
| timezone required | string |
required | Array of objects (NotWorkingDayRequest) |
{- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "notWorkingDays": [
- {
- "date": "string",
- "repeat": true,
- "reason": "string"
}
]
}{- "timezone": "string",
- "notWorkingDays": [
- {
- "reason": "string",
- "repeat": true,
- "date": "string"
}
], - "workingHours": [
- {
- "endTime": "string",
- "startTime": "string",
- "isWorking": true,
- "day": "monday"
}
]
}Invite user to salon
| salonId required | string |
| username required | string |
| role required | string (UserRole) Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" Current role of the user |
{- "username": "string",
- "role": "PROFESSIONAL"
}"string"Deactivate user from salon
| salonId required | string |
| id required | string |
{- "id": "string"
}"string"Remove user from salon (leave salon) Can be used by salon owners to remove stylists or by stylists to remove themselves
| salonId required | string The ID of the salon |
| user-id required | string The ID of the user performing the action |
Contains stylistSingleSalonId of the user to remove
| stylistSingleSalonId required | string |
{- "stylistSingleSalonId": "string"
}"string"Update salon business config
| salonId required | string |
| stylistSingleSalonId | string |
| convinestFeePercentage required | number <double> |
| convinestFeeFixed required | number <double> |
| additionalInfo | string |
| cancellationPolicy | string |
| onlineAppointmentMinPay | number <double> |
| onlineAppointmentMinPayPercent | number <double> |
| useSalonMinPayment | boolean |
| showFreeSlotsPercentage | number <double> |
| visibleInOnlineBooking | boolean |
| shouldSendReminderInHours | Array of numbers <double> [ items <double > ] |
| preferredReminderMethod | string (ReminderMethod) Enum: "EMAIL" "SMS" "BOTH" |
{- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1,
- "useSalonMinPayment": true,
- "showFreeSlotsPercentage": 0.1,
- "visibleInOnlineBooking": true,
- "shouldSendReminderInHours": [
- 0.1
], - "preferredReminderMethod": "EMAIL"
}"string"Get salon business config
| salonId required | string |
| stylistSingleSalonId | string |
{- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "onlineAppointmentMinPayPercent": 0.1,
- "onlineAppointmentMinPay": 0.1,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "showFreeSlotsPercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "convinestFeePercentage": 0.1
}Generates a pre-signed URL for uploading a salon's image to S3.
| salonId required | string The ID of the salon |
The upload request containing filename and content type
| filename required | string |
| contentType required | string |
{- "filename": "string",
- "contentType": "string"
}{- "uploadUrl": "string",
- "imageUrl": "string"
}Updates only the image URL for a salon.
| salonId required | string The ID of the salon |
Object containing the image URL
| image required | string |
{- "image": "string"
}{- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "isSingle": true,
- "ownerId": "string",
- "stripeSubscriptionId": "string",
- "stripeSubscriptionSessionId": "string",
- "stripePriceId": "string",
- "subscribedAt": "2019-08-24T14:15:22Z",
- "isSubscribed": true,
- "subscriptionAmountCents": 0.1,
- "oldStripeAccounts": [
- {
- "stripeAccountId": "string",
- "stripeAccountStatus": "NEW",
- "stripeTerminalLocationId": "string",
- "resetAt": "2019-08-24T14:15:22Z"
}
], - "stripeTerminalLocationId": "string",
- "stripeAccountStatus": "NEW",
- "stripeAccountId": "string",
- "businessConfig": {
- "convinestFeePercentage": 0.1,
- "convinestFeeFixed": 0.1,
- "beautyosFeePercentage": 0.1,
- "beautyosFeeFixed": 0.1,
- "showFreeSlotsPercentage": 0.1,
- "additionalInfo": "string",
- "cancellationPolicy": "string",
- "onlineAppointmentMinPay": 0.1,
- "onlineAppointmentMinPayPercent": 0.1
}, - "timezone": "string",
- "socialMedia": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "status": "ACTIVATED",
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}Retrieves salons by given filter.
| salonId required | Array of strings |
[- {
- "id": "string",
- "name": "string",
- "image": "string",
- "description": "string",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}
}
]Retrieves booking terms for a specific salon or stylist.
If stylistSingleSalonId is provided, returns stylist-specific terms if they exist, otherwise falls back to salon terms.
| salonId required | string The ID of the salon |
| stylistSingleSalonId | string Optional stylist single salon ID for stylist-specific terms |
{- "preferredReminderMethod": "EMAIL",
- "shouldSendReminderInHours": [
- 0.1
], - "visibleInOnlineBooking": true,
- "useSalonMinPayment": true,
- "cancellationPolicy": "string",
- "additionalInfo": "string",
- "currency": "string",
- "minPaymentPercent": 0.1,
- "minPayment": 0.1,
- "success": true
}Retrieves stylist salon details including salon info, services, and working hours.
| stylistSingleSalonId required | string The stylist's single salon ID |
| startDate | string Optional start date for filtering (YYYY-MM-DD format) |
| endDate | string Optional end date for filtering (YYYY-MM-DD format) |
[- {
- "salon": {
- "isSingle": true,
- "address2": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "serviceLocation": "AT_MY_SALON",
- "beautyosUrl": "string",
- "website": "string",
- "email": "string",
- "phone": "string",
- "description": "string",
- "image": "string",
- "name": "string",
- "id": "string"
}, - "services": [
- {
- "templateId": "string",
- "active": true,
- "categoryId": "string",
- "duration": {
- "finish": 0.1,
- "break": 0.1,
- "start": 0.1
}, - "costMax": 0.1,
- "cost": 0.1,
- "description": "string",
- "name": "string",
- "id": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "days": [
- "string"
], - "timezone": "string",
- "roles": [
- "PROFESSIONAL"
]
}
]