RentalTideRentalTideDocs
Dashboard

Slips API

Manage marina slips, reservations, contracts, and tenant access

Endpoints for managing marina slip inventory, reservations, contracts, waitlists, guest access, subscriptions, and tenant portal operations.

Slips

Get all slips for a location

GET /slips

Parameters

NameInTypeRequiredDescription
locationIdquerystringYes
statusquerystringNo
unitTypequerystringNo
sectionquerystringNo

Create a new slip

POST /slips

Creates a new slip. Requires an active slip subscription. If adding this slip exceeds the current quota, additional slips ($10/slip/month) will be automatically billed.


Get available slips matching criteria

GET /slips/availability


Get distinct sections for a location

GET /slips/sections


Get slip status counts for a location

GET /slips/stats


Search slips by unit number or name

GET /slips/search


Bulk create slips with a prefix and number range

POST /slips/bulk-create


Bulk update multiple slips

PUT /slips/bulk


Rename a section across all slips

PUT /slips/sections/rename


Get sections with slip counts for a location

GET /slips/sections/counts


Delete a section (clear section from all slips)

DELETE /slips/sections/{name}


Get a single slip by ID

GET /slips/{id}


Update a slip

PUT /slips/{id}


Delete a slip (soft delete by setting status to out_of_service)

DELETE /slips/{id}


Update slip status

PATCH /slips/{id}/status


Slip Reservations

Get reservations with filters

GET /slip-reservations


Create a new reservation

POST /slip-reservations


Get reservation statistics

GET /slip-reservations/stats


Get reservations due for billing

GET /slip-reservations/due-billing


Get reservations expiring soon

GET /slip-reservations/expiring


Check if a unit is available for dates

GET /slip-reservations/check-availability


Get reservation by reservation number

GET /slip-reservations/by-number/{reservationNumber}


Get a single reservation by ID

GET /slip-reservations/{id}


Update a reservation

PUT /slip-reservations/{id}


Permanently delete a cancelled reservation and all associated data

DELETE /slip-reservations/{id}


Recalculate totalAmount based on current pricing fields

POST /slip-reservations/{id}/recalculate-total


Confirm a pending reservation

POST /slip-reservations/{id}/confirm


Send bill to customer with hold timer

POST /slip-reservations/{id}/send-bill


Check in a reservation

POST /slip-reservations/{id}/check-in


Check out a reservation

POST /slip-reservations/{id}/check-out


Cancel a reservation

POST /slip-reservations/{id}/cancel


Transfer reservation to a different unit

POST /slip-reservations/{id}/transfer


Mark contract as signed

POST /slip-reservations/{id}/contract-signed


Send a message to slip reservation customer (staff)

POST /slip-reservations/{id}/messages


Get messages for a slip reservation (staff)

GET /slip-reservations/{id}/messages


Record a payment for a slip reservation

POST /slip-reservations/{id}/record-payment


Get payment history for a slip reservation

GET /slip-reservations/{id}/payments


Charge a saved credit card for a slip reservation

POST /slip-reservations/{id}/charge-card


Record a terminal or tap-to-pay payment for a slip reservation

POST /slip-reservations/{id}/terminal-charge


Recognize deferred revenue for a slip reservation

POST /slip-reservations/{id}/recognize-revenue


Refund a slip reservation payment

POST /slip-reservations/{id}/refund


Slip Contracts

Get contract templates for a location

GET /slip-contracts/templates


Create a new contract template

POST /slip-contracts/templates


Get available template variables

GET /slip-contracts/templates/variables


Get a specific contract template

GET /slip-contracts/templates/{id}


Update a contract template

PUT /slip-contracts/templates/{id}


Delete a contract template

DELETE /slip-contracts/templates/{id}


Duplicate a contract template (including defaults)

POST /slip-contracts/templates/{id}/duplicate


Get all contracts for a reservation

GET /slip-contracts/reservation/{reservationId}


Get reservations with pending contracts

GET /slip-contracts/pending


Get reservations with signed contracts

GET /slip-contracts/signed


Get contract statistics

GET /slip-contracts/stats


Generate a contract for a reservation

POST /slip-contracts/generate


Send contract for signature

POST /slip-contracts/send


Mark contract as signed

POST /slip-contracts/sign


Resend contract for signature

POST /slip-contracts/resend


Void a contract

POST /slip-contracts/void


Regenerate PDF for a signed contract

POST /slip-contracts/regenerate-pdf


Slip Waitlist

Get waitlist entries for a location

GET /slips/waitlist

Parameters

NameInTypeRequiredDescription
locationIdquerystringYes
statusquerystringNo

Add to waitlist

POST /slips/waitlist


Get waitlist statistics for a location

GET /slips/waitlist/stats


Get waitlist entries for a specific renter

GET /slips/waitlist/renter/{renterId}


Get a single waitlist entry

GET /slips/waitlist/{id}


Update a waitlist entry

