salon-service (1.0.1)

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.

Salon Connection - User Operations

GetUserSalons

Get all salons for a user

Authorizations:
jwt
path Parameters
userId
required
string
query Parameters
status
string (UserSalonStatus)
Enum: "active" "pending" "inactive" "declined" "deleted"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

AddSalonToUser

Add salon to user

Authorizations:
jwt
path Parameters
userId
required
string
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "salonName": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

GetUserSingleSalon

Get user's single salon

Authorizations:
jwt
path Parameters
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isSingle": true,
  • "name": "string",
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "visibleInOnlineBooking": true
}

CheckUserSalonAccess

Check if user has access to a salon

Authorizations:
jwt
path Parameters
userId
required
string
salonId
required
string
query Parameters
status
string (UserSalonStatus)
Enum: "active" "pending" "inactive" "declined" "deleted"

Responses

Response samples

Content type
application/json
{
  • "hasAccess": true
}

GetUserSalonConnection

Get user salon connection

Authorizations:
jwt
path Parameters
userId
required
string
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isSingle": true,
  • "name": "string",
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "visibleInOnlineBooking": true
}

UpdateUserSalonStatus

Update user salon status

Authorizations:
jwt
path Parameters
userId
required
string
salonId
required
string
Request Body schema: application/json
status
required
string (UserSalonStatus)
Enum: "active" "pending" "inactive" "declined" "deleted"

Responses

Request samples

Content type
application/json
{
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1
}

UpdateUserSalonCommission

Update user salon commission

Authorizations:
jwt
path Parameters
userId
required
string
salonId
required
string
Request Body schema: application/json
stylistTipCommission
number <double>
stylistCommission
number <double>

Responses

Request samples

Content type
application/json
{
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1
}

GetUsersBySalonId

Get users by salon ID

Authorizations:
jwt
path Parameters
salonId
required
string
query Parameters
status
Array of strings (UserSalonStatus)
Items Enum: "active" "pending" "inactive" "declined" "deleted"
visibleInOnlineBookingOnly
boolean

Responses

Response samples

Content type
application/json
{
  • "userIds": [
    ]
}

GetSingleSalonIds

Get single salon IDs for users

Authorizations:
jwt
Request Body schema: application/json
userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "stylistSingleSalonIds": [
    ]
}

Admin Salon Connections

CreateConnection

[Admin] Create a new salon-single-salon connection

Request Body schema: application/json
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)

Responses

Request samples

Content type
application/json
{
  • "salonId": "string",
  • "stylistSingleSalonId": "string",
  • "userId": "string",
  • "salonName": "string",
  • "isSingle": true,
  • "isSalon": true,
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

GetConnectionById

[Admin] Get salon connection by ID

path Parameters
connectionId
required
string

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

DeleteConnection

[Admin] Delete a salon connection by connection ID

path Parameters
connectionId
required
string

Responses

GetConnectionBySalonAndSingleSalon

[Admin] Get salon connection by salon ID and single salon ID

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

DeleteConnectionBySalonAndSingleSalon

[Admin] Delete a salon connection by salon ID and single salon ID

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

GetConnectionsBySalonId

[Admin] Get all connections for a salon

path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetConnectionsBySingleSalonId

[Admin] Get all connections for a single salon

path Parameters
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

UpdateConnectionWorkingHours

[Admin] Update working hours for a salon connection by connection ID

path Parameters
connectionId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

UpdateConnectionWorkingHoursBySalonAndSingleSalon

[Admin] Update working hours for a salon connection by salon ID and single salon ID

path Parameters
salonId
required
string
stylistSingleSalonId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

GetConnectionWorkingHours

[Admin] Get working hours for a salon connection

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

Salon Connections

CreateConnection

Create a new salon-single-salon connection

Request Body schema: application/json
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)

Responses

Request samples

