Download OpenAPI specification:Download
The service provides capabilities to interact with the booking’s 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 a single client type by ID
| clientTypeId required | string The client type ID |
{- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Updates appointment data by given ID with comprehensive update options including services, timing, and client changes.
| appointmentId required | string |
| clientId | string |
| clientPhone | string |
| stylistSingleSalonId required | string |
| startAt required | string |
required | Array of objects (CreateAppointmentServiceRequest) |
| totalCost | number <double> |
| allowOverlap | boolean |
| clientTypeId | string |
{- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "allowOverlap": true,
- "clientTypeId": "string"
}{- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}Retrieves basket with its appointments by basket ID with enhanced client, stylist, and service information.
| basketId required | string |
{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string",
- "appointments": [
- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]
}Retrieves salon calendar with stylists, working hours, and appointments.
| salonId required | string |
| startDate required | string
|
| endDate required | string
|
| inactiveArtist | boolean
|
| isOnlineBooking | boolean
|
{- "stylists": [
- {
- "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "appointments": [
- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]
}
]
}Creates a new appointment for salon workers.
| salonId required | string |
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Create a new blocked time slot for a stylist
| salonId required | string The salon ID |
The blocked time slot details
| stylistSingleSalonId required | string |
| startAt required | string |
| endAt required | string |
| blockedReason | string |
{- "stylistSingleSalonId": "string",
- "startAt": "string",
- "endAt": "string",
- "blockedReason": "string"
}{- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}Get all blocked time slots for a salon within a date range
| salonId required | string The salon ID |
| startDate required | string Start date in ISO format (e.g., "2025-01-27") |
| endDate required | string End date in ISO format (e.g., "2025-02-02") |
| stylistSingleSalonId | string Optional filter by specific stylist |
[- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]Update a blocked time slot
| blockedSlotId required | string The ID of the blocked time slot |
The updated blocked time slot details
| startAt | string |
| endAt | string |
| blockedReason | string |
{- "startAt": "string",
- "endAt": "string",
- "blockedReason": "string"
}{- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}Retrieves appointment data by given ID with enhanced client, stylist, and service information.
| appointmentId required | string |
{- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}Retrieves appointment's data by given id with enhanced client, stylist, and service information.
| appointmentId required | string Represents the given id for an appointment. |
{- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}Retrieves appointments for a specific stylist on a specific date.
| stylistSingleSalonId required | string The ID of the stylist's single salon. |
| date required | string The date in ISO format (e.g., "2024-01-15"). |
[- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]Counts appointments by filters (salonId, stylistSingleSalonId, status, date range).
| salonId | string Optional salon ID filter. |
| stylistSingleSalonId | string Optional stylist single salon ID filter. |
| status | string (AppointmentStatus) Enum: "RESERVED" "CONFIRMED" "COMPLETED" "CANCELLED" "PAID" "PARTIALLY_PAID" Optional appointment status filter. |
| startDate | string Optional start date filter (ISO format). |
| endDate | string Optional end date filter (ISO format). |
{- "count": 0.1
}Retrieves basket's data by given id with enhanced client information.
| basketId required | string Represents the given id for an basket. |
{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Updates a basket by completely replacing all appointments with new ones.
| basketId required | string Represents the given id for the basket to update. |
The update request with new basket data.
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Cancels a basket by completely removing all appointments.
| basketId required | string Represents the given id for the basket to cancel. |
The cancel request with cancellation details.
| note | string |
| cancelledBy required | string (CancelledBy) Enum: "CLIENT" "STYLIST" "SALON" |
| cancelChargeAmount | number <double> |
{- "note": "string",
- "cancelledBy": "CLIENT",
- "cancelChargeAmount": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Marks a basket as running late with specified delay in minutes.
| basketId required | string Represents the given id for the basket to mark as running late. |
The running late request with delay information.
| minutes required | number <double> |
{- "minutes": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Updates the status of a basket.
| basketId required | string Represents the given id for the basket to update status. |
The status update request.
| status required | string (BasketStatus) Enum: "DRAFT" "AWAITING_PAYMENT" "AWAITING_MINIMUM_PAYMENT" "PARTIALLY_PAID" "PAID" "CANCELLED" |
{- "status": "DRAFT"
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Updates the payment amounts for a basket.
| basketId required | string Represents the given id for the basket to update payment amounts. |
The payment amount update request.
| paymentIds | Array of strings |
| tipAmount required | number <double> |
| paymentAmount required | number <double> |
{- "paymentIds": [
- "string"
], - "tipAmount": 0.1,
- "paymentAmount": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Gets baskets by filters for revenue forecasting.
| salonId | string Salon ID to filter by |
| stylistSingleSalonId | string Stylist single salon ID to filter by |
| status | Array of strings (BasketStatus) Items Enum: "DRAFT" "AWAITING_PAYMENT" "AWAITING_MINIMUM_PAYMENT" "PARTIALLY_PAID" "PAID" "CANCELLED" Basket status to filter by (can be repeated for multiple statuses) |
| startDate | string Start date for filtering (ISO string) |
| endDate | string End date for filtering (ISO string) |
[- {
- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}
]Gets baskets by filters with appointments included - optimized for revenue forecasting. This endpoint returns baskets with their appointments in a single query to avoid N+1 queries.
| salonId | string Salon ID to filter by |
| stylistSingleSalonId | string Stylist single salon ID to filter by |
| status | Array of strings (BasketStatus) Items Enum: "DRAFT" "AWAITING_PAYMENT" "AWAITING_MINIMUM_PAYMENT" "PARTIALLY_PAID" "PAID" "CANCELLED" Basket status to filter by (can be repeated for multiple statuses) |
| startDate | string Start date for filtering (ISO string) |
| endDate | string End date for filtering (ISO string) |
[- {
- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string",
- "appointments": [
- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]
}
]Retrieves basket data by given ID with enhanced client information.
| basketId required | string |
{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Create a new client type.
The object containing the client type data.
| type required | string |
{- "type": "string"
}{- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Get a single client type by ID.
| id required | string The client type ID. |
{- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Update a client type.
| id required | string The client type ID. |
The object containing the updated client type data.
| type required | string |
{- "type": "string"
}{- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Retrieves basket data by given ID with enhanced client information.
| basketId required | string |
{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Updates a basket by completely replacing all appointments with new ones.
| basketId required | string |
| client-id | string |
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Creates a new basket.
| client-id | string |
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Cancels a basket and all its appointments.
| basketId required | string |
| note | string |
| cancelledBy required | string (CancelledBy) Enum: "CLIENT" "STYLIST" "SALON" |
| cancelChargeAmount | number <double> |
{- "note": "string",
- "cancelledBy": "CLIENT",
- "cancelChargeAmount": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Marks a basket as running late with specified delay in minutes.
| basketId required | string |
| minutes required | number <double> |
{- "minutes": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Sets recurring appointment settings for a basket. When repeatIntervalWeeks > 0, the basket will automatically create a new booking every N weeks. Set to 0 to disable recurring appointments.
| basketId required | string |
| repeatIntervalWeeks required | number <double> |
{- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Retrieves baskets with enriched appointments for a specific client in a salon with optional filtering by past/upcoming and pagination.
| clientId required | string The client ID to filter baskets by |
| salonId required | string The salon ID to filter baskets by |
| type | string Enum: "past" "upcoming" Filter by 'past' or 'upcoming' baskets based on appointment dates |
| skip | number <double> Default: 0 Number of records to skip for pagination |
| top | number <double> Default: 10 Number of records to return (page size) |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string",
- "appointments": [
- {
- "isOnlineBooking": true,
- "clientTypeId": {
- "id": "string",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "paymentIds": [
- "string"
], - "stylist": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true
}, - "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "blockedReason": "string",
- "cost": 0.1,
- "duration": 0.1,
- "repeatIntervalWeeks": 0.1,
- "endAt": "2019-08-24T14:15:22Z",
- "startAt": "2019-08-24T14:15:22Z",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string"
}
], - "clientId": "string",
- "cost": 0.1,
- "duration": 0.1,
- "name": "string",
- "client": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
}
], - "clientUsername": "string",
- "clientFullName": "string",
- "salonId": "string",
- "stylistSingleSalonId": "string",
- "clientId": "string",
- "basketId": "string",
- "type": "APPOINTMENT",
- "status": "RESERVED",
- "id": "string"
}
]
}
]
}Updates a basket by completely replacing all appointments with new ones.
| basketId required | string |
| client-id | string |
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Creates a new basket via online booking.
| client-id | string |
| clientId | string |
| salonId | string |
required | Array of objects (CreateBasketAppointmentRequest) |
| discountCode | string or null |
| tip | number or null <double> |
| notes | string or null |
| allowOverlap | boolean |
| description | string |
| repeatIntervalWeeks | number <double> |
{- "clientId": "string",
- "salonId": "string",
- "appointments": [
- {
- "clientId": "string",
- "clientPhone": "string",
- "stylistSingleSalonId": "string",
- "startAt": "string",
- "services": [
- {
- "serviceId": "string",
- "addons": [
- {
- "addonId": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "clientId": "string",
- "clientPhone": "string",
- "cost": 0.1,
- "duration": 0.1
}
], - "totalCost": 0.1,
- "totalDuration": 0.1,
- "clientTypeId": "string"
}
], - "discountCode": "string",
- "tip": 0.1,
- "notes": "string",
- "allowOverlap": true,
- "description": "string",
- "repeatIntervalWeeks": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Cancels a basket and all its appointments.
| basketId required | string |
| note | string |
| cancelledBy required | string (CancelledBy) Enum: "CLIENT" "STYLIST" "SALON" |
| cancelChargeAmount | number <double> |
{- "note": "string",
- "cancelledBy": "CLIENT",
- "cancelChargeAmount": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}Marks a basket as running late with specified delay in minutes.
| basketId required | string |
| minutes required | number <double> |
{- "minutes": 0.1
}{- "clients": [
- {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}
], - "mainClient": {
- "id": "string",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "showRate": 0.1,
- "totalReviews": 0.1,
- "visits": 0.1,
- "totalPaid": 0.1,
- "avgVisit": 0.1,
- "avgVisitValue": 0.1
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "alertMessage": "string",
- "isOnlineBooking": true,
- "endDate": "2019-08-24T14:15:22Z",
- "startDate": "2019-08-24T14:15:22Z",
- "nextRebookDate": "2019-08-24T14:15:22Z",
- "lastRebookCreatedAt": "2019-08-24T14:15:22Z",
- "initialBasketId": "string",
- "repeatIntervalWeeks": 0.1,
- "runningLateAt": "2019-08-24T14:15:22Z",
- "runningLateMinutes": 0.1,
- "cancelChargeStatus": "PENDING",
- "cancelChargeAmount": 0.1,
- "cancellationNote": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancelledBy": "CLIENT",
- "description": "string",
- "paymentIntentId": "string",
- "status": "DRAFT",
- "remainingAmount": 0.1,
- "tipAmountPaid": 0.1,
- "amountPaid": 0.1,
- "total": 0.1,
- "discounts": 0.1,
- "subtotal": 0.1,
- "paymentIds": [
- "string"
], - "appointmentIds": [
- "string"
], - "clientIds": [
- "string"
], - "salonId": "string",
- "mainClientId": "string",
- "id": "string"
}