Charter Boats API
Bookings

Get Booking

Get details of a specific booking

GET/bookings/:id

Retrieve full details for a single booking, including boat info, company details, images, and a linked conversation ID (if one exists).

Requires session authentication. Accessible by the guest who made the booking or any member of the boat's company.

Path Parameters

ParameterTypeRequiredDescription
idstringYesBooking ID (UUID)

Request

curl https://charter.boats/api/bookings/550e8400-e29b-41d4-a716-446655440000 \
  -H "Cookie: <session-cookie>"

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "boat_id": "boat-uuid",
  "guest_id": "user-uuid",
  "status": "confirmed",
  "start_at": "2026-07-12T17:00:00",
  "end_at": "2026-07-19T09:00:00",
  "guest_count": 6,
  "total_price": 4200,
  "service_fee": 45,
  "booking_source": "direct",
  "boat_title": "Luxury Catamaran",
  "company_id": "company-uuid",
  "company_name": "Adriatic Charters",
  "coupon_code": null,
  "coupon_discount": null,
  "referral_source": "direct",
  "hold_expires_at": "2026-06-01T11:15:00.000Z",
  "stripe_payment_intent_id": "pi_xxx",
  "created_at": "2026-06-01T10:30:00Z",
  "updated_at": "2026-06-01T10:45:00Z",
  "boat": {
    "id": "boat-uuid",
    "title": "Luxury Catamaran",
    "boat_type": "catamaran",
    "capacity": 10,
    "location": {
      "id": "location-uuid",
      "name": "ACI Marina Split",
      "city": "Split",
      "country": "Croatia"
    },
    "company": {
      "id": "company-uuid",
      "name": "Adriatic Charters",
      "slug": "adriatic-charters",
      "logo_url": "https://...",
      "email": "info@adriatic-charters.com",
      "phone": "+385911234567"
    },
    "images": [
      {
        "url": "https://...",
        "is_primary": true,
        "is_active": true
      }
    ]
  },
  "conversation_id": "conversation-uuid"
}

Response Fields

FieldTypeDescription
idstringBooking ID (UUID)
boat_idstringBoat ID
guest_idstringGuest's user ID
statusstringpending, accepted, confirmed, completed, cancelled
start_atstringCharter start (ISO 8601 datetime)
end_atstringCharter end (ISO 8601 datetime)
guest_countintegerNumber of guests
total_pricenumberCharter price + fees (excludes service fee)
service_feenumberFlat platform service fee
booking_sourcestringdirect, nausys, or mmk
boat_titlestringSnapshot of the boat title at booking time
company_idstringCompany ID
company_namestringSnapshot of the company name at booking time
coupon_codestringApplied coupon code, or null
coupon_discountnumberCoupon discount amount, or null
hold_expires_atstringWhen the payment hold expires
stripe_payment_intent_idstringStripe PaymentIntent ID
created_atstringWhen the booking was created
boatobjectBoat details including company and images
boat.locationobjectMarina/base location with city and country
boat.companyobjectCharter company details
conversation_idstringLinked messaging conversation ID, or null

Errors

StatusMessage
400Booking ID is required
401Authentication required
403Not authorized to view this booking
404Booking not found

On this page