Dials (parameters)
| Dial | Current | Bounds | Overrides | Updated |
|---|
Chat dials
Ring dial = how long the phone rings before Bonnie takes a name and number · Apology = how often she tells the customer the team is busy · Inactivity = how long a toggled-on CS can go quiet before being toggled off and texted · Idle = a chat silent this long closes on its own
Offers & promotions
An offer is the code a member joins on (?offer=CODE): fee, instant credit, refund window, and the promotion it enrols them in. A promotion is a campaign with its own numbers and dates. Terms lock into a member the moment they join — an edit here reaches future joiners only. Nothing is live until its switch is ON.
OFFERS
| Code | Name | Member pays | Credit back | Refund | Promotion | Joins | Live |
|---|
Member pays the fee once; Credit back is the 100% Membership Rebate returned to their account as travel credit the same day. They do not add.
PROMOTIONS
| Code | Name | $/night | Cap | Total | Enrol ends | Earning ends | Enrolled / Granted | Live |
|---|
Audit history — select a dial
| When | What | Change | Reason |
|---|---|---|---|
| Select a dial to see its history. | |||
Edit dial
Market overrides —
| Market | Season | Value | Window | Status |
|---|
Company calendar (admin)
Days the company is closed, beyond weekends. No staff digests go out on these days, and the CS escalation clock skips them. US federal holidays are pre-loaded — add company days or remove any you work.
| Date | Day | What |
|---|
Kill switch — the ceremony (admin)
The kill is drastic: it stops every member's schedule, not one member's. So the ceremony makes the alarm cheap and the kill hard: 1) sound the all-hands alarm — every admin is emailed, nothing stops · 2) Adestinn AI diagnoses the run and offers the tweezers (pause ONE plan) · 3) the kill arms only when a second admin agrees — or the proposer Breaks the Glass alone, loudly · standing down is one click for any admin, any time.
Costs nothing — raise it on a hunch at 11pm. Nothing stops; everyone is called in.
Company Communications
Everyone the company alerts — employees, advisors, contractors — and what each receives: BTG = Break-the-Glass (instant, texts nag every 5 min until acked · reply anything = got it · admins text STAND DOWN to own it) · Digest = the daily open-bugs block · Emerg = the Emergency Broadcast. A 📵 badge = they texted STOP and must text START to return.
| Person | Phone | Role | Receives |
|---|
Each gets a personal link — they enter their own number and agree. Texts only ever go to ✅ consented people.
To: the whole active directory — pick people above to narrow it
Chats — last 8 hours
On chat now: nobody
| # | Started | Customer | Source | Owner | Last | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Conversation
History
| # | Started | Customer | Source | Ended | Messages |
|---|
Coaching board
Lessons from real chats. No names, ever.
Nothing on the board yet.
Find a member
| Member | Phone | Offer | Joined |
|---|
🔒 ACCOUNT LOCKED
☠ MEMBERSHIP KILLED —
Funds release — killed membership
Member
Email
Phone
Joined
Last sign-in
Offer
Locked terms
Change the member's sign-in email
1) With the member on the phone, text them a code. 2) They read it back. 3) Enter it with the new email. Their old and new addresses both get a notice.
Edit the member's name
Use the name exactly as it appears on their photo ID — hotels check it at check-in.
Change the member's phone
1) Type the new number and text it a code. 2) The member reads the code back. 3) Enter it. The old phone gets a notice text, and the member gets an email.
Charge the card on file
+3.33% Convenience Fee · total: —
Grant travel credit
Amount: — (server-computed — the full Membership Fee paid; no amount is sent from here)
Money
Savings plan
—
Trips (latest 50)
| Ref | HBX ref | Hotel | Dates | Total | Status |
|---|
Activity (latest 20)
| When | Type | Account | Amount |
|---|
Not joined yet
Email
Mobile
Login created
Last sign-in
Waive makes them a member right now — $0, no $250 Membership Rebate, every 5th deposit FREE, the Beta Tester BRR.
Where they stopped
Invite
CommLogs
| # | Subject | Status | Updated |
|---|
Payout exceptions
Loading engine heartbeat…
✓ No payout exceptions — the engine is clean.
| Requested | Member | Type | Amount | Why it flagged |
|---|
Member requested booking changes
✓ No pending change requests.
Bonnie training review
Teacher notes from the classroom land here first. Approve = Bonnie learns it (rides her next reply; every 5 approved notes distill into her lessons). Reject = she never sees it. Admin-only, enforced server-side.
✓ Nothing awaiting review.
Test data (admin)
Seeds ~48 fake members (flagged, @example.com — no emails ever sent to them) with plans, trips, rebates and CommLogs so CS can practice on realistic data. Delete removes ONLY flagged test members — real members and staff are untouchable.
CommLogs
| # | Member | Subject | Status | Created by | Notes | Updated |
|---|
CommLog #
Member
Assigned to
Notes
CommLog
Every member question or request gets a CommLog — assigned to a person, tracked to resolved. Select one on the left, or create one. Assigning someone emails them your note automatically.
Reported Issues
| # | Kind | Title | Source | Status | Age | When |
|---|
Report an Issue
Every bug, request, and “like” from the apps and the external form lands here. Pick one on the left to see the details and screenshot, mark it in-progress, or resolve it with a note — resolving emails the reporter automatically.
📥 Deposit Runs — the daily ACH pull files. Built the business day before, released to Stripe at 12:01 PM Central. BTG takes a run OFF AUTOMATIC — it never cancels it; an admin releases it by hand.
Show
| Pull day | Status | Pulls | Cash total | BTG | Released |
|---|
No runs on file yet — the first pass builds the first report.
Run
💚 5th Free — swapped out of the file, credited after the pulls
| Member | Amount | Why |
|---|
Not qualified — why each due member missed the 5th Free
Exception handling is retired pre-launch — this list is informational.
| Member | Reason | Outcome |
|---|
The file — who gets pulled
| Member | Amount | Schedule | Note |
|---|
Not in the file — and why
| Member | Reason |
|---|
Release results — the actuals
| Member | Amount | Outcome |
|---|
🏦 ACH Withdrawals — the queue that feeds the outbound bank batch
On screen we show the account by its last 4 only. The full routing + account ride in the CSV export — that's the data US Bank needs to build the ACH file.
| # | Member | Amount | Bank name | Type | Routing | Acct | Status | Requested |
|---|
🗄 Version Vault — functions DEPLOY from here (🚀 Deploy & record = live + vaulted in one action) · rollback = Make live on the last good version · Netlify apps: Download + drag to Netlify
Runs the 08:00 snapshot immediately — records anything live that isn't vaulted yet.
Pick files, drag them onto this box, or paste a function's source — artifact and version are read automatically; check them before recording.
Staged pastes join the list below — nothing happens until you click "🚀 Deploy & record" (functions) or "Record only" (Netlify / SQL / already-deployed).
| File | Artifact | Version | Size |
|---|
🚀 pushes each staged FUNCTION live to Supabase and vaults it in one action. Netlify files and SQL always use Record only. If a staged file's header disagrees with its artifact or version, the server refuses — nothing wrong ever reaches production.
| Artifact | Version | Recorded | Size | Note | Status |
|---|
💵 HBX Payable — what any Hotelbeds statement should show for OUR bookings · filter their Agency Reference column on ADM- and reconcile line by line · facts only, Hotelbeds is never contacted from here
Net payable · live bookings
—
Cancellation fees charged
—
Bookings
—
Net cost is what Hotelbeds bills us per booking. Cancelled rows carry no net payable; where a cancellation fee was charged it is shown (a supplier-side fee may apply on penalty cancels). Grouped by check-in month — the order statements usually follow.
| Agency ref | HBX ref | Hotel | Check-in → out | Status | Net cost | Cancel fee |
|---|
🎟 $50 Launch List (Central) — people who asked to be told when we open · the $50 is granted at account creation, not here
Nobody on the list yet.
| Signed up ▼ | Phone | $50 | Consent | Came from | Claimed | Paid | Beta |
|---|
📡 Monitors — every public page and function, checked on a cadence; a failing row re-checks every minute; BTG rows and wave-critical rows in a wave Break the Glass on the first fail
Loading…
Dials (admin). A healthy row re-checks every ok minutes, a failing row every fail minutes; a normal row alarms at threshold consecutive fails. BTG rows — and wave-critical rows while a wave is running — alarm on the FIRST fail. A wave is running for wave window hours after the latest invite went out. Enabled off = the tick checks nothing and sends nothing.
Nothing is monitored yet.
| Status | Name | URL | Type | Wave | Last checked | Last up | Down for |
|---|