inventory-service (1.0.0)

Download OpenAPI specification:Download

The service provides capabilities to interact with the inventory data inside of BEAUTY_OS Core in MongoDB. This service manages products, categories, brands, distributors, orders, and sales analytics.

Orders

CreateOrder

Create a new order

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
name
required
string
distributorId
string
distributorName
string
required
Array of objects (CreateOrderItemRequest)
notes
string
expectedDeliveryDate
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListOrders

Get all orders for a salon with filters

Authorizations:
jwt
query Parameters
salonId
required
string
status
string (OrderStatus)
Enum: "draft" "sent" "delivered" "cancelled"
distributorId
string
page
number <double>
limit
number <double>

Responses

Response samples

Content type
application/json
{
  • "orders": [
    ],
  • "total": 0.1,
  • "page": 0.1,
  • "limit": 0.1,
  • "totalPages": 0.1
}

GetOrderById

Get an order by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateOrder

Update an order

Authorizations:
jwt
path Parameters
orderId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
name
string
distributorId
string
distributorName
string
Array of objects (UpdateOrderItemRequest)
notes
string
expectedDeliveryDate
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteOrder

Delete an order

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

Responses

Response samples

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

UpdateStatus

Update order status

Authorizations:
jwt
path Parameters
orderId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
status
required
string (OrderStatus)
Enum: "draft" "sent" "delivered" "cancelled"

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

MarkDelivered

Mark order as delivered and update product stock

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

Responses

Response samples

Content type
application/json
{
  • "order": {
    },
  • "message": "string"
}

AddItem

Add an item to an order

Authorizations:
jwt
path Parameters
orderId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
productId
required
string
quantity
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "productId": "string",
  • "quantity": 0.1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateItemQuantity

Update order item quantity

Authorizations:
jwt
path Parameters
orderId
required
string
itemId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
quantity
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "quantity": 0.1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

RemoveItem

Remove an item from an order

Authorizations:
jwt
path Parameters
orderId
required
string
itemId
required
string
query Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "status": "draft",
  • "distributorId": "string",
  • "distributorName": "string",
  • "items": [
    ],
  • "notes": "string",
  • "expectedDeliveryDate": "string",
  • "deliveredDate": "string",
  • "totalItems": 0.1,
  • "totalCost": 0.1,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Product Brands

CreateBrand

Create a new product brand

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
name
required
string
description
string
website
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "website": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "description": "string",
  • "website": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListBrands

Get all product brands for a salon

Authorizations:
jwt
query Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "brands": [
    ],
  • "total": 0.1
}

GetBrandById

Get a product brand by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "description": "string",
  • "website": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateBrand

Update a product brand

Authorizations:
jwt
path Parameters
brandId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
name
string
description
string
website
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "website": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "description": "string",
  • "website": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteBrand

Delete a product brand

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

Responses

Response samples

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

Product Categories

CreateCategory

Create a new product category

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
name
required
string
categoryType
string
Enum: "hair" "nails" "skin" "styling_tools" "consumables" "equipment"
color
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "categoryType": "hair",
  • "color": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "categoryType": "hair",
  • "color": "string",
  • "description": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListCategories

Get all product categories for a salon

Authorizations:
jwt
query Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "total": 0.1
}

GetCategoryById

Get a product category by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "categoryType": "hair",
  • "color": "string",
  • "description": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateCategory

Update a product category

Authorizations:
jwt
path Parameters
categoryId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
name
string
categoryType
string
Enum: "hair" "nails" "skin" "styling_tools" "consumables" "equipment"
color
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "categoryType": "hair",
  • "color": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "categoryType": "hair",
  • "color": "string",
  • "description": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteCategory

Delete a product category

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

Responses

Response samples

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

Product Distributors

CreateDistributor

