Pricing
Date-Specific Prices
Set custom prices or block specific dates
GET
/boats/:id/date-pricesRetrieve date-specific price overrides and availability blocks for a boat within a date range.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Boat ID (UUID) |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start | string | Yes | Start date (YYYY-MM-DD) |
end | string | Yes | End date (YYYY-MM-DD) |
Request
Response
Returns an array of date-price objects, ordered by date ascending.
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Date-price ID (UUID) |
boat_id | string | Boat this override belongs to |
date | string | Date (YYYY-MM-DD) |
price_per_day | number | null | Custom price, or null if using season price |
is_available | boolean | Whether the date is bookable |
note | string | null | Optional note/reason |
created_at | string | ISO 8601 timestamp |
Errors
| Status | Message |
|---|---|
400 | start and end dates are required |
Set Date Prices
POST
/boats/:id/date-pricesCreate or update date-specific prices and availability. Accepts a single object or an array for bulk operations. Uses upsert -- existing entries for the same boat + date are updated.
Requires authentication as a company member for the boat.
Authentication
Request Body
Single object or array of date-price objects:
| Field | Type | Required | Description |
|---|---|---|---|
date | string | Yes | Date (YYYY-MM-DD) |
price_per_day | number | null | No | Custom price (null to clear override) |
is_available | boolean | No | Default: true. Set to false to block the date. |
note | string | null | No | Optional note/reason |
Request
Response
Returns the array of upserted date-price objects.
Errors
| Status | Message |
|---|---|
400 | At least one date price entry required |
400 | Each item must have a valid date (YYYY-MM-DD) |
404 | Boat not found |
Use Cases
Block Dates for Maintenance
Holiday Premium Pricing
Single Date Override
You can also send a single object instead of an array: