Charter Boats API
Fees

List Boat Fees

Get all fees for a specific boat

GET/boats/:id/fees

Retrieve all fees for a boat, filtered by its active pricing source. Fees are ordered by sort_order.

Path Parameters

ParameterTypeDescription
idstringBoat ID (UUID)

Query Parameters

ParameterTypeRequiredDescription
startstringNoStart date (YYYY-MM-DD) -- filter to fees valid in this range
endstringNoEnd date (YYYY-MM-DD) -- filter to fees valid in this range

When start and end are both provided, only fees that overlap the date range are returned. Fees with no valid_from/valid_to dates are always included.

Request

curl https://charter.boats/api/boats/550e8400-e29b-41d4-a716-446655440000/fees

With date range filter:

curl "https://charter.boats/api/boats/550e8400-e29b-41d4-a716-446655440000/fees?start=2024-07-01&end=2024-07-14"

Response

Returns an array of fee objects.

[
  {
    "id": "fee-1a2b3c...",
    "boat_id": "550e8400-e29b-41d4-a716-446655440000",
    "description": "Cleaning fee",
    "amount": 75,
    "period": "per_booking",
    "required": true,
    "category": null,
    "on_request": false,
    "sort_order": 0,
    "source": "direct",
    "source_id": null,
    "valid_from": null,
    "valid_to": null,
    "amount_is_percentage": false,
    "calculation_type": null,
    "min_duration": null,
    "max_duration": null,
    "created_at": "2024-01-15T10:00:00Z"
  },
  {
    "id": "fee-4d5e6f...",
    "boat_id": "550e8400-e29b-41d4-a716-446655440000",
    "description": "Captain",
    "amount": 150,
    "period": "per_day",
    "required": false,
    "category": "crew",
    "on_request": true,
    "sort_order": 1,
    "source": "direct",
    "source_id": null,
    "valid_from": "2024-06-01",
    "valid_to": "2024-09-30",
    "amount_is_percentage": false,
    "calculation_type": null,
    "min_duration": null,
    "max_duration": null,
    "created_at": "2024-01-15T10:00:00Z"
  }
]

Response Fields

FieldTypeDescription
idstringFee ID (UUID)
boat_idstringBoat this fee belongs to
descriptionstringFee name/description
amountnumberFee amount in USD (or percentage if amount_is_percentage is true)
periodstringBilling period (see below)
requiredbooleanIf true, fee is mandatory for every booking
categorystring | nullFee category (e.g., crew, equipment)
on_requestbooleanIf true, fee must be requested separately
sort_orderintegerDisplay order
sourcestringPricing source (direct, nausys, or mmk)
source_idstring | nullExternal source identifier
valid_fromstring | nullStart date of validity period (YYYY-MM-DD)
valid_tostring | nullEnd date of validity period (YYYY-MM-DD)
amount_is_percentagebooleanWhether amount is a percentage rather than a fixed value
calculation_typestring | nullHow the fee is calculated
min_durationinteger | nullMinimum booking duration (days) for this fee to apply
max_durationinteger | nullMaximum booking duration (days) for this fee to apply
created_atstringISO 8601 timestamp

Fee 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

On this page