Create a new product distributor

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
name
required
string
email
string
phoneNumber
string
website
string
object (DistributorAddress)
secondaryPhoneNumber
string
secondaryEmailAddress
string
secondaryFax
string
notes
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "phoneNumber": "string",
  • "website": "string",
  • "address": {
    },
  • "secondaryPhoneNumber": "string",
  • "secondaryEmailAddress": "string",
  • "secondaryFax": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "email": "string",
  • "phoneNumber": "string",
  • "website": "string",
  • "address": {
    },
  • "secondaryPhoneNumber": "string",
  • "secondaryEmailAddress": "string",
  • "secondaryFax": "string",
  • "notes": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListDistributors

Get all product distributors for a salon

Authorizations:
jwt
query Parameters
salonId
required
string

Responses

Response samples

Content type
application/json
{
  • "distributors": [
    ],
  • "total": 0.1
}

GetDistributorById

Get a product distributor by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "email": "string",
  • "phoneNumber": "string",
  • "website": "string",
  • "address": {
    },
  • "secondaryPhoneNumber": "string",
  • "secondaryEmailAddress": "string",
  • "secondaryFax": "string",
  • "notes": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateDistributor

Update a product distributor

Authorizations:
jwt
path Parameters
distributorId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
name
string
email
string
phoneNumber
string
website
string
object (DistributorAddress)
secondaryPhoneNumber
string
secondaryEmailAddress
string
secondaryFax
string
notes
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "phoneNumber": "string",
  • "website": "string",
  • "address": {
    },
  • "secondaryPhoneNumber": "string",
  • "secondaryEmailAddress": "string",
  • "secondaryFax": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "email": "string",
  • "phoneNumber": "string",
  • "website": "string",
  • "address": {
    },
  • "secondaryPhoneNumber": "string",
  • "secondaryEmailAddress": "string",
  • "secondaryFax": "string",
  • "notes": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteDistributor

Delete a product distributor

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

Responses

Response samples

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

Sales Analytics

CreateSale

Create a new product sale

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
productId
string
transactionId
required
string
productName
required
string
brandName
string
imageUrl
string
quantity
required
number <double>
unitPrice
required
number <double>
discountAmount
number <double>
tipAmount
number <double>
totalBusinessCost
required
number <double>
netSales
required
number <double>
netProfit
required
number <double>
netProfitMargin
required
number <double>
checkoutDate
required
string
checkoutBy
required
string
soldBy
required
string
customerName
required
string
customerId
string
appointmentId
string
appointmentDate
string
pointsRedeemed
number <double>
amountPaid
required
number <double>
shippingHandling
number <double>
cashAmount
number <double>
checkAmount
number <double>
giftCardAmount
number <double>
packageAmount
number <double>
membershipsAmount
number <double>
creditCardAmount
number <double>
bankAccountAmount
number <double>
buyNowPayLaterAmount
number <double>
iouInvoiceAmount
number <double>
netSaleAmount
required
number <double>
changeDueAmount
number <double>
merchantAccount
string

Responses

Request samples

