Charter Boats API
Fees

Create Boat Fee

Add a new fee to a boat listing

POST/boats/:id/fees

Add a new fee to a boat listing. Requires authentication as a company member for the boat. The fee is automatically assigned the next sort_order value.

Authentication

X-API-Key: cb_live_xxxxx

Path Parameters

ParameterTypeDescription
idstringBoat ID (UUID)

Request Body

FieldTypeRequiredDescription
descriptionstringYesFee name (e.g., "Cleaning fee")
amountnumberYesFee amount in USD
periodstringYesBilling period (see below)
requiredbooleanNoDefault: true. Whether the fee is mandatory.
categorystringNoFee category (e.g., crew, equipment)
on_requestbooleanNoWhether the fee must be requested separately
valid_fromstringNoStart date of validity (YYYY-MM-DD)
valid_tostringNoEnd date of validity (YYYY-MM-DD)

Valid Periods

PeriodDescription
per_bookingCharged once per booking
per_dayMultiplied by the number of rental days
per_personCharged per guest
per_person_per_dayPer guest per day
per_person_per_nightPer guest per night
per_weekCharged per week
one_wayOne-way delivery fee

Request

curl -X POST https://charter.boats/api/boats/550e8400-e29b-41d4-a716-446655440000/fees \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cb_live_xxxxx" \
  -d '{
    "description": "Captain",
    "amount": 150,
    "period": "per_day",
    "required": false,
    "category": "crew",
    "on_request": true,
    "valid_from": "2024-06-01",
    "valid_to": "2024-09-30"
  }'

Response

Returns the created fee object.

{
  "id": "fee-7g8h9i...",
  "boat_id": "550e8400-e29b-41d4-a716-446655440000",
  "description": "Captain",
  "amount": 150,
  "period": "per_day",
  "required": false,
  "category": "crew",
  "on_request": true,
  "sort_order": 2,
  "source": "direct",
  "source_id": null,
  "valid_from": "2024-06-01",
  "valid_to": "2024-09-30",
  "amount_is_percentage": null,
  "calculation_type": null,
  "min_duration": null,
  "max_duration": null,
  "created_at": "2024-01-20T14:30:00Z"
}

Errors

StatusMessage
400Description, amount, and period are required
400Period must be one of: per_booking, per_day, per_person, per_person_per_day, per_person_per_night, per_week, one_way
404Boat not found

Common Fee Examples

DescriptionAmountPeriodRequired
Cleaning fee75per_bookingYes
Captain150per_dayNo
Fuel deposit200per_bookingYes
Water toys100per_dayNo
Fishing gear50per_bookingNo
Transit log30one_wayYes

On this page