Endpoints for managing marina-specific operations including haul-out services, utility meter readings, and interactive marina maps.
Haul Services
Get haul services for a location
GET /haul-services
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
locationId | query | string | Yes | |
status | query | string | No | |
startDate | query | string | No | |
endDate | query | string | No |
Request a new haul service
POST /haul-services
Get haul service statistics
GET /haul-services/stats
Get services scheduled for a specific date
GET /haul-services/scheduled/{date}
Get services for a specific renter
GET /haul-services/renter/{renterId}
Get services for a specific reservation
GET /haul-services/reservation/{reservationId}
Get a single haul service by ID
GET /haul-services/{id}
Update a haul service
PUT /haul-services/{id}
Delete a haul service (only if not started)
DELETE /haul-services/{id}
Schedule a haul service with pricing
POST /haul-services/{id}/schedule
Confirm a scheduled haul service
POST /haul-services/{id}/confirm
Start a haul service
POST /haul-services/{id}/start
Complete a haul service
POST /haul-services/{id}/complete
Cancel a haul service
POST /haul-services/{id}/cancel
Add photos to a haul service
POST /haul-services/{id}/photos
Meter Readings
Get meter readings with filters
GET /meter-readings
Record a new meter reading
POST /meter-readings
Get meter reading statistics
GET /meter-readings/stats
Get unbilled readings for a location
GET /meter-readings/unbilled
Get latest reading for a unit
GET /meter-readings/unit/{unitId}/latest
Get reading history for a unit
GET /meter-readings/unit/{unitId}/history
Get a single meter reading
GET /meter-readings/{id}
Update a meter reading
PUT /meter-readings/{id}
Delete a meter reading
DELETE /meter-readings/{id}
Mark multiple readings as billed
POST /meter-readings/mark-billed
Add utility charges to a reservation
POST /meter-readings/add-to-reservation
Marina Maps
Get all maps for a location
GET /slips/maps/{locationId}
Create a new marina map
POST /slips/maps
Update display order for multiple maps
PUT /slips/maps/reorder
Batch update pin positions
PUT /slips/maps/batch-pins
Get a single map by ID
GET /slips/maps/{mapId}
Update a marina map
PUT /slips/maps/{mapId}
Delete a marina map (unlinks all slips)
DELETE /slips/maps/{mapId}
Toggle map active status
PATCH /slips/maps/{mapId}/toggle-active
Get all pins (slips) for a specific map
GET /slips/maps/{mapId}/pins
Get slips not assigned to any map for a location
GET /slips/maps/{locationId}/unassigned
Assign or update a slip's map position
PUT /slips/{slipId}/map-pin
Update only the position of a slip pin
PATCH /slips/{slipId}/map-pin
Remove a slip from the map
DELETE /slips/{slipId}/map-pin

