Getting started

Everything you need before opening any specific module: how to sign in, how to read any console screen, and how your role decides what you can see and do.

Signing in

The HO console lives at the /staff path of the portal (for example https://portal.airindia-reporter.example/staff — your administrator will give you the exact address). It is a private, staff-only web application, separate from anything customers or field executives use.

  1. Open the console address

    Browse to /staff. If you are not signed in you are taken to the login screen automatically.

  2. Enter your e-mail address and password

    Sign-in is by e-mail only. The address you type must be one that has been recorded against your user account and verified. A phone number will not work here, even though the field app accepts one.

  3. Select Sign in

    On success you land on the Dashboard. On failure you see a single neutral message — "These credentials do not match our records." — that deliberately does not reveal whether the e-mail or the password was wrong.

Screenshot placeholderThe /staff login screen — e-mail field, password field, "Remember me" toggle and the Sign in button.
Locked out after too many tries

The login form limits you to 5 attempts in quick succession. Exceed that and it pauses further attempts for a short cool-down and shows a "too many attempts" message. Wait a moment and try again, or ask an administrator to reset your password if you have forgotten it.

Two different sign-ins exist — don't confuse them

This HO console uses a classic session login (the form above). The field app and public API use a different, token-based sign-in that accepts e-mail or phone. If a colleague can log into the field app but not this console, the likely cause is that their e-mail contact is missing or unverified, or their role does not permit console access.

The anatomy of a screen

Every page in the console shares the same layout. Learn it once and every module feels familiar.

① The top bar

Always visible. It carries the AIR brand (select it to return to the Dashboard), a global search, and your user menu in the top-right corner — open it to see your name and to Sign out.

② The navigation

Down the left, links are organised into the same groups this guide uses — Access Control, Administration, Billing, Customers, Despatch, Geography, Inventory, Sales, Warehouses. You only see the groups and links your permissions allow. If a whole group is missing, your role simply does not include anything in it — that is normal, not a fault.

③ The main content area

Most pages open on a list (a table of records). Lists share a common toolkit:

ControlWhat it does
SearchFree-text search across the columns marked searchable on that list (for example a voucher number or a customer name).
FiltersOpens a panel of drop-downs — most often a State filter — to narrow the list. Filters combine with search.
Columns / sortSome columns can be sorted by selecting their header; some columns are hidden by default and can be switched on from the column toggle.
Row actionsButtons at the right end of each row (Approve, Cancel, Seal…). Which ones appear depends on the record's current state and your permissions — see below.

Doing something: actions, forms & confirmations

Work in the console happens through actions — the buttons on a row. They behave consistently:

  1. Select the action on the record's row

    For example Approve on a payment voucher, or Print labels on a picking wave.

  2. Complete the form, if one opens

    Some actions ask for details first — a cancellation reason, a cheque number, a resolution choice. Required fields are marked; the action will not proceed until they are filled.

  3. Confirm

    Most actions show a confirmation dialog ("Are you sure?"). This is your last chance to step back. Select the confirming button to proceed.

  4. Read the result notification

    A green notification (top-right) confirms success. A red one explains why the action was refused — for example the record moved to a state where that action no longer applies.

Why did a button disappear after I used it?

Actions are tied to a record's state. Once you Approve a voucher it becomes Approved, and the Approve button vanishes because there is nothing left to approve. This is by design — the console only ever offers the steps that are valid right now. Each module page shows the state diagram so you always know what comes next.

Roles & permissions — what you can see and do

Access is entirely role-based. You are granted one or more roles; each role carries a set of permissions; and your effective access is the combined total of all permissions from your active roles. There are no permissions granted directly to a person — always through a role.

"I can log in but the page I need isn't there"

Signing in only requires that your account is allowed into the console at all. Whether you then see a given module depends on your permissions. If a link is missing, ask an administrator to add the relevant permission to one of your roles — the Roles & Permissions page explains how they do it, and the Reference lists every permission.

Safety net: you cannot break the sequence

Behind every button, the system re-checks the rules before making a change. Even if a record's state changed in another browser tab a moment ago, an out-of-turn action is refused cleanly with an explanatory message rather than corrupting data. You can explore confidently: the console will stop you from doing something that is no longer valid.

Switching light / dark theme

This guide (and the console) respect your device's light or dark preference. Use the sun/moon button in the top bar of this guide to override it; your choice is saved on this device.

Loading demo data

For a client demo or a local walkthrough, a single command loads a realistic sample dataset on top of a fresh database — customers, products, a full sale-order pipeline, payments (including bounced-cheque recoveries) and a few charges, enough for the Dashboard, the four reports, and every major list to show meaningful data. It also wires the despatch source/customer locations, so Release for despatch works out of the box.

php artisan migrate:fresh --seed --seeder="Database\Seeders\DemoSeeder"

Sign in with admin@airportal.test / password at /staff once it finishes.

This wipes the database first

migrate:fresh drops every table before re-creating it. Only run this against a scratch or demo database — never against a database with real data you need to keep.