POSEIDON CLUB

Hall Live Seat & Lady Board

Server Time {{ timeString }}
💃

ID: {{ currentLady.nickname }} ({{ currentLady.name }}) {{ currentLady.status }}

You are working at {{ currentLady.current_sessions.map(s => s.seat_name).join(', ') }}.

Current status: Available. Click an occupied table on the floor plan to check in.

{{ sess.seat_name }} {{ formatDuration(sess.limit_seconds - sess.duration_seconds) }} {{ formatDuration(sess.limit_seconds - sess.duration_seconds) }} Overtime: {{ formatDuration(1800 + (sess.limit_seconds - sess.duration_seconds)) }}
Remaining Less than 30 mins! Expired! 30-min buffer active.
Floorplan

Active Table Check-In & Ladies

Occupied Tables: {{ occupiedSeatsList.length }}
{{ s.name }} 👤 {{ s.current_customer || s.customer || 'VIP Guest' }}
⏱️ {{ formatDuration(s.duration_seconds) }}
Assigned Ladies {{ (s.ladies && s.ladies.length) || 0 }}
💃 {{ l.nickname || l.name }} ⏳ {{ formatDuration(l.limit_seconds - l.duration_seconds) }} ⚠️ Overtime
No lady assigned.
No tables currently occupied.

Pending Reservations

Pending: {{ pendingReservationsList.length }}
{{ s.name }} 👤 {{ s.current_customer || s.customer || 'VIP Guest' }}
Reserved
Schedule: {{ s.booking_time || 'Today' }}
Introducer: {{ s.introducer }}
📝 {{ s.user_remark }}
No pending reservations found.

{{ type === 'T' ? 'Standard Tables' : type + ' Rooms / Tables' }}

Future Table Bookings

* Note: Upcoming reservations for tomorrow or later dates are sorted by arrival date in ascending order (closest dates on top).

Total Upcoming: {{ futureBookingsList.length }}
{{ item.seat_name }} {{ item.customer }}
#{{ index + 1 }} Closest
Booking Schedule (预订时间)
{{ item.booking_time }}
Introducer: {{ item.introducer }}
{{ item.user_remark }}
No future bookings found for upcoming dates.

SELECT SEAT / ACTION

{{ type === 'T' ? 'Standard Tables' : type + ' Rooms / Tables' }}

{{ selectedSeat.name }}

{{ selectedSeat.type }}
{{ selectedSeat.status }}

Reserve Table

Check In

Calculated Total Pax: {{ (checkInForm.male_count || 0) + (checkInForm.female_count || 0) }} pax

Transfer Seat

{{ selectedSeat.name }}

Edit Pax Details

Calculated Total Pax: {{ (editSessionForm.male_count || 0) + (editSessionForm.female_count || 0) }} pax

💃 {{ currentLady.name }}

ID: {{ currentLady.nickname }}

You are checking in at table [{{ clickedSeat ? clickedSeat.name : '' }}].

Current Table: {{ clickedSeat ? clickedSeat.name : '-' }}
Time Remaining: {{ formatDuration(activeSessionForClickedSeat.limit_seconds - activeSessionForClickedSeat.duration_seconds) }} EXPIRED
⚠️ Shift Expired! Please extend or finish.
Buffer Time Left: {{ formatDuration(1800 + (activeSessionForClickedSeat.limit_seconds - activeSessionForClickedSeat.duration_seconds)) }}
Select Extension Hours

👑 VIP Invitation Card

Guest: {{ activeInviteData.customer }}
Table: {{ activeInviteData.seat }}
Time: {{ activeInviteData.time }}
Introducer: {{ activeInviteData.introducer }}

Edit Reservation

{{ editReserveForm.seat_name }}

Cancel Reservation

Table: {{ deleteReserveForm.seat_name }}
Guest: {{ deleteReserveForm.customer }}