MariOS End-to-End Operations Manual
A day-in-the-life walkthrough for shipping companies: from estimating and fixtures, through voyage execution, laytime and claims, to finance settlement and management dashboards — including the AI assistant, email review, the routine task hub and event automation. Local demo entry http://localhost:3000.
1. Can the current system run the full daily workflow?
Verdict: yes for pilot / PoC / training-grade daily desk work — not yet as the single core production system of a large shipping company.
The commercial trunk (estimate → charter → voyage → laytime/claims → bunkers → invoices & payments) is wired through in the product desk and the automated test suite; the email desk (review / AI landing / business drafts), the AI assistant and chat, event-driven task automation, the routine task hub and document PDF export are now part of the daily desk (section 6). Hard ERP integration, conflict rules on the vessel Gantt and some report drill-downs remain demo-grade or need more depth.
2. Demo accounts (tenant demo)
Shared password Demo1234!. Platform operations tenant sys / ops@marios.platform / Ops1234!.
| Role | Suggested walkthrough | |
|---|---|---|
charterer@demo.marios | Chartering | Estimates · charters · email review |
ops@demo.marios | Operations | Voyages · port calls / noon / SOF · twin |
demurrage@demo.marios | Demurrage | Finance desk · laytime · claims |
finance@demo.marios | Finance | Invoices · payments · voyage P&L · aging |
tech@demo.marios | Technical | Ship management · certificates / PMS |
mgmt@demo.marios | Management | Workbench · dashboards |
admin@demo.marios | Tenant admin | Control plane · users & security · Office |
Switch 中文 | EN in the top bar; global search Ctrl+K; help: “Knowledge Centre” at the bottom of the sidebar.
3. Commercial end-to-end workflow (chartering view)
Sign in and open the workbench
- Open /login, tenant code
demo, sign in with a chartering account. - Land on the /home workbench and confirm the role shortcuts and widgets.
Master data check
- Open the vessel / port / counterparty master data pages; make sure there are usable vessels, load & discharge ports and charterers.
- If a counterparty's sanctions status is blocked, the charter cannot be activated (compliance gate).
Voyage estimate
- Go to /estimates and create an estimate: pick vessel and counterparty, fill quantity, freight/lumpsum, commissions, voyage days, bunkers and port costs.
- Hit Calculate to get TCE; clone scenarios for comparison and sensitivity.
- If you already have an email or chat thread, use “fill from text” to paste it, parse and check each field before it lands in the form (section 6).
- When happy, run To CP to generate a draft charter.
Page: /estimates
Charter approval and activation
- Go to /charters and open the charter created from the estimate.
- State flow:
draft→pending_approval→active(no skipping). - Once active, the system can link and generate the voyage (depending on seed and chain configuration).
- For COA scenarios, record liftings on the charter desk; an approved charter amendment raises a domain event that notifies the related teams and raises a finance review task.
4. Voyage operations (operator view)
Departure and port calls
- Sign in with an operations account and open /operations/voyages.
- Move the voyage to in-progress; add load / discharge port calls (order, ETA, agents…).
- Enter noon reports (position, speed, ROB, next-port ETA); the system can flag ETA deviation.
- Register SOF events (e.g. NOR) under the port call — use the local timezone.
- Work through the Closeout tab of the voyage workspace: port-call ATA/ATD, SOF facts, finalized laytime, settled claims, issued invoices, bunker delivery and the TCE comparison — every gap can be turned into a follow-up task.
- Completing the voyage emits a
voyage.completedevent, which shrinks the schedule, raises tasks for the missing items and snapshots the TCE.
Fleet twin
- Open /twin for fleet situation awareness; run what-if simulations (demo grade).
The system also tracks EU ETS emissions and CII rating; carbon cost can be auto-allocated per voyage.
5. Laytime, claims and finance
Laytime and demurrage claims
- Sign in with demurrage or finance and open /finance.
- Create a laytime statement: link voyage / port calls, enter allowed time, turnaround, demurrage rate and time slices (including excluded time).
- After Calculate → Finalize, raise a demurrage claim and run negotiate / settle.
Clause library: 10 standard charter-party clause templates ship in (SHINC, SHEX, WWD, WWDSHEX…); charterer-specific clauses can be saved and are auto-applied at calculation time.
Statements print straight to PDF (with company letterhead) and batch-export to Excel.
Port disbursements, bunkers, invoices
- Port disbursements: draft PDA → submit → approve → FDA (record variance).
- Bunker orders: inquire → order → deliver, with ROB conservation checks.
- Freight invoice: draft → pending → issued → partial receipts until paid → supports GL posting.
- Issuing an invoice or closing a PDA raises a domain event that auto-creates reconciliation / posting tasks (a failed GL posting degrades to a task — never silent).
- Review dynamic voyage P&L (estimate vs actual vs variance) and AR aging.
Analytics entry: /analytics
6. AI & automation (across the first five sections)
AI and automation are not a side-car module — they attach to both ends of the chain above: on the input side, emails, chat threads and page context are parsed and drafted by AI; on the output side, business milestones emit domain events that the workflow turns into tasks and notifications. The rule that runs through all of it: AI only drafts, the workflow only materialises, and every write still needs human confirmation (four-eyes rule in the routine task hub).
AI assistant (Ctrl+J on any page)
- Press Ctrl+J on any page to open the assistant and ask e.g. “what's the TCE on this voyage?”, “which invoices are overdue?”.
- Answers are drawn from the signed-in tenant's data and the knowledge base; without a configured model they fall back to the built-in rules engine and are tagged
rules— they are never passed off as AI. - The assistant can suggest actions and field values, but it never writes to the ledger — confirm back on the page and save.
MariAI chat (/ai/chat)
- Open /ai/chat, pick an agent (estimate / voyage / market…) and start a conversation.
- Agents can call read-only tools against tenant data; expand “tool calls” on a message to see the actual query, so you can check the basis.
- Conversations can be renamed, archived and deleted (to the recycle bin); with no model configured a banner stays visible, and a fallback reply is flagged underneath the answer.
AI Hub (/settings/ai)
- Tenant admins configure the model provider and model under /settings/ai, test the connection and set defaults.
- Review usage and quota; you may also bring your own key (BYO key) — calls made with your own key are not billed against the platform quota.
- Bind skills to modules and configure agents and the skill catalogue; metering is off by default and can be switched on when needed.
Email review and AI landing (/email/review)
- Sync mail at /email/review: pick a 7 / 14 / 30-day window and a message cap, and browse per folder (inbox / sent items…).
- The system classifies by business type and extracts fields (vessel, ports, freight rate, laytime…), bodies are converted to plain text and parsed fields carry their source and confidence.
- Act per type: fixture recap → estimate and charter drafts, disbursement → PDA draft, invoice → invoice draft; you can also confirm a parse, ignore and remember that sender, or archive to a business record.
- Drafts are reviewed by a human in “pending drafts” before they land; from the detail view you can also “fill into voyage estimate” and carry the parsed values to the estimate page.
AI fill-in for voyage estimates (three entry points)
- Available on the estimate page /estimates, in the email detail view and in the voyage workspace.
- Paste an email / chat thread → parse → a per-field card (value, source
llmorrules, confidence); tick and edit before applying. - “Apply to form” writes vessel, counterparty, cargo, ports and freight rate into the estimate form — still reviewed by a human before saving.
Routine task hub (/routine)
- /routine has three tabs: pending drafts / routine tasks / skill templates.
- Every field of a draft carries its evidence; the four-eyes rule requires a second approver before the draft is written back to business tables (the originator cannot approve alone).
- Routine tasks define a trigger (event / time window), an action and an owning role; they can be added, edited, deleted and run manually. Skill templates hold reusable action sets.
Domain-event automation and voyage closeout
- Business milestones emit domain events automatically: voyage completed, lifting fixed / completed, charter amendment, invoice issued, PDA closed, bunker delivered, claim settled, NOR updated, laytime draft created.
- Handlers materialise these into follow-up tasks + in-app notifications + GL posting attempts; a handler error is recorded but never rolls back the business operation (automation failure must not block the business).
- Before completing a voyage, check the closeout checklist (voyage workspace → Closeout): port-call ATA/ATD, SOF facts, finalized laytime, settled claims, issued invoices, bunker delivery, TCE comparison — missing items automatically become tasks with an owner role and a due date.
- Approval chains are processed in /workflows/inbox; approval nodes are defined under System settings → Workflows.
Documents and PDF
- 14 document templates ship in: invoice, credit note, laytime statement, hire statement, fixture recap, estimate / TCE, PDA, statement of claim, SOF, COA, voyage instruction, statement of account, remittance advice, bunker delivery note.
- Templates carry the company letterhead and can be customised and previewed at /settings/templates; “Export PDF” on a business record exports directly, statements include the letterhead.
- Renders can be looked up in the document centre and sent from within the app.
7. Ship management, approvals and dashboards
Ship management
- Sign in with a technical account and open /ship: certificates, PMS work orders, defects and crew snapshots (depth varies by license / integration).
Approval inbox
- Once charters / invoices go pending, process them in /workflows/inbox.
Dashboards
- Open /dashboards for the role wall; fullscreen and auto-refresh are supported.
- Fleet Twin supports what-if simulation; the market panel gives freight and bunker price references.
8. Tenant administration & platform operations
Tenant control plane /settings
- Company branding, organization, user roles, sign-in security, languages & terminology
- Permission matrix, workflow definitions, subscription usage
- SelfCheck, migration wizard, backups, AI Hub, connectors, Office ecosystem, licenses, API keys
Platform operations /platform
- Tenant provisioning, product branding, IdP, language packs, plan usage, health
- Data & deployment: /platform/ops (data sources, initialization, deploy profiles, monitoring)
9. End-to-end automated test results
Latest run: full pytest over apps/api/tests
Result: all green (1379 tests), covering:
test_full_chain.py: estimate calculation → to-CP → approval & activation → voyage in progress → port calls/noon/SOF → laytime finalize → claims → PDA/FDA → bunkers → invoice receipt & GL → market/emissions/analytics → pool/risk/berth → Twin what-if → SelfCheck → voyage completion- Clause library, performance claims, background job queue, webhooks and observability metrics
- AI & automation specifics: HTML-to-plain-text mail and multi-folder sync, AI extraction with llm / rules fallback, domain-event handlers materialising tasks and notifications, voyage closeout checklist, routine task hub (drafts / tasks / templates), four-eyes rule and write-back, document templates and PDF rendering
- Sanctions blocking, illegal state-machine jumps, identity/SaaS/Office/knowledge-centre/platform ops/smoke surfaces
Note: automation covers API business-chain correctness; do one manual browser walkthrough per role path described in this manual.
Recommended manual walkthrough checklist
| # | Check | Account | Expected |
|---|---|---|---|
| 1 | Language switch (portal + signed-in) | — | Copy switches, no hydration errors |
| 2 | Estimate calculation and To CP | Chartering | TCE computed, draft CP created |
| 3 | Charter approval & activation | Chartering / mgmt | Legal state transitions |
| 4 | Port calls + SOF + noon | Operations | Timeline visible, local timezone |
| 5 | Laytime finalize & claim | Demurrage | Correct amounts, settleable |
| 6 | Invoice receipts | Finance | Partial → paid → GL |
| 7 | Control-plane icon cards | Admin | Icons + titles clickable, no stray “open →” |
| 8 | Role dashboard fullscreen | Management | Refresh & fullscreen work |
| 9 | Global search Ctrl+K | Any role | Finds vessels, charters, voyages and other core data |
| 10 | Print / PDF export | Any role | Statement with letterhead prints cleanly |
| 11 | AI assistant Ctrl+J | Any role | Answers about tenant data; tagged rules without a model |
| 12 | Email review → draft | Chartering | Fixture recap mail creates estimate / charter drafts, queued for confirmation |
| 13 | Routine hub four-eyes | Mgmt / finance | Drafts carry evidence, originator cannot self-approve, write-back after confirmation |
| 14 | Closeout checklist & event tasks | Operations | Gaps become follow-up tasks visible in /tasks |
| 15 | Document template PDF | Finance | Template previews and exports to PDF with letterhead |
10. Limits & adoption recommendations
- Good for: process training, pre-sales demos, pilot desks for small teams, parallel verification alongside existing systems.
- Do not make it the single production core until: ERP posting, schedule visualization conflict strategy, key connectors and audit compliance meet your acceptance criteria.
- Per-tenant databases can be registered and bound; business sessions currently still use the primary database by default. Cloud “one-click deploy” offerings are mostly template guidance.
- AI boundaries: with no model configured, Q&A and extraction fall back to the built-in rules engine (answers tagged
rules); AI only drafts and never writes to the ledger — drafts must be reviewed by a human in “pending drafts” (four-eyes rule) before they land; calls made with your own key (BYO key) are not billed against the platform quota. - Automation boundaries: domain events only raise to-dos and notifications — they do not advance state machines and do not replace approvals; a task can always be edited, deleted or triggered manually by a person, overriding the automated result.
- The in-app Knowledge Centre offers both retrieval-augmented FAQ and LLM answers; trust the source column and citations.
See docs/user-guide.md and docs/product-capabilities.md in the repository for more; the in-app Knowledge Centre and the per-page “How do I…?” guides are available after sign-in.