Everything below reflects what's live in the app today. Sections are grouped by topic rather than numbered β jump to whichever one you need from the list on the left.
Start here
Getting started
Sign in, then use the left sidebar for everything β it's the only navigation surface in the app.
Signing in
Use the Sign in with Google button on the login screen. If Google Sign-In isn't available to you, click ΔΔng nhαΊp bαΊ±ng mαΊt khαΊ©u (admin) to reveal a password field instead β this fallback exists for accounts an admin hasn't added to Google Sign-In yet.
The sidebar
Click the β° icon (top-left) to expand or collapse the sidebar. It starts collapsed by default. All four working tabs β Gantt Schedule, Dashboard, Launch Schedule, LAM Schedule β live here, along with a Dealer View link and, for Planners, a Setting section (Users, Import Excel).
Open in new Tab
A toggle at the bottom of the sidebar. Turn it on and clicking any sidebar item opens that tab in a fresh browser tab instead of switching in place β handy for keeping the Gantt open in one tab while checking the Dashboard in another. It's a personal preference remembered on your device only.
Brand / Factory toggles
Top of the screen β filter everything to Seawind or Corsair, and to the VN or Turkey factory, or show All of either.
Help
The β Help button (top-right, next to your account chip) opens this page in a new tab, any time.
Reference
Roles & permissions
One account, one role β set by a Planner under Users (sidebar β Setting). This is a summary; the full field-by-field breakdown is in the Reference section further down.
| Role | Main Gantt data | Edit boats | Contract/payment fields | Snapshots | Admin (Users/Import/Holidays) | LAM Schedule tab |
|---|---|---|---|---|---|---|
| Planner | Live | β Full | β* | Save + browse | β | β Edit |
| Viewer | Latest snapshot | β | β | Browse only | β | Latest snapshot |
| BOD_CS | Live | Partial* | β | β | β | β |
| Production | Latest snapshot | β | Hidden | Browse only | β | Latest snapshot |
| LAM | Latest snapshot | Hidden fin. cols | Hidden | Browse only | β | β Live edit |
* Contract Date and the Contract/Deposit Received checkboxes (Edit Settings modal) are edited by BOD_CS only β not even Planner can touch those particular fields. Everything else in that modal, Planner can edit and BOD_CS cannot. Separately, the whole π° Sale Info cluster on the Dashboard (Ctr SOC/Ctr Compl, Paid/Owing/Next Pmt, Retail/Commission/W-S Value, Sale Notes) is also BOD_CS-only. See Edit Settings modal fields.
"Live" vs "Latest Saved" is the single biggest thing to understand. Planner and BOD_CS always see the current, real-time schedule. Viewer, Production and LAM instead default to whatever a Planner most recently saved as a named Snapshot β never the live data β and can browse older snapshots from there. This is independent of which columns/fields a role can edit: even where a control looks clickable, these three roles can never submit a change on the main Gantt.
Dealer accounts (Dealer SW / Dealer CO) never see this screen at all β signing in takes them straight to a separate, much simpler Dealer View page.
Production Schedule
Editing a boatPlannerBOD_CS (partial)
Most editing is Planner-only; BOD_CS has a narrow, specific slice.
Rescheduling a stage (Planner)
- Drag the right edge of a colored stage bar (LAM, A1βA4, FO1βFO4, Final) to resize it β later stages on that boat shift to match automatically.
- Drag the bar itself, or the left-edge handle, to shift the boat's entire remaining schedule at once.
- Click a bar to open a small popup and type an exact new length in weeks instead of dragging.
Inline dropdowns
- WO Status β WORKING / WO DONE. Planner only.
- Signed Ctr β a simple β checkmark once the contract is signed. Planner and BOD_CS.
- Latest Var β the current revision, V1 through V20. Planner and BOD_CS.
The Edit Settings modal
Double-click or right-click any boat row to open its full detail editor. What you can actually change inside depends on your role β see Edit Settings modal fields for the exact list. In short: BOD_CS can only touch Contract Date and the Contract/Deposit Received checkboxes here (Paid to Date/Amount Owing/Next Payment/Ctr SOC/Ctr Compl moved to π° Sale Info on the Dashboard, 2026-09-15). Planner can edit everything else in the modal (customer, engine, voltage, dealer, all WC stage dates, etc.) but β deliberately β not Contract Date or the two checkboxes.
Right-clicking a row also opens a context menu (Copy, Notes, Progress, Done, Delete) β Planner only. BOD_CS's right-click only ever opens the Edit Settings modal itself; the other menu items are hidden since they wouldn't do anything for that role.
Notes, progress & DONE
The π note-count badge, the % progress badge, and the DONE? button are all visible to everyone, but only a Planner can click into them to add a note, update progress, or mark a boat complete.
Production Schedule
The "Unsold" indicator
Flags boats already in production with no buyer lined up yet.
A boat counts as Unsold once its LAM stage date has already passed (production has started) while both Dealer and Customer are still blank. Such boats show a red Unsold badge in place of the Dealer name, on both the Gantt and the Dashboard. Click the π© Unsold toolbar button to filter either screen down to just these boats β the Dashboard also has a dedicated Unsold Value KPI card showing the total contract value tied up in unsold boats, always visible regardless of the filter.
Production Schedule
π° Sale InfoBOD_CS edits
A dedicated cluster of sale/commission fields on the Dashboard β added 2026-09-15.
Every row on the Dashboard (except for Production/LAM, who don't see financials at all) has a π° icon on the right β faint/grey when a boat has no Sale Info yet, bold/highlighted once anything is filled in. Click it to open the Sale Info modal, a blue-bordered box holding:
- Ctr SOC and Ctr Compl β the same baseline dates used by the Contract Baseline overlay on the main Gantt. These used to be set once on import and never touched again; now BOD_CS can edit them here, and the overlay reflects the new value immediately.
- Retail Value, Commission, W/S Value β new sale-tracking dollar figures, not sourced from anywhere else in the app.
- Paid To Date, Owing Bal, Next Pmt Date, Next Pmt Amt β moved here from the Edit Settings modal (still BOD_CS-only, same underlying data).
- Sale Notes β a small π-style icon + count, click to open a nested notes list scoped just to this boat's sale info (separate from the general π Notes feature on the Gantt).
All dollar fields show a thousand-separator and 2 decimal places (e.g. $250,000.50). Date fields are picked from a calendar β unlike the WC stage dates elsewhere in the app, these accept any day, not just Saturdays β and display as DD/MM/YYYY.
Planner and Viewer can open the same modal to view it, fully read-only; Production/LAM never see the π° icon at all.
Same 8 value fields are also editable directly on the main Gantt, grouped together right after Ctr Compl in this order: Ctr SOC β Ctr Compl β Retail $ β Commission β W/S $ β Paid β Owing β Next Pmt (due date) β Amt Next (payment). Next Pmt's date and amount are two separate columns here (one combined cell in the modal). A π Sale Notes icon sits right after, opening the same nested notes panel as inside this modal. BOD_CS sees small inline inputs/date-pickers on the Gantt instead of plain text β it's the exact same underlying data either way, so editing on the Gantt or through this modal always stays in sync; use whichever is more convenient in the moment.
| Field | Source | Edit |
|---|---|---|
| Ctr SOC / Ctr Compl | Reused β same data as the Gantt's baseline columns | BOD_CS |
| Paid To Date / Owing Bal / Next Pmt Date / Next Pmt Amt | Reused β moved here from the Edit Settings modal | BOD_CS |
| Retail Value / Commission / W/S Value | New β not stored anywhere else in the app | BOD_CS |
| Sale Notes | New β separate sheet/thread, styled like but independent of the general Notes feature | BOD_CS |
Upload Sale Info (bulk, by SC#)
Sidebar β Dashboard toolbar β β¬ Upload Sale Info (BOD_CS only). Upload an Excel file with a SC# column plus the 8 Sale Info value columns (Sale Notes isn't uploadable in bulk β add those individually per boat). This is a full replace, not a merge: every matched SC# gets all 8 fields overwritten exactly as given, including blanking a field the file leaves empty. A summary after upload shows how many SC#s were updated and lists any that didn't match a boat.
Production Schedule
SnapshotsPlanner saves
A snapshot is a named, permanent, point-in-time copy of the schedule. It's how Viewer/Production/LAM see a stable version instead of a constantly-changing live view.
Saving a new version (Planner)
- Click πΈ Snapshot in the toolbar.
- Type a Name (required) and an optional Description.
- Click Save. This becomes the new "Latest Saved" version everyone else sees.
From the same modal, a Planner can also View any older snapshot read-only, or delete one with the β button.
Browsing versions (Viewer / Production / LAM)
You always land on the most recent snapshot, labeled Latest Saved (π) in a banner at the top. Click π Versions in that banner to pick an older, explicitly-named snapshot β while viewing one, a π Back to Latest Saved button appears to return. Filtering, sorting, column visibility, Week/Day view and exports all still work normally inside a snapshot β only editing is blocked.
Launch Schedule and LAM Schedule each keep their own, completely independent snapshot history β saving one doesn't affect the others.
Production Schedule
HolidaysPlanner
Click π Holidays to add a shutdown period: pick a Start (Sunday) and End (Saturday) date and a label, or edit/delete an existing entry. Marked weeks render as a green-striped "Holiday" band across every boat's timeline β this is a visual/scheduling reference only, it does not block dragging a stage onto those dates if overtime work happens anyway.
Production Schedule
Import ExcelPlanner
Sidebar β Setting β β¬ Import Excel. Upload the Production Plan Excel file (any sheet containing "WC LAM" and "CUSTOMER PO" columns is auto-detected) β expected columns include SO Number, Customer PO, Model, Engine/Voltage, Dealer, Buyer, Date Due, Contract SOC/Completion, Launch Date, and the ten WC stage dates. The app shows a preview of the parsed rows before you confirm.
Import is an upsert, matched by Customer PO: existing boats get updated, new ones get created β nothing is ever deleted by an import.
Production Schedule
Add BoatPlanner
Click + Add Boat for boats not sourced from ERP. Fill in SC# and Model (required), plus SO#, Brand, Factory, Prod Line, Workers, Contract Date, Approved Completion Date, Date Due, Dealer, Buyer, and a Start LAM date (auto-aligned to the app's Saturday-anchored week). Right-click any existing boat β Copy pre-fills this same form from it (minus SC#/SO#) as a shortcut for near-duplicate entries.
Production Schedule
UsersPlanner
Sidebar β Setting β π₯ Users. Add someone by email and role (Planner, Viewer, BOD/CS, Production, LAM, Dealer SW, Dealer CO); role and the Active toggle are editable inline any time, and a π button removes an account entirely. Dealer roles additionally need a Dealer Name that exactly matches the DEALER value used on boats β that's how a dealer login gets scoped to only their own boats.
Production Schedule
Exporting
β¬ Excel produces a plain flat data spreadsheet β one row per currently-filtered boat, every field as a column. β¬ Gantt XLS instead reproduces the visual chart exactly as displayed β frozen columns plus the colored week/day timeline. Both are available to every role, and both automatically omit Paid/Owing/Contract Date/Next Pmt for Production/LAM, matching what those roles see on screen.
Other tabs
Dashboard
KPI cards across the top (Total Boats, On Track, At Risk, Not Started, Contract Value, Hours Efficiency, and β when applicable β Unsold Value), followed by a sortable table: one row per boat with Status, Forecast Finish, "vs Contract"/"vs Approved" delta badges, and the same financial columns as the main Gantt. Use the free-text filter box or the shared Brand/Factory toggles to narrow it down; click π© Unsold to see only unsold boats. The last column, π°, opens each boat's Sale Info β hidden for Production/LAM.
Other tabs
Launch SchedulePlanner edits
A day-by-day grid for planning what happens around each boat's launch, independent of the main production timeline.
Rows are boats with a Launch Date set; columns are individual days. A Planner clicks a day to type a short activity (e.g. "Sea Trial") β the app auto-colors each distinct activity consistently. Multi-day tasks appear as one bar: drag its body to move it, its right edge to resize (pushing later tasks on that row), or a left-edge handle on the first block to shift the whole boat's schedule at once. A per-boat Copy tool duplicates one boat's whole schedule onto another; a per-boat Completed date plus a "Hide Completed" toggle round it out.
Import Excel here expects a differently-shaped file (a calendar sheet named "Launch scheduleβ¦", one column per boat) and is a full overwrite per boat/date, unlike the upsert behavior on the main Gantt import. Snapshots work the same way as the main Gantt, with their own independent history.
Other tabs
LAM ScheduleLAM + Planner edit
Day-by-day scheduling for the Lamination department, tracked independently of the main production timeline.
Boats are grouped by Model; each boat gets one row per configured Part (a lamination component, e.g. Hull, Deck). Click a day on a Part's row to open a task and pick an Operation from a shared dropdown (or add a one-off custom entry for just that boat) β a Days field lets you create a multi-day block in one step. Blocks drag/resize/shift the same way as Launch Schedule.
Above each model group, a thin Handover lane holds a small draggable tag per boat β drop it on the day LAM work was handed off to the next department. It's purely informational and doesn't affect any other tab.
The β LAM Master button (Planner + LAM) configures two things per model: the ordered Part list, and the shared Operations vocabulary used in every dropdown. A boat's model needs at least one configured Part before any rows appear for it. Snapshots here follow the same "Latest Saved" pattern as the other tabs, with their own independent history β Viewer/Production/LAM default into it read-only.
Other tabs
Dealer View
A completely separate, simplified page for Dealer SW / Dealer CO accounts.
After signing in, a dealer sees only their brand's in-stock boats, grouped by Model: row number, Model, SC#, Start LAM, and Completion β fully read-only, no edit controls of any kind. Filters: a Model dropdown, a free-text SC# search, and an Availability dropdown (within 3 / 6 / 12 months, based on Date Due). Any boat a Planner has marked "Hide from Dealer View" in the Edit Settings modal is excluded automatically.
Reference
Gantt column permissions
Every column on the main Production Schedule Gantt table. View = the column appears at all (independent of your personal Hide/Show Cols choice). Edit = you can actually change the value β remember that Viewer, Production and LAM can never submit any change regardless of what's marked here, since they're always on a read-only snapshot (see Roles & permissions).
PL=Planner VW=Viewer BC=BOD_CS PR=Production LM=LAM Β· Yes / No / (not just disabled β the column doesn't appear at all, and isn't recoverable via the column picker)
| Column | View PL | View VW | View BC | View PR | View LM | Edit PL | Edit VW | Edit BC | Edit PR | Edit LM | Notes |
|---|
Reference
Toolbar & feature permissions
Buttons, toggles and other actions outside the column grid itself.
| Feature / button | Where | PL | VW | BC | PR | LM | Notes |
|---|
Reference
Edit Settings modal fields
Opened by double-clicking or right-clicking a boat row. Only Planner and BOD_CS can open it at all β every other role never sees this dialog. (Paid to Date, Amount Owing, Next Payment Date/Amount, Ctr SOC and Ctr Compl moved out of this modal on 2026-09-15 β they now live in π° Sale Info on the Dashboard.)
| Field | BOD_CS | Planner | Notes |
|---|
The split is deliberate and total: BOD_CS's seven fields (Contract Date, Paid, Owing, Next Payment Date/Amount, Contract Received, Deposit Received) are locked for Planner in this modal β even Planner can't edit those specific fields here. Every other field in the modal is the reverse: Planner-only, locked for BOD_CS.