Staging only — non-production preview. Provider operations, payout, and production remain gated.

Scene room

Truckee 2 nights

Your next step

Use this room to join, hold a spot, confirm, message the group, and leave if needed. Payment can be part of confirmation for priced scenes; payout readiness is only a later check, not a payout.

Runtime stateJoinableRequest interest
Request interest
Free to join

Step 1

Ask to join

Send your interest

Step 2

Join the room

Become a participant

Step 3

Hold a spot

Reserve capacity

Step 4

Confirm

Pay only when the scene is priced

Room workflow

Follow the room from access request to confirmation, then use the member thread once server authority recognizes your account for this scene.

Session: not signed in
Sign in required: This page can show the public scene, but your personal intent, slot, and confirmation receipt require a signed-in session. Sign in, then return to the room to request a place.

Scene coordination

Coordination board

A room-level board for the four product lanes members expect: participant state, slot capacity, confirmation, and messages.

Session read: signed-out
Your next stepSign inOpen the session gate before this room can show your private participant state.session required
Organizer axis: noParticipant row: noMode: noneReason: explicit_organizer_participation_required
Room accessSign-in scopedPrivate participant and confirmation facts are hidden until sign-in.
CapacitySign in to see availabilitySlot grid projection is not available for this room.
Confirmationnot-confirmedRuntime is open; controls below still decide through server authority.
Projectionsimulation-onlyThis board presents existing reads only; it does not advance the chain.

Coordination checklist

Session-scoped progress only; server transitions stay gated.

Sessionsign in needednext
Scene relationask to joinnext
Slotchoose or hold a slotnext
Confirmationnot-confirmednext
ParticipantsSession-safe list
Privacy boundaryThis list shows your participant position plus a locked co-member placeholder. It does not expose another member's profile, identity, or slot binding.
Yousession required
sign in neededAsk to join before a participant row exists. Observer is reserved for future read-only room/chat access.
Other membersidentity hidden
private until joinedRoster names stay hidden in this source-only slice; occupancy is shown through slots.
Confirmation flowServer-gated order
Step 1Join requestsign in firstInterest creates the server-owned participant path; the client cannot assert it.Use join request
Step 2Slot holdchoose a slotHolding depends on your waiting participant and an open slot.Use confirmation controls
Step 3Confirmationnot-confirmedConfirmation remains server-gated; payment evidence and payout stay separate.Request confirmation

Canonical chain position

Intent gate only

Scene state: publishedRuntime locked: noMutation boundary: intent-only
Runtime stateJoinableRequest interest
Participantsign-in-requiredSign in to see your participant state for this scene.readiness: allowedallowed
Slotnot-boundSign in to see your slot binding.readiness: allowedallowed
Lock / intentintent: sign-in-required · lock: sign-in-requiredSign in to see your intent and hold.readiness: allowedallowed
Confirmationnot-confirmedSign in to see your confirmation state.readiness: allowedallowed
Live slot gridAvailability is visible after you sign in
OpenHeldOccupiedClosed

Availability is visible after you sign in

Read-only projection of runtime truth. Observed states come from the scene runtime snapshot for the current signed-in session; readiness comes from the local runtime chain projection. Mode: simulation-only. No participant, slot, lock, or confirmation is mutated here, and no payment, payout, or production is implied. The live slot grid is a point-in-time, public-safe view of slot occupancy only — no other participant's identity or profile is exposed. Real-time updates and a full multi-participant roster are still Planned.

S2 coordination readiness

Coordination consequences are visible, not executable.

This room can show read-only readiness for announcements, viewer grants, no-show review, audit receipts, and notification consumers. It does not create rows, persist events, or send notifications.

Readiness statussigned_out
Claim ceilingread_only_consequence_surface
Mutation boundarynone
Write surfacesblocked
Announcement readinessblocked_needs_owner_gate · session_required · schema_required
Viewer grant readinessblocked_needs_owner_gate · session_required · owner_gate_required
No-show consequence readinessblocked_needs_owner_gate · session_required · money_case_required
Audit receipt readinessblocked_needs_schema · schema_required_before_persistence · schema_required
Notification consumer readinessblocked_needs_notification_provider · notification_provider_not_mounted · notification_provider_required

S2.1 keeps writes blocked: no announcement row, viewer-grant row, no-show case, audit event, notification, refund, settlement, or payout is created here.

Join request

Request to join

Records interest only. The next steps - participant, slot hold, confirmation, value/ledger, settlement, distribution, and payout execution - remain separate server-controlled facts.

Interest result: idleSign in before requesting to join. The browser cannot create identity or participant truth on its own.

Confirmation and exit

Confirmation walks the server chain in order. Leaving is limited to non-confirmed places in the chain; confirmed-participation exit is not available in this build so value and ledger facts stay consistent.

scene chain

Request runtime confirmation

Uses server authority to move in order: interest, participant, slot hold, payment evidence when required, ledger check, then confirmation. Settlement, distribution, payout execution, and analytics remain separate downstream facts.

Server gated
Runtime result: idleSign in before requesting confirmation. Identity and membership are server-derived.

scene back half

Complete, cancel, or exit safely

Finishes the single-user scene loop with server-derived authority. Complete and cancel are organizer-only. Confirmed exit is member-owned and only works when no value, ledger, refund, settlement, payout, or provider case is attached.

Back-half result: idleReady for a bounded back-half action. Money-adjacent scenes stop at case review instead of moving funds or pretending a refund exists.

Archive is shown as a disabled projection-only boundary because the current schema has no durable archived lifecycle state.

leave scene

Leave this scene

Reverses only your current non-confirmed place in the chain. It may withdraw interest, cancel a waiting participant spot, or reopen a held slot. It does not delete records and does not touch payment, ledger, settlement, distribution, or payout execution.

Leave result: idleSign in before leaving. The server must identify the active intent, participant, or hold.

Scene messages

Scene messages

Member-scoped thread for the scene owner and participating members. Message identity is server-owned. This does not create payment, ledger, settlement, distribution, payout, moderation, or realtime facts.

No messages are visible for this account.

Sign in to message this scene.

Message result: idleSign in to message this scene.