Backend & Frontend Enums, Choices & Schema Reference
DocumentationSchema & Data Dictionary

Backend & Frontend Enums, Choices & Schema Reference

Complete, unified dictionary of database text choices (models.TextChoices), TypeScript enums, scheduling weights, status lifecycles, and API serialization aliases.

1. Asset Department (Asset.Department / AssetDepartment)

Backend model: apps.assets.models.Asset.department (API alias: division)

Database KeyDisplay LabelInfrastructure Scope & Responsibility
ENGINEERINGEngineeringTrack, rails, sleepers, ballast, civil structures, bridges
SNTSignal & TelecomSignaling equipment, electronic interlocking, points, telecommunications
TRACTIONTraction (TRD)Overhead Electrification (OHE), power supply, substations, mast poles

2. Asset Categories (AssetCategory)

Backend field: apps.assets.models.Asset.asset_type (API alias: category)

Category Choice KeyDisplay LabelDepartmentTypical Maintenance Window
TRACK_CIRCUITTrack CircuitSNT30 - 60 mins
SIGNALSignal & InterlockingSNT45 - 90 mins
POINT_MACHINEPoint Machine / SwitchSNT45 - 60 mins
OVERHEAD_EQUIPMENTOHE / Traction CatenaryTRACTION60 - 180 mins
TRANSFORMERSubstation TransformerTRACTION90 - 240 mins
TRACK_SEGMENTTrack Segment / RailENGINEERING60 - 180 mins
AXLE_COUNTERAxle CounterSNT30 - 45 mins
INTERLOCKINGElectronic InterlockingSNT60 - 120 mins

3. Maintenance Task Urgency / Priority & Objective Weights

Backend field: apps.maintenance.models.MaintenanceTask.priority (API alias: urgency)

Choice KeyDisplay LabelCP-SAT WeightOperational Severity
CRITICALCritical40.0Severe safety risk or immediate operational hazard; highest allocation priority
HIGHHigh30.0Significant wear or disruption risk; requires near-term maintenance block
MEDIUMMedium20.0Standard routine inspection, preventive repair, or periodic check
LOWLow10.0Minor maintenance or non-critical cosmetic/support activity

4. Maintenance Task Status Lifecycle

Backend field: apps.maintenance.models.MaintenanceTask.status (API alias: task_status)

Status KeyDisplay BadgeState Description & Automation Hook
PENDINGPendingInitial state; task created, awaiting block window reservation
SCHEDULEDScheduledBlock window reserved and linked to the task
DELAYEDDelayed (Overdue)Automatic Overdue: Deadline elapsed without completion (is_overdue=True)
COMPLETEDCompletedMaintenance work successfully executed on site
CANCELLEDCancelledTask dismissed or superseded

5. Block Window Status (BlockWindow.Status)

Backend field: apps.blocks.models.BlockWindow.status

AVAILABLE

Section window is open and available for maintenance scheduling.

RESERVED

Corridor block is reserved for an approved maintenance task.

BLOCKED

Track is actively blocked; maintenance crew on track.

6. AI Optimization Algorithms (algorithm)

Algorithm KeyOptimization Mechanism
CP-SAT Constraint SolverGoogle OR-Tools CP-SAT evaluating task priority, safety buffers, network delay impact, and train headway.
Database Timestamp GapDeterministic fail-safe finding optimal collision-free intervals between live train movements.

8. Train Types & Priority Levels (Train.TrainType)

Code KeyCategory NameDefault PriorityDescription
VBVande Bharat10Semi-high speed premium train sets
SHATABDIShatabdi Express10Superfast day intercity services
RAJDHANIRajdhani Express10High-priority long-distance national capital express
EXPRESSExpress / Superfast8 (6–9)Mail, Express, and Superfast long-distance passenger services
PASSENGERPassenger / MEMU5Ordinary passenger and local commuter shuttles
FREIGHTFreight / Goods5Heavy goods, coal, container, and auto rakes

9. 7-Day Running Days Bitmask Pattern (TrainSchedule.running_days)

7-character binary regex ^[01]{7}$ representing Monday through Sunday:

"1111111"Daily (Mon–Sun)
"1111100"Weekdays (Mon–Fri)
"0000011"Weekends (Sat–Sun)
"1000000"Mondays only

10. API Field Mappings & Serialization Aliases

Direct crosswalk between frontend JSON keys and Django ORM database model fields:

ResourceFrontend API KeyBackend Database FieldNotes & Format
Assetasset_titlenameAsset descriptive title
Assetcategoryasset_typeAssetCategory choice
AssetdivisiondepartmentENGINEERING / SNT / TRACTION
Assetrisk_levelcriticalityInteger rating (1–5)
Tasktask_codetask_idUnique code (e.g. TMS-746)
TaskdetailsdescriptionTask description text
TaskurgencypriorityCRITICAL / HIGH / MEDIUM / LOW
Taskdeadlinedue_dateDue date YYYY-MM-DD
Tasktask_statusstatusPENDING / SCHEDULED / DELAYED / COMPLETED
Taskis_delayedis_overdueTrue if past due date
Blockstart_timestart_timeYYYY-MM-DD HH:MM:SS (IST)
Blockend_timeend_timeYYYY-MM-DD HH:MM:SS (IST)