H1TripJoin
Status: schema-backed booking-intent layer for Trips.
TripJoin already exists in prisma/schema.prisma.
This note makes the contract explicit for the app and docs layer.
H2Role
TripJoin captures the commercial intent between a Trip and a user or contact before the flow becomes an Offer or an Order.
H2Current schema shape
tripIduserIdcontactIdstatuspaxhotelStandardhotelModenumDoubleRoomsnumSingleRoomsnotespricingSnapshottotalServiceshotelCostsingleSupplementtotalPerPersontotalGroupdepositDueofferIdorderId
H2Behavior
- TripJoin is a snapshot.
- TripJoin is not Offer truth.
- TripJoin is not Order truth.
- TripJoin freezes the join-time pricing and rooming intent.
- Downstream Offer and Order can reference it, but they should not redefine it.
H2Flow
Trip -> TripJoin -> Offer -> Order
H2Practical use
- private trip join requests
- featured trip booking intent
- shared trip participant join flow
- owner adding participants and previewing group pricing
H2Folder note
This file should remain the canonical reference for TripJoin in the Trips folder.