Manage your merchant configuration including business information, scheduling settings, business hours, and calendar preferences.
Get Settings
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Retrieve all merchant settings including business hours and location information.
GET /api/v1/merchant/settings
curl -X GET 'https://api.example.com/api/v1/merchant/settings' \
--cookie "session_token=your_session_token"
Brief introduction or tagline
Current announcement or notice
Detailed business description
Parking instructions for customers
Payment information and accepted methods
Cancellation deadline in minutes before appointment
Minimum advance booking time in minutes
Maximum advance booking time in minutes
Buffer time between appointments in minutes
IANA timezone identifier (e.g., “America/New_York”)
Map of day (0-6, Sunday=0) to array of time slots
Start time in HH:MM:SS format
End time in HH:MM:SS format
Complete formatted address
Update Settings
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Update merchant settings and business hours.
PATCH /api/v1/merchant/settings
curl -X PATCH 'https://api.example.com/api/v1/merchant/settings' \
--cookie "session_token=your_session_token" \
--header 'Content-Type: application/json' \
--data '{
"introduction": "Welcome to our salon",
"announcement": "Spring special: 20% off all services",
"about_us": "Professional hair and beauty services since 2020",
"parking_info": "Free parking in rear lot",
"payment_info": "We accept cash, credit cards, and mobile payments",
"cancel_deadline": 1440,
"booking_window_min": 60,
"booking_window_max": 10080,
"buffer_time": 15,
"business_hours": {
"1": [{"start_time": "09:00:00", "end_time": "17:00:00"}],
"2": [{"start_time": "09:00:00", "end_time": "17:00:00"}],
"3": [{"start_time": "09:00:00", "end_time": "17:00:00"}],
"4": [{"start_time": "09:00:00", "end_time": "17:00:00"}],
"5": [{"start_time": "09:00:00", "end_time": "20:00:00"}]
}
}'
Brief introduction or tagline
Current announcement (can be empty string)
Detailed business description
Cancellation deadline in minutes
Minimum advance booking time in minutes
Maximum advance booking time in minutes
Buffer time between appointments in minutes
Map of day (0-6) to array of time slot objects with start_time and end_time
Get Normalized Business Hours
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Get simplified business hours showing only the earliest start and latest end time for each day.
GET /api/v1/merchant/settings/business-hours/normalized
curl -X GET 'https://api.example.com/api/v1/merchant/settings/business-hours/normalized' \
--cookie "session_token=your_session_token"
Returns a map of day number to single time slot:
{
"1": {"start_time": "09:00:00", "end_time": "17:00:00"},
"2": {"start_time": "09:00:00", "end_time": "17:00:00"}
}
Update Merchant Name
Requires Owner role only.
Update the merchant’s business name.
PATCH /api/v1/merchant/name
curl -X PATCH 'https://api.example.com/api/v1/merchant/name' \
--cookie "session_token=your_session_token" \
--header 'Content-Type: application/json' \
--data '{"name": "New Business Name"}'
Check URL Availability
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Check if a merchant URL name is available.
POST /api/v1/merchant/check-url
curl -X POST 'https://api.example.com/api/v1/merchant/check-url' \
--cookie "session_token=your_session_token" \
--header 'Content-Type: application/json' \
--data '{"merchant_name": "my-salon"}'
Desired URL-friendly merchant name
Returns 200 OK if available, or 409 Conflict if already taken:
{
"error": {
"message": "Merchant URL is not unique",
"merchant_url": "suggested-alternative"
}
}
Get Preferences
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Retrieve calendar and display preferences.
GET /api/v1/merchant/preferences
curl -X GET 'https://api.example.com/api/v1/merchant/preferences' \
--cookie "session_token=your_session_token"
First day of week for calendar display (e.g., “monday”, “sunday”)
Time format preference (“12h” or “24h”)
Default calendar view (“day”, “week”, “month”)
Mobile calendar view preference
Calendar start hour in HH:MM:SS format
Calendar end hour in HH:MM:SS format
Time slot frequency in HH:MM:SS format
Update Preferences
Requires authentication. Accessible by Staff, Admin, and Owner roles.
Update calendar and display preferences.
PATCH /api/v1/merchant/preferences
curl -X PATCH 'https://api.example.com/api/v1/merchant/preferences' \
--cookie "session_token=your_session_token" \
--header 'Content-Type: application/json' \
--data '{
"first_day_of_week": "monday",
"time_format": "24h",
"calendar_view": "week",
"calendar_view_mobile": "day",
"start_hour": "08:00:00",
"end_hour": "20:00:00",
"time_frequency": "00:15:00"
}'
First day of week for calendar
Time format (“12h” or “24h”)
Calendar start hour (HH:MM:SS)
Calendar end hour (HH:MM:SS)
Time slot frequency (HH:MM:SS)
Delete Merchant
Requires Owner role only. This action is irreversible.
Permanently delete the merchant account and all associated data.
curl -X DELETE 'https://api.example.com/api/v1/merchant' \
--cookie "session_token=your_session_token"
Returns 200 OK on successful deletion.