FAQs

Endpoints for retrieving frequently asked questions (FAQs). Refactored to use service layer with dependency injection.

APIDescription
GET api/FAQs/{portID}

Returns FAQs for a specific port.

GET api/FAQs

Returns FAQs grouped by port for all ports that have FAQs available.

EventsLocations

Endpoints for retrieving event parking location information. Refactored to use service layer with dependency injection.

APIDescription
GET api/eventslocations?includeServices={includeServices}&includeEvents={includeEvents}

Returns event parking locations (ports) with associated event operators and available services.

Ports

Endpoints for retrieving port information. Refactored to use service layer with dependency injection.

APIDescription
GET api/ports?includeServices={includeServices}&includeCruiseOperators={includeCruiseOperators}

Returns a list of ports with associated cruise operators and available services.

World

Test endpoints for API functionality verification.

APIDescription
GET api/world/earth

Test endpoint that returns a simple message. No authentication required.

GET api/world/mars

Test endpoint that returns a simple message. Requires JWT authentication.

Auth

Endpoints for user authentication, registration, and password management.

APIDescription
POST api/auth/register

Registers a new user account with email and password.

POST api/auth/verify-email

Verifies a user's email address using a verification token sent to their email.

POST api/auth/login

Authenticates a user with email and password and returns a JWT token.

POST api/auth/login/social

Authenticates a user using social login providers (e.g., Google, Facebook).

POST api/auth/forgot-password

Initiates a password reset process by sending a reset link to the user's email address.

POST api/auth/reset-password

Resets a user's password using a reset token received via email.

POST api/auth/refresh-token

Refreshes an access token using a refresh token.

POST api/auth/revoke-token

Revokes a refresh token, preventing it from being used to obtain new access tokens.

Whiteboard

APIDescription
GET api/whiteboard/cruise-ships

Returns ship names that have live cruises present or in the future.

GET api/whiteboard/cruise-ship/{cruiseShipName}/parking-info?excludeZeroTotalCapacity={excludeZeroTotalCapacity}

Returns parking info for a cruise ship, including per-zone spaces and currently parked vehicles. Includes operatorName.

GET api/whiteboard/cruise-ship/{cruiseShipName}/cruise-numbers

Returns future live cruise numbers for a ship.

GET api/whiteboard/cruise-ships/spaces?portNames={portNames}&excludeZeroTotalCapacity={excludeZeroTotalCapacity}&lookupDate={lookupDate}

Returns capacity info for the next cruise to depart per ship (optionally filtered by port names), excluding zero capacity when requested. Each item includes operatorName.

GET api/whiteboard/cruise-ships/spaces-between?start={start}&end={end}&portNames={portNames}&excludeZeroTotalCapacity={excludeZeroTotalCapacity}

Returns capacity info for all cruises between two dates for all cruise ships, with optional port filter, ordered by operator, ship, then departure. Each item includes operatorName.

GET api/whiteboard/cruise-ship/{cruiseShipName}/cruise/{cruiseNumber}/parking-info?excludeZeroTotalCapacity={excludeZeroTotalCapacity}

Returns cruise-specific capacity and booked counts, with per-zone breakdown.

Vehicle

Endpoints for vehicle information and vehicle type lookups. Refactored to use service layer with dependency injection.

APIDescription
GET api/VehicleTypes

Returns a list of all available vehicle types.

GET api/Vehicle?registration={registration}

Looks up vehicle details by registration number using external vehicle lookup services.

User

Endpoints for managing user profile information and account settings.

APIDescription
GET api/user/profile

Retrieves the current authenticated user's profile information.

PUT api/user/profile

Updates the current authenticated user's profile information. Email changes require verification.

POST api/user/change-password

Changes the current authenticated user's password.

VoucherCodeCheck

Endpoints for validating voucher codes and retrieving voucher information. Refactored to use service layer with dependency injection.

APIDescription
POST api/VoucherCodeCheck

Validates a voucher code for a booking. This endpoint allows empty voucher codes.

POST api/VoucherCodeCheck/{newVoucherCode}

Validates a specific voucher code for a booking.

GET api/VoucherCodeReverseLookup/{voucherCode}

Performs a reverse lookup of a voucher code to retrieve associated cruise information and discount details.

ParkingZones

Endpoints for retrieving parking zone information. Refactored to use service layer with dependency injection.

APIDescription
GET api/parkingzones?cruise_ID={cruise_ID}&vehicleType_ID={vehicleType_ID}

Returns available parking zones for a specific cruise, optionally filtered by vehicle type and capacity availability.

Cost

Endpoints for calculating booking costs and previews. Refactored to use service layer with dependency injection.

APIDescription
POST api/CostPreview

Calculates and returns a cost summary for a booking including vehicle costs, services, and voucher discounts.

EventSubType

Endpoints for retrieving event sub-type (cruise ship) information for events. Refactored to use service layer with dependency injection.

APIDescription
GET api/EventType/{eventTypeID}/Events?portID={portID}

Returns a list of public-facing event sub-types (cruise ships) for a specific event type (cruise operator), optionally filtered by port.

EventsParking

Endpoints for retrieving event parking information. Refactored to use service layer with dependency injection.

APIDescription
GET api/EventsParking/{eventSubType_ID}/Events

Returns a list of public-facing event parking options for a specific event sub-type (cruise ship).

Services

Endpoints for retrieving service information. Refactored to use service layer with dependency injection.

APIDescription
GET api/Cruise/{cruiseID}/Services

Returns available services for a specific cruise, including service questions and fields.

GET api/Services

Returns all available services grouped by port, including service questions and fields.

CruiseShip

Endpoints for retrieving cruise ship information. Refactored to use service layer with dependency injection.

APIDescription
GET api/CruiseOperator/{cruiseOperatorId}/CruiseShips?portID={portID}

Returns a list of public-facing cruise ships for a specific cruise operator, optionally filtered by port.

Cruises

Endpoints for retrieving cruise information. Refactored to use service layer with dependency injection.

APIDescription
GET api/CruiseShip/{cruiseShip_ID}/Cruises

Returns a list of public-facing cruises for a specific cruise ship, including availability and capacity information.

Contact

Endpoints for contact form submissions. Refactored to use service layer with dependency injection.

APIDescription
POST api/Contact

Submits a contact form message and sends an email notification.

CruiseOperators

Endpoints for retrieving cruise operator information. Refactored to use service layer with dependency injection.

APIDescription
GET api/CruiseOperators

Returns a list of all public-facing cruise operators.

Status

Endpoints for retrieving system status and configuration information. Refactored to use service layer with dependency injection.

APIDescription
GET api/Status

Returns current system status including booking availability, call center hours, and maintenance warnings.

Order

Endpoints for creating and managing parking bookings/orders. Refactored to use service layer with dependency injection for validation checks.

APIDescription
POST api/Order?fullScreen={fullScreen}

Creates or updates a parking booking/order. Validates the booking, processes payments, and initiates payment gateway redirect if required.

PaymentComplete

Endpoints for retrieving order completion and payment confirmation information. Refactored to use service layer with dependency injection.

APIDescription
GET api/PaymentComplete?bookingID={bookingID}&bookingHash={bookingHash}

Returns order success information after payment completion, including order details and confirmation status.

CountryCodes

Endpoints for retrieving country code information. Refactored to use service layer with dependency injection.

APIDescription
GET api/CountryCodes

Returns a list of all available country codes and names.