Create Customer
Requires authentication.
POST /api/v1/merchant/customers
Customer’s first name
Customer’s last name
Email address
Phone number
Date of birth in ISO 8601 format
Internal notes about the customer
Response
Returns201 Created on success.
Update Customer
Requires authentication.
PUT /api/v1/merchant/customers/{id}
Customer UUID
Customer UUID (must match path parameter)
Delete Customer
Requires authentication.
DELETE /api/v1/merchant/customers/{id}
Customer UUID to delete
Get Customer
Requires authentication.
GET /api/v1/merchant/customers/{id}
Customer UUID
Customer UUID
First name
Last name
Email address
Phone number
Date of birth
Internal notes
Whether this is a placeholder customer record
Get Customer Statistics
Requires authentication.
GET /api/v1/merchant/customers/{id}/stats
Customer UUID
Customer UUID
First name
Last name
Email address
Phone number
Date of birth
Internal notes
Placeholder customer flag
Whether customer is blacklisted
Reason for blacklisting
Total number of bookings made
Number of bookings cancelled by customer
Number of upcoming bookings
Complete booking history
Get All Customers
Requires authentication.
GET /api/v1/merchant/customers
Customer UUID
First name
Last name
Email address
Phone number
Date of birth
Internal notes
Placeholder customer flag
Blacklist status
Blacklist reason
Total bookings
Total cancellations
Blacklist Customer
Requires authentication.
PUT /api/v1/merchant/customers/{id}/blacklist
Customer UUID
Customer UUID (must match path parameter)
Reason for blacklisting (internal use only)
Remove from Blacklist
Requires authentication.
DELETE /api/v1/merchant/customers/{id}/blacklist
Customer UUID
Get Blacklisted Customers
Requires authentication.
GET /api/v1/merchant/customers/blacklist
Transfer Bookings
Requires authentication.
PUT /api/v1/merchant/customers/transfer
UUID of source customer (bookings will be transferred from this customer)
UUID of destination customer (bookings will be transferred to this customer)
Calendar Customers
Get a simplified list of customers for calendar display:GET /api/v1/merchant/calendar/customers
Dummy Customers
The system automatically creates “dummy” customer records for walk-ins or bookings without full customer details. These records:- Have
is_dummy: true - May have incomplete information
- Can be converted to full customer records by updating with complete details
- Are useful for tracking appointments without requiring full customer profiles
Best Practices
Customer Data
- Email or Phone Required: Collect at least one contact method for booking confirmations
- Notes for Context: Use the notes field for preferences, allergies, or special requirements
- Birthday Tracking: Collect birthdays to send special offers and reminders
Blacklist Usage
- Document Reasons: Always include a blacklist_reason for future reference
- Review Periodically: Regularly review blacklisted customers
- Clear Communication: Inform customers of policies to avoid blacklist scenarios
Duplicate Management
Use the transfer bookings endpoint to:- Identify duplicate customer records
- Choose the primary record
- Transfer all bookings to the primary record
- Delete or archive the duplicate