Content type
application/json
{
  • "salonId": "string",
  • "stylistSingleSalonId": "string",
  • "userId": "string",
  • "salonName": "string",
  • "isSingle": true,
  • "isSalon": true,
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

GetConnectionById

Get salon connection by ID

path Parameters
connectionId
required
string

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

DeleteConnection

Delete a salon connection by connection ID

path Parameters
connectionId
required
string

Responses

Response samples

Content type
application/json
"string"

GetConnectionBySalonAndSingleSalon

Get salon connection by salon ID and single salon ID

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

DeleteConnectionBySalonAndSingleSalon

Delete a salon connection by salon ID and single salon ID

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
"string"

GetConnectionsBySalonId

Get all connections for a salon

path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetConnectionsBySingleSalonId

Get all connections for a single salon

path Parameters
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

UpdateConnectionWorkingHours

Update working hours for a salon connection by connection ID

path Parameters
connectionId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

UpdateConnectionWorkingHoursBySalonAndSingleSalon

Update working hours for a salon connection by salon ID and single salon ID Creates the connection if it doesn't exist (upsert behavior)

path Parameters
salonId
required
string
stylistSingleSalonId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

GetConnectionWorkingHours

Get working hours for a salon connection

path Parameters
salonId
required
string
stylistSingleSalonId
required
string

Responses

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

GetDefaultSalonConnection

Get default salon connection (salon-only connection where isSalon=true)

path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

GetDefaultSalonWorkingHours

Get default salon working hours (for salon-only connections)

path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

UpdateDefaultSalonWorkingHours

Update default salon working hours (for salon-only connections) Creates the salon-only connection if it doesn't exist (upsert behavior)

path Parameters
salonId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

Internal

GetUserSalons

Get all salons for a user.

path Parameters
userId
required
string

The ID of the user.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

AddSalonToUser

Add a salon connection to a user.

path Parameters
userId
required
string

The ID of the user.

Request Body schema: application/json

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

Responses

Request samples

Content type
application/json
{
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "salonName": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

GetUserActiveSalons

Get active salons for a user.

path Parameters
userId
required
string

The ID of the user.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetUserSingleSalon

Get the single salon for a user.

path Parameters
userId
required
string

The ID of the user.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isSingle": true,
  • "name": "string",
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "visibleInOnlineBooking": true
}

CheckUserSalonAccess

Check if a user has access to a specific salon.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

query Parameters
status
string (UserSalonStatus)
Enum: "active" "pending" "inactive" "declined" "deleted"

The required status of the user in the salon (default: ACTIVE).

Responses

Response samples

Content type
application/json
{
  • "hasAccess": true
}

GetUserSalonConnection

Get a specific salon connection for a user.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isSingle": true,
  • "name": "string",
  • "roles": [
    ],
  • "status": "active",
  • "stylistCommission": 0.1,
  • "stylistTipCommission": 0.1,
  • "visibleInOnlineBooking": true
}

GetSalonConnectionDetails

Get salon connection details with working hours by salon and single salon IDs.

path Parameters
salonId
required
string

The ID of the main salon.

stylistSingleSalonId
required
string

The ID of the single salon.

Responses

Response samples

Content type
application/json
{
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "onlineAppointmentMinPay": 0.1,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ],
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1,
  • "status": "active",
  • "roles": [
    ],
  • "isSalon": true,
  • "isSingle": true,
  • "salonName": "string",
  • "userId": "string",
  • "stylistSingleSalonId": "string",
  • "salonId": "string",
  • "id": "string"
}

CreateSalonOnlyConnection

Create a salon-only connection for a salon (for default working hours).

path Parameters
salonId
required
string

The ID of the salon.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

UpdateUserSalonStatus

Update the status of a user's salon connection.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

Request Body schema: application/json

The new status.

status
required
string (UserSalonStatus)
Enum: "active" "pending" "inactive" "declined" "deleted"

Responses

Request samples

Content type
application/json
{
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

UpdateUserSalonCommission

Update the commission for a user's salon connection.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

Request Body schema: application/json

The new commission values.

stylistTipCommission
number <double>
stylistCommission
number <double>

Responses

Request samples

Content type
application/json
{
  • "stylistTipCommission": 0.1,
  • "stylistCommission": 0.1
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

AddRoleToUserSalon

Add a role to a user in a salon.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

Request Body schema: application/json

The role to add.

role
required
string (UserRole)
Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN"

Current role of the user

Responses

Request samples

Content type
application/json
{
  • "role": "PROFESSIONAL"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

RemoveRoleFromUserSalon

Remove a role from a user in a salon.

path Parameters
userId
required
string

The ID of the user.

salonId
required
string

The ID of the salon.

Request Body schema: application/json

The role to remove.

role
required
string (UserRole)
Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN"

Current role of the user

Responses

Request samples

Content type
application/json
{
  • "role": "PROFESSIONAL"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "code": "string",
  • "status": 0.1,
  • "details": { }
}

GetUsersBySalonId

Get users by salon ID.

path Parameters
salonId
required
string

The ID of the salon.

query Parameters
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.

Responses

Response samples

Content type
application/json
[
  • "string"
]

GetSingleSalonIds

Get single salon IDs for a list of user IDs.

Request Body schema: application/json

An array of user IDs.

userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "stylistSingleSalonIds": [
    ]
}

GetUserSingleSalonMapping

Get user ID to single salon ID mapping for a list of user IDs.

Request Body schema: application/json

An array of user IDs.

userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "mapping": { }
}

GetUserIdsBySingleSalonIds

Get user IDs by single salon IDs (reverse lookup).

Request Body schema: application/json

An array of single salon IDs.

stylistSingleSalonIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "stylistSingleSalonIds": [
    ]
}