PUT /slips/waitlist/{id}


Delete a waitlist entry

DELETE /slips/waitlist/{id}


Make an offer to a waitlist entry

POST /slips/waitlist/{id}/offer


Accept an offer

POST /slips/waitlist/{id}/accept


Decline an offer

POST /slips/waitlist/{id}/decline


Cancel a waitlist entry

POST /slips/waitlist/{id}/cancel


Find matching waitlist entries for an available unit

GET /slips/waitlist/match/{unitId}


Slip Guest Access

Get guest access entries for a location

GET /slips/guest-access

Parameters

NameInTypeRequiredDescription
locationIdquerystringYes
reservationIdquerystringNo
statusquerystringNo

Create a new guest access pass

POST /slips/guest-access


Get guest access statistics

GET /slips/guest-access/stats


Verify a guest access code

GET /slips/guest-access/verify/{accessCode}


Get a single guest access entry

GET /slips/guest-access/{id}


Update a guest access entry

PUT /slips/guest-access/{id}


Delete a guest access entry

DELETE /slips/guest-access/{id}


Record a guest check-in

POST /slips/guest-access/{id}/check-in


Mark guest ID as verified

POST /slips/guest-access/{id}/verify-id


Revoke guest access

POST /slips/guest-access/{id}/revoke


Expire old guest passes for a location

POST /slips/guest-access/expire


Slip Settings

Get slip booking settings for a location

GET /slip-settings/{locationId}

Returns the slip booking configuration with defaults merged


Update slip booking settings for a location

PUT /slip-settings/{locationId}


Get available contract templates for a location

GET /slip-settings/{locationId}/templates


Reset slip booking settings to defaults

POST /slip-settings/{locationId}/reset


Slip Subscription

Get current slip subscription status

GET /slip-subscription/status


Create Stripe checkout session for slip subscription

POST /slip-subscription/create-checkout


Add more slips to existing subscription (auto-bill per slip)

POST /slip-subscription/add-slips


Create Stripe customer portal session for subscription management

POST /slip-subscription/portal


Cancel slip subscription at end of billing period

POST /slip-subscription/cancel


Slip Customer Portal

Get current session info

GET /slip-portal/session


Get customer's reservations

GET /slip-portal/reservations


Get reservation details

GET /slip-portal/reservations/:id


Update vessel information for a reservation

PUT /slip-portal/reservations/:id/vessel


Get contract for signing

GET /slip-portal/reservations/:id/contract


Sign contract

POST /slip-portal/reservations/:id/contract/sign


Get document requirements and submitted documents

GET /slip-portal/reservations/:id/documents


Upload a document

POST /slip-portal/reservations/:id/documents


Get message thread

GET /slip-portal/reservations/:id/messages


Send a message

POST /slip-portal/reservations/:id/messages


Upload a document file to S3

POST /slip-portal/upload


Get saved payment methods

GET /slip-portal/payment-methods


Create a SetupIntent to add a new payment method

POST /slip-portal/setup-intent


Pay for a reservation

POST /slip-portal/reservations/:id/pay


Create a PaymentIntent for a reservation (for Stripe Elements)

POST /slip-portal/reservations/:id/create-payment-intent


Get guest access list for a reservation

GET /slip-portal/reservations/:id/guest-access


Add a guest access pass

POST /slip-portal/reservations/:id/guest-access


Revoke guest access

DELETE /slip-portal/reservations/:id/guest-access/:guestId


Get haul services for a reservation

GET /slip-portal/reservations/:id/haul-services


Request a haul service

POST /slip-portal/reservations/:id/haul-services


Cancel a haul service request

POST /slip-portal/reservations/:id/haul-services/:serviceId/cancel


Confirm a scheduled haul service

POST /slip-portal/reservations/:id/haul-services/:serviceId/confirm


Public Slips

Get all active maps with pins for a location

GET /public/slips/maps/{locationId}


Get slips as a list (for list view)

GET /public/slips/list/{locationId}


Get single slip details

GET /public/slips/{slipId}


Check slip availability for date range

GET /public/slips/{slipId}/availability


Join the waitlist for a slip

POST /public/slips/{slipId}/waitlist


Calculate price for a date range

POST /public/slips/calculate-price


Create a slip reservation (initiates checkout flow)

POST /public/slips/book

Creates a reservation using location-level booking settings for payment, approval, and documents


Get document requirements and submission status

GET /public/slips/reservations/{reservationId}/documents


Submit a document for a reservation

POST /public/slips/reservations/{reservationId}/documents

Accepts document metadata (actual file upload handled separately via S3 presigned URL)


Get location info for slip booking widget

GET /public/slips/location/{locationId}

Returns location details with slip booking configuration


Was this page helpful?
Need help? Contact Support.See what’s new. Check out changelog.Questions? Book a video chat.
Ask AI
Responses are generated using AI and may contain mistakes.
Ask questions about RentalTide and get help with your integration.