Page not found

The page you are looking for does not exist or has moved.

Companies

Every company on the platform. Operators see the registry only.

New company
Something went wrong on our side. Try again in a moment.

No companies yet

Create the first company and invite its Admins. From then on, they run it themselves.

New company
Filter by:
Loading companies… Show per page · Page of 1
Companies
CompanyTypeTime zoneBranchesAdminsStatus
Asuransi Demo
ACA
InsurerWIB22Active
Demo Loss Adjusters
DEMOLA
Loss adjusterWITA01Active
Demo Motor Works
DEMOWS
WorkshopWIB11Active
Demo Parts
DEMOPV
Parts vendorWIB0No AdminActive
Nusantara Assurance
NSA
InsurerWITA31 of 2Active
Sinar Asuransi
SNR
InsurerWIB0No Admin
2 invited
Active
Timur Adjusters
TIMUR
Loss adjusterWIT01Suspended
Loading companies… Page of 1

No company matches “sinar motor”

Search looks at names and codes. Branches are found through their company.

  • Needs platform.readOrganisation ("See every Organisation with its branches and Admins"), which only the Operator Role holds. Without it the console's nav has no Companies item, and /platform/companies shows the 404 block in the content, the Shell around it (pick any company's persona under Signed in as). /platform opens this page, and so does signing in on the private entry point.
  • It reads GET /api/platform/organisations?q= (platform.readOrganisation), on the private entry point only; the public one answers 404 NOT_FOUND. The answer is every root but the Platform, by name, each with its type, time zone, status, branch count (every Organisation under it at any depth, suspended ones included), active and invited Admin counts, and needsAdmins. Without the key it answers 403 FORBIDDEN.
  • Operators see the registry only: no Claims, Members, settings or any other company record, here or anywhere on the console.
  • q matches a name or a code, trimmed, in any case and literally; a branch is never matched, it is found through its company. A NUL or invalid UTF-8 in the term answers 200 with no rows, and the page shows the no-match card. The page asks again 300 ms after typing stops.
  • The API has no paging, so the page pages what it holds: 10, 25 or 50 rows a page.
  • Admins shows the active count. The flag is needsAdmins, as #322 defines it: no active Admin ("No Admin"), or an Insurer with fewer than two ("1 of 2"). An invited Admin isn't active; a suspended Person counts as neither.
  • The tags No Admin, Fewer than 2 Admins and Suspended count those rows among what the search leaves, filter the list by it (try them), and hide at 0.
  • A row opens the company in a side panel over this list; there is no Actions column.
  • New company needs platform.createOrganisation and is hidden without it, in the head and on the first-run card.
  • Applied from the rules: laid out as a list page, the heading with New company top right, then one tinted card holding "Filter by:" with the search, the tags under it, and the table paged above and below, Company pinned left with the code under the name, the whole row opening the company. The mockup's bare search box, plain card and "5 companies" line go.
  • Applied from the rules: a company opens as a read-only side panel over this list, not the mockup's and PR #572's page.
  • Applied from the rules: without the key, the 404 block in the content.
  • The Admin flags stay in their column as PR #572 draws them, each with its Status icon, and also become count tags under the search. Status chips carry their icon: Active (success, the check), Suspended (danger, the ban icon).
  • The no-match card replaces the table, with "Clear the search", as Members has it; its copy is PR #572's. First run hides the filter card and the head's New company, as the mockup does, and the empty card carries its own New company.
  • Search with results draws "demo", which finds four companies, not the three the brief says: Asuransi Demo holds "Demo" in its name, and the three Demo companies hold it in name and code.
  • Created: Sinar Asuransi joins as the seventh row. Its two Admins are only invited, so it is flagged No Admin, as needsAdmins has it. Its toast is drawn on the company's panel, where New company lands, not here.
  • Rows without a state of their own (Demo Loss Adjusters, Demo Motor Works, Nusantara Assurance) open Asuransi Demo's panel, the example; Timur Adjusters opens it suspended, Demo Parts with no Admin, and Sinar Asuransi just created.
  • Drafted: "2 invited" under the flag of a company whose Admins are all invited, "Loading companies…", the tags' screen-reader label "Flags", and the tag "Fewer than 2 Admins" (the brief's).
  • Loading draws five skeleton rows inside the table; a failed read shows INTERNAL's text and "Try again", as Members does, not PR #572's error page.
  • PR #572 → comment: Companies follows the list-page rule: one tinted card with "Filter by:" and the search, the table paged 10, 25 or 50 above and below over the rows held, Company pinned left, the whole row opening the company. The "{n} companies" line goes; the pager says it.
  • PR #572 → comment: count tags under the search, No Admin, Fewer than 2 Admins and Suspended, from activeAdminCount, needsAdmins and status; each filters the rows held and hides at 0.
  • PR #572 → comment: no match is a card in place of the table with "Clear the search", not a row inside it; a failed read is the danger alert with "Try again" in the page, not the error page.
  • PR #572 → comment: status chips carry the Status icon: Active with the check, Suspended with the ban icon.
  • PR #572 → comment: a company whose Admins are all invited shows "{n} invited" under its No Admin flag, from invitedAdminCount, so a company created a minute ago doesn't read as abandoned.
  • ticket #327 → comment: New company sits top right in the head and on the first-run card, shown with platform.createOrganisation; PR #572's first-run card has no button.
  • ticket #329 → comment: a suspended company shows the danger Suspended chip with the ban icon, and the Suspended tag counts and filters them.
  • The console opens on Companies; the Platform has no Home. Nav: Companies, Find person, Operators, then Settings. (12 Oct 2026)
  • A new Insurer needs two first Admins (422 ORGANISATION_ADMINS_REQUIRED), and Companies flags an Insurer with fewer than two ("1 of 2"). (12 Oct 2026)

From PR #572's Companies (CompanyList.tsx and its platform.companies strings) and PR #570's GET /api/platform/organisations; spec #322 and ticket #326; operator-console.html (Companies) for the states; the list-page rule from settings-members.html