Response samples

Content type
application/json
{
  • "userIds": [
    ]
}

GetUserSalonConnectionsWithDetails

Get user salon connections with full details (timezone, working hours).

Request Body schema: application/json

An array of user IDs.

userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "connections": { }
}

GetStylistConnectionsBySalon

Get stylist connections for a specific salon (for calendar views). Returns working hours indexed by stylistSingleSalonId.

path Parameters
salonId
required
string

The salon ID

Request Body schema: application/json

An array of stylist single salon IDs

stylistSingleSalonIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "stylistSingleSalonIds": [
    ]
}

Response samples

Content type
application/json
{
  • "connections": { }
}

GetUsersSalonConnections

Get all salon connections for multiple users in batch. Returns connections grouped by userId in UserSalon format.

Request Body schema: application/json

An array of user IDs

userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "connections": { }
}

GetStylistCommissionsBySalon

Get stylist commissions for multiple stylists at a specific salon. Returns commissions indexed by stylistSingleSalonId. Optimized for revenue forecasting to avoid N+1 queries.

path Parameters
salonId
required
string

The salon ID

Request Body schema: application/json

An array of stylist single salon IDs

stylistSingleSalonIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "stylistSingleSalonIds": [
    ]
}

Response samples

Content type
application/json
{
  • "commissions": { }
}

GetSalonsByIds

Retrieves salons by given ids.

query Parameters
salonIds
required
Array of strings

Represents the given ids for salons.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetSalonById

Retrieves a salon by given id.

path Parameters
salonId
required
string

Represents the given id for salon.

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

UpdateStripeAccount

Update stripe account id and status for a salon.

path Parameters
salonId
required
string

Represents the given id for salon.

Request Body schema: application/json
stripeAccountId
string
stripeAccountStatus
string (StripeAccountStatus)
Enum: "NEW" "PENDING" "ACTIVATED" "DEACTIVATED" "SUSPENDED"
stripeTerminalLocationId
string

Responses

Request samples

Content type
application/json
{
  • "stripeAccountId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeTerminalLocationId": "string"
}

Response samples

Content type
application/json
"string"

CreateSingleSalon

Creates a single salon.

Request Body schema: application/json
name
required
string
userId
required
string
workingHours
string
timezone
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "userId": "string",
  • "workingHours": "string",
  • "timezone": "string"
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

UpdateSalonSubscription

Update subscription fields for a salon.

path Parameters
salonId
required
string

Represents the given id for salon.

Request Body schema: application/json

Contains stripePriceId and stripeSubscriptionSessionId.

stripePriceId
string
stripeSubscriptionSessionId
string
stripeSubscriptionId
string
isSubscribed
boolean
subscribedAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "stripePriceId": "string",
  • "stripeSubscriptionSessionId": "string",
  • "stripeSubscriptionId": "string",
  • "isSubscribed": true,
  • "subscribedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
"string"

GetSalonByStripeAccountId

Retrieves a salon by given stripe account id.

path Parameters
stripeAccountId
required
string

Represents the given stripe account id for salon.

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

GetSalonBookingTerms

Retrieves booking terms for a salon, optionally for a specific stylist. Returns minimum payment requirements and policies.

path Parameters
salonId
required
string

The salon ID

query Parameters
stylistSingleSalonId
string

Optional stylist single salon ID for stylist-specific terms

Responses

Response samples

Content type
application/json
{
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "currency": "string",
  • "minPaymentPercent": 0.1,
  • "minPayment": 0.1,
  • "success": true
}

GetSalonTimeZone

Retrieves the timezone for a salon. Returns the salon's timezone setting from the salon connection.

path Parameters
salonId
required
string

The salon ID