Content type
application/json
{
  • "productId": "string",
  • "transactionId": "string",
  • "productName": "string",
  • "brandName": "string",
  • "imageUrl": "string",
  • "quantity": 0.1,
  • "unitPrice": 0.1,
  • "discountAmount": 0.1,
  • "tipAmount": 0.1,
  • "totalBusinessCost": 0.1,
  • "netSales": 0.1,
  • "netProfit": 0.1,
  • "netProfitMargin": 0.1,
  • "checkoutDate": "string",
  • "checkoutBy": "string",
  • "soldBy": "string",
  • "customerName": "string",
  • "customerId": "string",
  • "appointmentId": "string",
  • "appointmentDate": "string",
  • "pointsRedeemed": 0.1,
  • "amountPaid": 0.1,
  • "shippingHandling": 0.1,
  • "cashAmount": 0.1,
  • "checkAmount": 0.1,
  • "giftCardAmount": 0.1,
  • "packageAmount": 0.1,
  • "membershipsAmount": 0.1,
  • "creditCardAmount": 0.1,
  • "bankAccountAmount": 0.1,
  • "buyNowPayLaterAmount": 0.1,
  • "iouInvoiceAmount": 0.1,
  • "netSaleAmount": 0.1,
  • "changeDueAmount": 0.1,
  • "merchantAccount": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "salonId": "string",
  • "productId": "string",
  • "transactionId": "string",
  • "productName": "string",
  • "brandName": "string",
  • "imageUrl": "string",
  • "quantity": 0.1,
  • "unitPrice": 0.1,
  • "discountAmount": 0.1,
  • "tipAmount": 0.1,
  • "totalBusinessCost": 0.1,
  • "netSales": 0.1,
  • "netProfit": 0.1,
  • "netProfitMargin": 0.1,
  • "checkoutDate": "string",
  • "checkoutBy": "string",
  • "soldBy": "string",
  • "customerName": "string",
  • "customerId": "string",
  • "appointmentId": "string",
  • "appointmentDate": "string",
  • "pointsRedeemed": 0.1,
  • "amountPaid": 0.1,
  • "shippingHandling": 0.1,
  • "cashAmount": 0.1,
  • "checkAmount": 0.1,
  • "giftCardAmount": 0.1,
  • "packageAmount": 0.1,
  • "membershipsAmount": 0.1,
  • "creditCardAmount": 0.1,
  • "bankAccountAmount": 0.1,
  • "buyNowPayLaterAmount": 0.1,
  • "iouInvoiceAmount": 0.1,
  • "netSaleAmount": 0.1,
  • "changeDueAmount": 0.1,
  • "merchantAccount": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListSales

Get all product sales for a salon with filters

Authorizations:
jwt
query Parameters
salonId
required
string
dateRange
string (SalesDateRange)
Enum: "today" "yesterday" "last_7_days" "last_30_days" "this_month" "last_month" "this_year" "last_year" "all_time" "custom"
startDate
string
endDate
string
viewMode
string (SalesViewMode)
Enum: "brand" "product"
sortBy
string (SalesSortBy)
Enum: "amount_sold_desc" "amount_sold_asc" "quantity_desc" "quantity_asc" "price_desc" "price_asc"
productId
string
brandName
string
page
number <double>
limit
number <double>

Responses

Response samples

Content type
application/json
{
  • "sales": [
    ],
  • "total": 0.1,
  • "page": 0.1,
  • "limit": 0.1,
  • "totalPages": 0.1
}

GetAggregatedByProduct

Get aggregated sales by product

Authorizations:
jwt
query Parameters
salonId
required
string
dateRange
string (SalesDateRange)
Enum: "today" "yesterday" "last_7_days" "last_30_days" "this_month" "last_month" "this_year" "last_year" "all_time" "custom"
startDate
string
endDate
string

Responses

Response samples

Content type
application/json
{
  • "sales": [
    ],
  • "total": 0.1
}

GetAggregatedByBrand

Get aggregated sales by brand

Authorizations:
jwt
query Parameters
salonId
required
string
dateRange
string (SalesDateRange)
Enum: "today" "yesterday" "last_7_days" "last_30_days" "this_month" "last_month" "this_year" "last_year" "all_time" "custom"
startDate
string
endDate
string

Responses

Response samples

Content type
application/json
{
  • "sales": [
    ],
  • "total": 0.1
}

GetSaleById

Get a product sale by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salonId": "string",
  • "productId": "string",
  • "transactionId": "string",
  • "productName": "string",
  • "brandName": "string",
  • "imageUrl": "string",
  • "quantity": 0.1,
  • "unitPrice": 0.1,
  • "discountAmount": 0.1,
  • "tipAmount": 0.1,
  • "totalBusinessCost": 0.1,
  • "netSales": 0.1,
  • "netProfit": 0.1,
  • "netProfitMargin": 0.1,
  • "checkoutDate": "string",
  • "checkoutBy": "string",
  • "soldBy": "string",
  • "customerName": "string",
  • "customerId": "string",
  • "appointmentId": "string",
  • "appointmentDate": "string",
  • "pointsRedeemed": 0.1,
  • "amountPaid": 0.1,
  • "shippingHandling": 0.1,
  • "cashAmount": 0.1,
  • "checkAmount": 0.1,
  • "giftCardAmount": 0.1,
  • "packageAmount": 0.1,
  • "membershipsAmount": 0.1,
  • "creditCardAmount": 0.1,
  • "bankAccountAmount": 0.1,
  • "buyNowPayLaterAmount": 0.1,
  • "iouInvoiceAmount": 0.1,
  • "netSaleAmount": 0.1,
  • "changeDueAmount": 0.1,
  • "merchantAccount": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteSale

Delete a product sale

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

Responses

Response samples

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

Products

CreateProduct

Create a new product

Authorizations:
jwt
query Parameters
salonId
required
string
Request Body schema: application/json
name
required
string
images
Array of strings
barcode
string
categoryId
string
brandId
string
distributorId
string
purchasePrice
required
number <double>
retailPrice
required
number <double>
discountType
string
Enum: "percentage" "fixed"
discountValue
number <double>
taxRate
number <double>
stockCount
number <double>
desiredStockLevel
number <double>
isActive
boolean
isVisible
boolean
description
string
sku
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string",
  • "effectivePrice": 0.1,
  • "isOutOfStock": true,
  • "needsReorder": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

ListProducts

Get all products for a salon with filters

Authorizations:
jwt
query Parameters
salonId
required
string
status
string (ProductFilterStatus)
Enum: "all" "in_stock" "out_of_stock" "low_stock"
categoryId
string
brandId
string
distributorId
string
sortBy
string (ProductSortBy)
Enum: "name" "stock_asc" "stock_desc" "date" "price"
searchQuery
string
needToOrder
boolean
page
number <double>
limit
number <double>

Responses

Response samples

Content type
application/json
{
  • "products": [
    ],
  • "total": 0.1,
  • "page": 0.1,
  • "limit": 0.1,
  • "totalPages": 0.1
}

SearchByBarcode

Search for a product by barcode

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

Responses

Response samples

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

GetProductById

Get a product by ID

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

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string",
  • "effectivePrice": 0.1,
  • "isOutOfStock": true,
  • "needsReorder": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

UpdateProduct

Update a product

Authorizations:
jwt
path Parameters
productId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
name
string
images
Array of strings
barcode
string
categoryId
string
brandId
string
distributorId
string
purchasePrice
number <double>
retailPrice
number <double>
discountType
string
Enum: "percentage" "fixed"
discountValue
number <double>
taxRate
number <double>
stockCount
number <double>
desiredStockLevel
number <double>
isActive
boolean
isVisible
boolean
description
string
sku
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string",
  • "effectivePrice": 0.1,
  • "isOutOfStock": true,
  • "needsReorder": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

DeleteProduct

Delete a product

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

Responses

Response samples

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

UpdateStock

Update product stock count

Authorizations:
jwt
path Parameters
productId
required
string
query Parameters
salonId
required
string
Request Body schema: application/json
stockCount
number <double>
desiredStockLevel
number <double>

Responses

Request samples

Content type
application/json
{
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "salonId": "string",
  • "images": [
    ],
  • "barcode": "string",
  • "categoryId": "string",
  • "brandId": "string",
  • "distributorId": "string",
  • "purchasePrice": 0.1,
  • "retailPrice": 0.1,
  • "discountType": "percentage",
  • "discountValue": 0.1,
  • "taxRate": 0.1,
  • "stockCount": 0.1,
  • "desiredStockLevel": 0.1,
  • "isActive": true,
  • "isVisible": true,
  • "description": "string",
  • "sku": "string",
  • "effectivePrice": 0.1,
  • "isOutOfStock": true,
  • "needsReorder": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}