Skip to main content

Overview

The WorkOrder type represents maintenance work orders in SIGEAC. Work orders track all maintenance activities performed on aircraft, from routine inspections to complex repairs. They include task assignments, technician hours, preliminary inspections, and comprehensive reporting.

Type Definition

export interface WorkOrder extends Request {
  order_number: string;
  client: MaintenanceClient;
  aircraft: MaintenanceAircraft;
  status: string;
  date: string;
  description: string;
  elaborated_by: string;
  reviewed_by: string;
  approved_by: string;
  preliminary_inspection?: PrelimInspection;
  work_order_report_pages?: WorkOrderReport;
  work_order_tasks: WorkOrderTask[];
}
WorkOrder extends the base Request type, inheriting fields like id, request_number, justification, and submission_date.

Fields

id
number
required
Unique identifier for the work order (inherited from Request)
order_number
string
required
Unique work order number for tracking and reference
client
MaintenanceClient
required
Client associated with this work order. See Aircraft documentation for MaintenanceClient structure.
aircraft
MaintenanceAircraft
required
Aircraft on which maintenance is being performed. See Aircraft documentation.
status
string
required
Current status of the work order (e.g., “PENDING”, “IN_PROGRESS”, “COMPLETED”, “APPROVED”)
date
string
required
Work order creation date in ISO 8601 format
description
string
required
Detailed description of maintenance work to be performed
elaborated_by
string
required
Name or ID of person who created the work order
reviewed_by
string
required
Name or ID of person who reviewed the work order
approved_by
string
required
Name or ID of person who approved the work order
preliminary_inspection
PrelimInspection
Initial inspection performed before work begins. See Preliminary Inspection section.
work_order_report_pages
WorkOrderReport
Completion reports documenting work performed. See Work Order Reports section.
work_order_tasks
WorkOrderTask[]
required
Array of maintenance tasks to be performed. See Work Order Tasks section.
justification
string
required
Justification for the work order (inherited from Request)
submission_date
string
required
Date when request was submitted (inherited from Request)
requested_by
string
required
Person who requested the work (inherited from Request)

Work Order Tasks

Each work order contains multiple tasks that define the specific maintenance activities:
export type WorkOrderTask = {
  id: number;
  description_task: string;
  status: string;
  technician_responsable?: string;
  assigned_technicians?: AssignedTechnician[];
  total_man_hours?: number;
  inspector_responsable?: string;
  ata: string;
  task_number: string;
  origin_manual: string;
  old_technician?: string[];
  task_items: {
    article_serial: string;
    article_part_number: string;
    article_alt_part_number: string;
  }[];
  non_routine?: NonRoutineTask;
  task_events?: WorkOrderTaskEvent[];
};

Task Fields

id
number
required
Unique task identifier
description_task
string
required
Detailed description of the maintenance task
status
string
required
Current task status (e.g., “PENDING”, “IN_PROGRESS”, “COMPLETED”)
technician_responsable
string
Primary technician responsible for the task
assigned_technicians
AssignedTechnician[]
List of technicians assigned to the task with their hours
total_man_hours
number
Total man-hours required or spent on the task
inspector_responsable
string
Inspector who will verify task completion
ata
string
required
ATA chapter code (Air Transport Association system for categorizing aircraft systems)
task_number
string
required
Task reference number from maintenance manual
origin_manual
string
required
Source manual for the task (e.g., “AMM”, “CMM”, “SRM”)
task_items
array
required
Parts and materials required for the task
non_routine
object
Non-routine work discovered during maintenance
task_events
WorkOrderTaskEvent[]
Scheduled events for the task (for planning and calendar integration)

Preliminary Inspection

The preliminary inspection is performed before maintenance work begins:
export type PrelimInspection = {
  id: number | string;
  work_order: WorkOrder;
  status: string;
  authorizing: string;
  observation: string;
  pre_inspection_items: PrelimInspectionItem[];
};

export type PrelimInspectionItem = {
  id: number | string;
  ata: string;
  description: string;
  location: string;
};
status
string
required
Inspection completion status
authorizing
string
required
Person authorizing the inspection
observation
string
required
General observations from the preliminary inspection
pre_inspection_items
array
required
Individual inspection items with ATA codes, descriptions, and locations

Work Order Reports

Completion reports document the work performed:
export type WorkOrderReport = {
  id: number | string;
  reports: WorkOrderReportItem[];
}

export type WorkOrderReportItem = {
  ata_code: string;
  report: string;
  action_taken: string;
}
reports
array
required
Array of report items

Example Usage

const workOrder: WorkOrder = {
  id: 1001,
  order_number: "WO-2024-001",
  request_number: "REQ-2024-001",
  client: {
    id: 1,
    name: "Airline Operations Inc.",
    email: "[email protected]",
    phone_number: "+1-555-0100",
    address: "123 Airport Road",
    authorizing: "PROPIETARIO"
  },
  aircraft: {
    id: 1,
    serial: "MSN-12345",
    model: "737-800",
    acronym: "YV-1234",
    // ... other aircraft fields
  },
  status: "IN_PROGRESS",
  date: "2024-03-15T08:00:00Z",
  description: "A-Check inspection and routine maintenance",
  justification: "Scheduled maintenance per maintenance program",
  submission_date: "2024-03-10T10:00:00Z",
  requested_by: "John Smith",
  elaborated_by: "Jane Doe",
  reviewed_by: "Mike Johnson",
  approved_by: "Sarah Williams",
  work_order_tasks: [
    {
      id: 1,
      description_task: "Perform engine oil change",
      status: "COMPLETED",
      technician_responsable: "Tech-001",
      assigned_technicians: [
        { name: "Carlos Rodriguez", hours: 2.5 },
        { name: "Maria Garcia", hours: 1.5 }
      ],
      total_man_hours: 4.0,
      inspector_responsable: "INS-001",
      ata: "72",
      task_number: "72-10-01",
      origin_manual: "AMM",
      task_items: [
        {
          article_serial: "OIL-123456",
          article_part_number: "P-N-789",
          article_alt_part_number: "ALT-789"
        }
      ]
    }
  ],
  preliminary_inspection: {
    id: 1,
    status: "COMPLETED",
    authorizing: "Lead Inspector",
    observation: "Aircraft in good general condition",
    pre_inspection_items: [
      {
        id: 1,
        ata: "53",
        description: "Fuselage skin inspection",
        location: "Forward fuselage"
      }
    ]
  },
  work_order_report_pages: {
    id: 1,
    reports: [
      {
        ata_code: "72",
        report: "Engine oil change completed per manual",
        action_taken: "Replaced oil and filter, ops check normal"
      }
    ]
  }
};

Workflow

  1. Creation: Work order is created with basic information and tasks
  2. Preliminary Inspection: Initial inspection identifies existing conditions
  3. Task Assignment: Tasks are assigned to technicians
  4. Execution: Technicians perform work and log hours
  5. Non-Routine Work: Any discrepancies are documented as non-routine items
  6. Inspection: Inspector verifies completed work
  7. Reporting: Work order report documents all actions taken
  8. Approval: Authorized personnel approve the completed work

Build docs developers (and LLMs) love