Responses

Response samples

Content type
application/json
{
  • "timezone": "string"
}

Admin Salons

GetSalons

Retrieves salons with admin filtering capabilities. Supports enhanced search, status filtering, Stripe account filtering, and pagination.

Authorizations:
jwt-admin
query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "records": [
    ]
}

DeleteSalon

Deletes salon by given ID as an admin. Allows deleting any salon regardless of ownership.

Authorizations:
jwt-admin
path Parameters
salonId
required
string

The salon ID to delete

Responses

Response samples

Content type
application/json
{
  • "success": true
}

GetSalonById

Retrieves salon's detailed data by given ID. Admin version includes all salon information including deleted salons.

Authorizations:
jwt-admin
path Parameters
salonId
required
string

The salon ID

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

GetSalonStatistics

Gets salon statistics for admin dashboard. Provides overview of salon counts by status and other metrics.

Authorizations:
jwt-admin

Responses

Response samples

Content type
application/json
{
  • "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
}

GetSalonBusinessConfig

Get salon business config (Admin only)

Authorizations:
jwt-admin
path Parameters
salonId
required
string
query Parameters
stylistSingleSalonId
string

Responses

Response samples

Content type
application/json
{
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "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
}

UpdateSalonBusinessConfig

Update salon business config for system (Admin only)

Authorizations:
jwt-admin
path Parameters
salonId
required
string
query Parameters
stylistSingleSalonId
string
Request Body schema: application/json
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"

Responses

Request samples

Content type
application/json
{
  • "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": [
    ],
  • "preferredReminderMethod": "EMAIL"
}

Response samples

Content type
application/json
"string"

ResetStripeAccount

Reset Stripe account for a salon (Admin only) Moves current Stripe account data to oldStripeAccounts array and resets account to NEW status

Authorizations:
jwt-admin
path Parameters
salonId
required
string

The salon ID to reset Stripe account for

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

Salons

CreateSalon

Create a new salon.

Authorizations:
jwt
header Parameters
user-id
required
string
Request Body schema: application/json
name
required
string
image
string
description
string
phone
string
email
string
website
string
socialMedia
string
beautyosUrl
string
serviceLocation
string (ServiceLocation)
Enum: "AT_MY_SALON" "AT_CLIENT_HOME" "BOTH"
required
object (CreateAddressRequest)
object (CreateAddressRequest)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "image": "string",
  • "description": "string",
  • "phone": "string",
  • "email": "string",
  • "website": "string",
  • "socialMedia": "string",
  • "beautyosUrl": "string",
  • "serviceLocation": "AT_MY_SALON",
  • "address": {
    },
  • "address2": {
    }
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

GetSalons

Retrieves salons by given filter.

Authorizations:
jwt
query Parameters
skip
number <double>
Default: 0
top
number <double>
Default: 10
status
string (SalonStatus)
Enum: "ACTIVATED" "DEACTIVATED" "SUSPENDED"
search
string

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "records": [
    ]
}

UpdateSalon

Update salon by given ID.

Authorizations:
jwt
path Parameters
salonId
required
string
Request Body schema: application/json
name
string
image
string
description
string
phone
string
email
string
socialMedia
string
website
string
beautyosUrl
string
serviceLocation
string (ServiceLocation)
Enum: "AT_MY_SALON" "AT_CLIENT_HOME" "BOTH"
required
object (CreateAddressRequest)
object (CreateAddressRequest)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "image": "string",
  • "description": "string",
  • "phone": "string",
  • "email": "string",
  • "socialMedia": "string",
  • "website": "string",
  • "beautyosUrl": "string",
  • "serviceLocation": "AT_MY_SALON",
  • "address": {
    },
  • "address2": {
    }
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

GetSalonById

Retrieves salon's data by given ID.

Authorizations:
jwt
path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

DeleteSalonById

Delete salon by given ID.

Authorizations:
jwt
path Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
"string"

UpdateSalonWorkingHours

Update salon working hours (backward compatibility - uses salon connection under the hood)

Authorizations:
jwt
path Parameters
salonId
required
string
Request Body schema: application/json
required
Array of objects (UpdateWorkingHoursItemRequest)
timezone
required
string
required
Array of objects (NotWorkingDayRequest)

Responses

Request samples

Content type
application/json
{
  • "workingHours": [
    ],
  • "timezone": "string",
  • "notWorkingDays": [
    ]
}

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "notWorkingDays": [
    ],
  • "workingHours": [
    ]
}

