Endpoints for checking inventory availability, placing temporary holds on assets, and managing dry dock maintenance periods.
Availability
Preload availability data
GET /preload-availability
Preloads booking data for a given inventory and month to enable faster availability checking on the client
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
inventoryId | query | string | Yes | The inventory ID to preload availability for |
month | query | string | Yes | The month to preload in YYYY-MM format |
Responses
| Code | Description |
|---|---|
200 | Availability data retrieved successfully |
400 | Missing or invalid inventoryId or month parameter |
500 | Internal server error |
Hold Asset
Create a waitlist entry to hold an asset
POST /holdAsset
Creates a waitlist entry to temporarily hold/reserve an asset for a customer. Entries expire after 2 days (TTL).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
customerId | string | Yes | The customer ID |
email | string | Yes | Customer email address |
inventoryId | string | Yes | The ID of the inventory item to hold |
locationId | string | Yes | The location ID |
Responses
| Code | Description |
|---|---|
201 | Waitlist entry created successfully |
400 | Missing required fields |
500 | Could not create waitlist entry |
Dry Dock
Create a new drydock booking
POST /drydock
Creates a new drydock booking to block a boat from rentals during a specified time period
Request body
| Field | Type | Required | Description |
|---|---|---|---|
boatId | string | Yes | The ID of the boat to block |
startDate | string | Yes | Start date of the drydock period |
endDate | string | Yes | End date of the drydock period |
assetIds | array | No | Optional array of asset IDs to assign |
Responses
| Code | Description |
|---|---|
200 | Drydock booking created successfully |
400 | Missing required fields or invalid date format |
500 | Server error |
Get drydock bookings
GET /drydock
Retrieves drydock bookings for a given boat and optionally filtered by asset
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
boatId | query | string | Yes | The ID of the boat to get drydock bookings for |
assetId | query | string | No | Optional asset ID to filter by |
Responses
| Code | Description |
|---|---|
200 | List of drydock bookings |
400 | Missing boatId parameter |
500 | Server error |
Update a drydock booking
PATCH /drydock
Updates an existing drydock booking with new dates or asset assignment
Request body
| Field | Type | Required | Description |
|---|---|---|---|
rentalId | string | Yes | The ID of the drydock booking to update |
startDate | string | Yes | New start date of the drydock period |
endDate | string | Yes | New end date of the drydock period |
assetId | string | No | Optional new asset ID to assign |
Responses
| Code | Description |
|---|---|
200 | Drydock booking updated successfully |
400 | Missing required fields or invalid date format |
500 | Server error |
Delete a drydock booking
DELETE /drydock
Deletes an existing drydock booking
Request body
| Field | Type | Required | Description |
|---|---|---|---|
rentalId | string | Yes | The ID of the drydock booking to delete |
Responses
| Code | Description |
|---|---|
200 | Drydock booking deleted successfully |
400 | Missing rentalId |
500 | Server error |

