πŸ†•

Updates

What changed in your TRAK system

🏠 Home

Update log

A running record of upgrades to the TRAK app, newest first.

🟒 Live deploy: loading...
AI Dashboard homepage, Lark sync & security lockdown Dashboard
  • New AI Dashboard homepage β€” replaces the old landing page with daily-updated cards: scored Sales Opportunities (repeat inquiries, quotation stage, follow-up timing, gone-quiet leads), Finance Warnings (45-day/35-day payment deadlines), and Follow-Ups due today or overdue β€” all computed live from your data, no AI subscription or API cost involved.
  • Payments moved from the old index.html address to its own payments.html β€” Dashboard is now the homepage, Payments got a permanent tab of its own. Every internal link (Notes/Pipeline repeat-client lookups, P.Invoice's "Save to Payments") was updated to match, so nothing broke.
  • Added a daily Lark Base sync β€” your Leads and Clients data now mirrors into a Lark Base every morning, so Claude (or your team) can read live CRM data inside Lark without needing an API key or touching Supabase directly.
  • Security fix: closed a gap where clients, route_templates, it_areas, itinerary_templates, and obsidian_chunks (your Brain/second-brain vault data) could all be read directly by anyone holding the site's public key, completely bypassing login. All five now require a signed-in session. The Brain page itself also now requires login β€” it previously had none at all.
  • Redesigned the Monthly View table on Payments to match the main table's look β€” consolidated three separate deposit columns into one payment progress bar, added colour-coded deal-month pills and travel countdowns, and added the Tour Type column that was missing.
P.Invoice format accuracy overhaul P.Invoice
  • Price Excludes list now matches the company's official 12-item template exactly, including the peak-season surcharge clause (New Year/Japan holidays: +15,000 yen/day) that was previously missing.
  • Payment terms now follow the 4 approved templates correctly: 20/30/50 (90+ days out), 50/50 (45–89 days, was wrongly 30/70), full balance due (under 45 days), and a new flight+trip split with its own Flight Deposit line when a flight is sold together with the package.
  • Flight Service Charges can now be entered as the standard "RM150/PAX – N PAX" line item, not just Waived or Included.
  • Added optional Child Price per Pax (separate from adult price) and Children's Ages fields, both reflected in the generated output.
  • Added a Tour Title selector (Private Customised / Private Package Tour / All In Tour / One Day Tour) instead of always printing "Private Customised".
  • Added a Refer Itinerary Form field (e.g. JPI-005430-IF) β€” that line no longer always prints a dash.
  • Added a Day Remark field per itinerary day (Section 1) β€” shows up in each day's REMARK line instead of always "-".
  • Added a separate Transfer Vehicle field alongside the existing Car Type (now "Daily Tour Vehicle") β€” airport/station transfer days (with luggage) can use a bigger vehicle than day-trip days automatically, e.g. 18-seater Coaster for transfers + 14-seater Hiace for daily tours. Plus a per-day Vehicle Override grid for one-off exceptions.
  • Added quick hotel star-rating presets (3β˜… / 3/4β˜… / 4β˜… / 4/5β˜… / 5β˜…) next to the star field β€” still fully free-typeable for anything else.
  • Hotel names now get a "BY JOY" tag automatically on every day when the hotel is arranged by us, not just the placeholder text.
  • Capitalised "GUEST OWN ARRANGEMENTS" for consistency with the rest of the output.
  • Removed the standalone PDF-Generate Function (per-day photo upload) β€” replaced by a new β†’ Quotation button that sends the client name, destination, pax, price, and the full itinerary (with correct day types and per-day vehicles) straight to the Quotation Builder page, where photos can be added and a branded PDF or image produced for the client.
  • Smaller wording fixes to match the fixed company format: Address now lists before Email, "TOUR PACKAGE TOUR" label, two-line bilingual headers for Price Includes/Excludes, "TO BE ADVISE" placeholders (with batch labels for multi-flight bookings), Car line now states with/without tour guide, Guest List defaults to "TO BE ADVISE".
  • Pipeline follow-up reminders: cards with a scheduled follow-up date (e.g. "client said check back in a month") no longer also get the generic "days sitting here" nag badge β€” the date is now the single source of truth. Saving a follow-up date more than 1 month out auto-parks the card in On Hold instead of cluttering Follow Up, and it still fires the Lark due-today/overdue alert on its scheduled date regardless of column.
  • Added Mixed Pricing tiers β€” for a group split across different rates (e.g. 4 pax twin-sharing + 2 pax single-room supplement), add each as its own tier (label, pax, price/pax) instead of one flat rate. Replaces the Adult/Child pricing when used; shows a warning if the tier pax total doesn't match the trip's Adults+Children count.
  • Notes page: the Charter cost breakdown now lists the lump sum first, then the per-pax split below it β€” each with its own -15% figure alongside, instead of only showing one shared discount under the per-pax line.
  • Added a πŸ’° Quotation Sent (90%) status checkbox to Notes β€” a near-close signal for clients who've received the official quotation, sitting between Interested and Confirmed. Comes with its own filter pill and card badge.
  • Added a Quotation Generator to Notes β€” builds a copy-paste WhatsApp-style quote (day-by-day itinerary, price/pax, standard inclusions checklist, disclaimers) straight from the note's parsed itinerary and pax, with Price/Hotel Star/Onsen as the only inputs needed. Also fixed the itinerary parser to capture the attractions line below each day (was being silently dropped) and to correctly detect transfer/round-trip day types (was defaulting to "charter" due to a detection-order bug).
  • Payments page fix: the 1st/2nd/Balance deposit buttons now correctly stay highlighted green after saving and reopening a client β€” was a floating-point rounding bug (e.g. 16548Γ—0.2 computes as 3309.6000000000004, not exactly 3309.60) that made an exact-match payment compare as "not quite enough" once reloaded from a clean saved value.
  • P.Invoice: added F.O.C. Children (below 6, sharing bed) β€” set how many of the total children travel free, and they're excluded from the price entirely and called out on their own line, instead of being charged the child rate.
One-click repeat client lookup Notes / Pipeline
  • The πŸ” repeat-client banner in Notes is now clickable β€” "πŸ“‹ 已成亀" jumps straight to that client's record in Payments, and "πŸ“ ε·²ζœ‰ note" opens the existing note.
  • Added a πŸ” link on Pipeline cards with a phone number, opening that client's Payments history.
  • Payments page now supports deep links (index.html?q=phone) and matches phone numbers by digits only, so formatting differences (dashes, spaces, missing country code) no longer cause a missed match.
  • Confirmed pipeline cards now show a 🧾 invoice number badge, auto-matched by phone number against Payments β€” click it to open that client's record.
  • The Notes repeat-client banner now also shows payment status (βœ… Fully Paid / 🟑 Partial / πŸ”΄ Unpaid) and trip details (tour type + destination/notes) from their previous invoice, not just the invoice number.
Nationwide route expansion Itinerary
  • Added 4 new regions to the itinerary system: 名叀屋 Nagoya (中部), 冲绳 Okinawa, ε››ε›½ Shikoku, δΈœεŒ— Tohoku.
  • 48 new charter and transfer routes added, bringing the library to 65 routes across 8 regions.
  • New region filter tabs in the Itinerary Library and Itinerary Generator.
  • Routes follow the 8-base rule: every trip starts and returns to one of 5 hub cities (Osaka, Tokyo, Nagoya, Sapporo, Fukuoka) or 3 fly-in bases (Naha, Takamatsu, Sendai).
  • Added this Updates page.
  • Removed the unused Route Builder from the P.Invoice itinerary input (Text Paste and Table Input stay).
Mobile fixes and P.Invoice rename
  • Fixed the mobile navigation dropdown.
  • Improved the itinerary generator output.
  • Renamed Proforma Invoice to P.Invoice.
Notes navigation
  • Restored the flat nav bar with a Notes hover dropdown across all pages.
  • Note card chips colour-coded by category; larger note cards.
Notes and per-day trip details
  • Colour-coded note chips by pax size, vehicle type, and area.
  • Added the 倚人 filter pill (shows notes with 6+ pax).
  • Per-day meal selection (Lunch, Hotel Dinner, Dinner) with collapsible pickers.
  • Per-day hotel name inputs with a collapse toggle.
Integrations and new pages
  • Telegram payment reminders and a Lark button.
  • Added the Other Countries notes page.
Launch
  • First version of the TRAK app.
TRAK by Sintat Tracker