InviteUserToSalon

Invite user to salon

Authorizations:
jwt
path Parameters
salonId
required
string
Request Body schema: application/json
username
required
string
role
required
string (UserRole)
Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN"

Current role of the user

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "role": "PROFESSIONAL"
}

Response samples

Content type
application/json
"string"

DeactivateUserFromSalon

Deactivate user from salon

Authorizations:
jwt
path Parameters
salonId
required
string
Request Body schema: application/json
id
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
"string"

LeaveSalon

Remove user from salon (leave salon) Can be used by salon owners to remove stylists or by stylists to remove themselves

Authorizations:
jwt
path Parameters
salonId
required
string

The ID of the salon

header Parameters
user-id
required
string

The ID of the user performing the action

Request Body schema: application/json

Contains stylistSingleSalonId of the user to remove

stylistSingleSalonId
required
string

Responses

Request samples

Content type
application/json
{
  • "stylistSingleSalonId": "string"
}

Response samples

Content type
application/json
"string"

UpdateSalonBusinessConfig

Update salon business config

Authorizations:
jwt
path Parameters
salonId
required
string
query Parameters
stylistSingleSalonId
string
Request Body schema: application/json
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"

Responses

Request samples

Content type
application/json
{
  • "convinestFeePercentage": 0.1,
  • "convinestFeeFixed": 0.1,
  • "additionalInfo": "string",
  • "cancellationPolicy": "string",
  • "onlineAppointmentMinPay": 0.1,
  • "onlineAppointmentMinPayPercent": 0.1,
  • "useSalonMinPayment": true,
  • "showFreeSlotsPercentage": 0.1,
  • "visibleInOnlineBooking": true,
  • "shouldSendReminderInHours": [
    ],
  • "preferredReminderMethod": "EMAIL"
}

Response samples

Content type
application/json
"string"

GetSalonBusinessConfig

Get salon business config

Authorizations:
jwt
path Parameters
salonId
required
string
query Parameters
stylistSingleSalonId
string

Responses

Response samples

Content type
application/json
{
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "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
}

GenerateSalonImageUploadUrl

Generates a pre-signed URL for uploading a salon's image to S3.

Authorizations:
jwt
path Parameters
salonId
required
string

The ID of the salon

Request Body schema: application/json

The upload request containing filename and content type

filename
required
string
contentType
required
string

Responses

Request samples

Content type
application/json
{
  • "filename": "string",
  • "contentType": "string"
}

Response samples

Content type
application/json
{
  • "uploadUrl": "string",
  • "imageUrl": "string"
}

UpdateSalonImage

Updates only the image URL for a salon.

Authorizations:
jwt
path Parameters
salonId
required
string

The ID of the salon

Request Body schema: application/json

Object containing the image URL

image
required
string

Responses

Request samples

Content type
application/json
{
  • "image": "string"
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "stripeTerminalLocationId": "string",
  • "stripeAccountStatus": "NEW",
  • "stripeAccountId": "string",
  • "businessConfig": {
    },
  • "timezone": "string",
  • "socialMedia": "string",
  • "workingHours": [
    ],
  • "status": "ACTIVATED",
  • "address2": {
    },
  • "address": {
    },
  • "serviceLocation": "AT_MY_SALON",
  • "beautyosUrl": "string",
  • "website": "string",
  • "email": "string",
  • "phone": "string",
  • "description": "string",
  • "image": "string",
  • "name": "string",
  • "id": "string"
}

Public

GetSalons

Retrieves salons by given filter.

query Parameters
salonId
required
Array of strings

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetSalonBookingTerms

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.

path Parameters
salonId
required
string

The ID of the salon

query Parameters
stylistSingleSalonId
string

Optional stylist single salon ID for stylist-specific terms

Responses

Response samples

Content type
application/json
{
  • "preferredReminderMethod": "EMAIL",
  • "shouldSendReminderInHours": [
    ],
  • "visibleInOnlineBooking": true,
  • "useSalonMinPayment": true,
  • "cancellationPolicy": "string",
  • "additionalInfo": "string",
  • "currency": "string",
  • "minPaymentPercent": 0.1,
  • "minPayment": 0.1,
  • "success": true
}

GetStylistSalonDetails

Retrieves stylist salon details including salon info, services, and working hours.

query Parameters
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)

Responses

Response samples

Content type
application/json
[
  • {
    }
]