System Configuration
A single list of typed key/value settings that steer specific pieces of portal behaviour — from AIR's GST home state to the on/off switches for the daily background schedulers.
What this screen is
System Configuration is not a business record you create — it is a fixed catalogue of settings that ships with the code. Each row is one key (for example reservation.enabled) holding a current value. You cannot add a new key or delete an existing one from the console; keys are defined and seeded by developers. What you can do is open a key and, if it is marked editable, change its value.
The list
Nav: Administration → System Configuration.
| Column | Shows |
|---|---|
| key | The setting's unique identifier, e.g. gst.home_state_code. Searchable and sortable. |
| group | A category label the setting belongs to, shown as a plain badge. Sortable. |
| value | The current value, truncated to 40 characters in the list — open the record to see it in full. |
| is_editable | A tick/cross icon. Ticked keys can have their value changed from this console; crossed keys are locked — even an administrator cannot change them here. |
| updated_at | When the value last changed. Hidden by default — switch it on from the column toggle. |
There are no filters on this list — with typically only a handful of keys in the whole system, the plain sortable/searchable table is enough to find what you need.
Editing a value
- Open the key
Select Edit on the row. The edit screen shows key, group, type and description — all disabled. They are read-only reference information, not fields you change.
- Change the value, if you are allowed to
The value field is a text box. It is only enabled when the row's is_editable flag is on; otherwise it appears disabled and the console will refuse the save regardless.
- Save
Your input is validated and cast to the setting's underlying type before it is stored, and the cached copy of that key is cleared immediately — the new value takes effect straight away, with no restart or wait.
Each key has a fixed underlying type. Saving does not simply store whatever text you type — it is parsed and converted to that type (for example, a JSON-typed value is JSON-encoded unless it is already a plain string) before it is written, so a mistyped value is rejected with an error instead of silently breaking whatever else in the portal reads that key.
Currently seeded keys
These are the settings shipped with the system today:
| Key | What it controls |
|---|---|
| gst.home_state_code | AIR's home GST state code. Billing compares an order's delivery state against this to decide whether GST is split as intra-state (CGST + SGST) or inter-state (IGST). |
| placeholder.region_id | A stand-in region ID, used internally wherever a process still needs a region reference that isn't otherwise resolvable — a stop-gap value, not a setting you would normally touch. |
| placeholder.pincode_id | The same placeholder pattern as above, for pincode references. |
| reservation.enabled | The kill-switch for the daily auto-reservation scheduler. Turn it off to pause automatic stock reservation across the whole portal. |
| wave.enabled | The kill-switch for the daily auto-wave-creation scheduler. Turn it off to stop new picking waves being created automatically. |
reservation.enabled and wave.enabled are emergency/maintenance switches for two background jobs, not values you change routinely. See Background Schedulers for exactly what each job does, when it runs, and what happens while its switch is off.