Complete REST API documentation for the ERP Logistics Equipment Management Module. All endpoints are integrated with the main ERP system's authentication and authorization.
https://erp.gets-company.com/api/v1/logistics
application/json
ISO 8601 (yyyy-MM-dd'T'HH:mm:ss.SSSZ)
Description: Retrieve a list of all equipment with optional filtering
// Optional query parameters
{
page: 1, // Page number (default: 1)
limit: 20, // Items per page (default: 20, max: 100)
status: "active", // Filter by status: active, maintenance, idle, out_of_service
ownership: "rented", // Filter by ownership: owned, rented
project_id: "PROJ-001", // Filter by assigned project
subcontractor_id: "SUB-001", // Filter by subcontractor
equipment_type: "Excavator", // Filter by equipment type
country: "Libya", // Filter by country: Libya, Tunisia, Iraq
search: "CAT 320", // Search in name, model, serial number
sort: "name", // Sort field: name, type, status, daily_rate
order: "asc" // Sort order: asc, desc
}
{
"success": true,
"data": [
{
"id": "EQ-001",
"name": "CAT 320 Excavator",
"type": "Excavator",
"model": "CAT 320D",
"serialNumber": "CAT320D001",
"ownership": "rented",
"status": "active",
"dailyRate": 1200.00,
"currency": "USD",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"subcontractorId": "SUB-001",
"subcontractorName": "Al-Majd Equipment Rental",
"location": "Tripoli, Libya",
"licenseNumber": "LIB-EX-001",
"plateNumber": "TRP-001",
"licenseExpiryDate": "2025-12-31",
"certificateExpiryDate": "2025-10-15",
"insuranceExpiryDate": "2025-09-30",
"lastMaintenanceDate": "2025-05-15",
"nextMaintenanceDate": "2025-08-15",
"rentalStartDate": "2025-01-01",
"rentalEndDate": "2025-12-31",
"notes": "Recently serviced, excellent condition",
"createdAt": "2025-01-01T08:00:00Z",
"updatedAt": "2025-06-20T14:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3,
"hasNext": true,
"hasPrev": false
},
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Retrieve detailed information about a specific equipment
{
"success": true,
"data": {
"id": "EQ-001",
"name": "CAT 320 Excavator",
"type": "Excavator",
"model": "CAT 320D",
"serialNumber": "CAT320D001",
"ownership": "rented",
"status": "active",
"dailyRate": 1200.00,
"currency": "USD",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"subcontractorId": "SUB-001",
"subcontractorName": "Al-Majd Equipment Rental",
"location": "Tripoli, Libya",
"licenseNumber": "LIB-EX-001",
"plateNumber": "TRP-001",
"licenseExpiryDate": "2025-12-31",
"certificateExpiryDate": "2025-10-15",
"insuranceExpiryDate": "2025-09-30",
"insurancePolicy": "INS-001-2025",
"lastMaintenanceDate": "2025-05-15",
"nextMaintenanceDate": "2025-08-15",
"maintenanceInterval": 90,
"rentalStartDate": "2025-01-01",
"rentalEndDate": "2025-12-31",
"specifications": {
"operatingWeight": "22.5 tons",
"bucketCapacity": "1.2 cubic meters",
"enginePower": "110 kW",
"fuelCapacity": "400 liters"
},
"workStatusRates": [
{ "status": "W", "rate": 100, "description": "Working" },
{ "status": "S", "rate": 75, "description": "Standby" },
{ "status": "NW", "rate": 0, "description": "Not Working" },
{ "status": "TG", "rate": 50, "description": "Travel Loaded" },
{ "status": "TB", "rate": 30, "description": "Travel Empty" }
],
"documents": [
{
"id": "DOC-001",
"type": "license",
"fileName": "equipment_license.pdf",
"uploadDate": "2025-01-01",
"expiryDate": "2025-12-31"
}
],
"notes": "Recently serviced, excellent condition",
"createdAt": "2025-01-01T08:00:00Z",
"updatedAt": "2025-06-20T14:30:00Z"
},
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new equipment record
{
"name": "CAT 320 Excavator",
"type": "Excavator",
"model": "CAT 320D",
"serialNumber": "CAT320D002",
"ownership": "rented",
"status": "idle",
"dailyRate": 1200.00,
"currency": "USD",
"subcontractorId": "SUB-001",
"rentalStartDate": "2025-07-01",
"rentalEndDate": "2025-12-31",
"location": "Warehouse - Tripoli",
"licenseNumber": "LIB-EX-002",
"plateNumber": "TRP-002",
"licenseExpiryDate": "2025-12-31",
"certificateExpiryDate": "2025-11-30",
"insuranceExpiryDate": "2025-10-31",
"insurancePolicy": "INS-002-2025",
"specifications": {
"operatingWeight": "22.5 tons",
"bucketCapacity": "1.2 cubic meters",
"enginePower": "110 kW",
"fuelCapacity": "400 liters"
},
"workStatusRates": [
{ "status": "W", "rate": 100 },
{ "status": "S", "rate": 75 },
{ "status": "NW", "rate": 0 },
{ "status": "TG", "rate": 50 },
{ "status": "TB", "rate": 30 }
],
"notes": "New equipment from Al-Majd, ready for deployment"
}
{
"success": true,
"data": {
"id": "EQ-002",
"name": "CAT 320 Excavator",
"type": "Excavator",
"model": "CAT 320D",
"serialNumber": "CAT320D002",
"ownership": "rented",
"status": "idle",
"dailyRate": 1200.00,
"currency": "USD",
"subcontractorId": "SUB-001",
"subcontractorName": "Al-Majd Equipment Rental",
"rentalStartDate": "2025-07-01",
"rentalEndDate": "2025-12-31",
"location": "Warehouse - Tripoli",
"licenseNumber": "LIB-EX-002",
"plateNumber": "TRP-002",
"licenseExpiryDate": "2025-12-31",
"certificateExpiryDate": "2025-11-30",
"insuranceExpiryDate": "2025-10-31",
"workStatusRates": [
{ "status": "W", "rate": 100 },
{ "status": "S", "rate": 75 },
{ "status": "NW", "rate": 0 },
{ "status": "TG", "rate": 50 },
{ "status": "TB", "rate": 30 }
],
"createdAt": "2025-06-23T10:30:00Z",
"updatedAt": "2025-06-23T10:30:00Z"
},
"message": "Equipment created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Update an existing equipment record
{
"status": "active",
"projectId": "PROJ-002",
"location": "Benghazi Construction Site",
"dailyRate": 1250.00,
"notes": "Deployed to Benghazi project, rate increased due to remote location"
}
{
"success": true,
"data": {
"id": "EQ-002",
"status": "active",
"projectId": "PROJ-002",
"projectName": "Benghazi Port Development",
"location": "Benghazi Construction Site",
"dailyRate": 1250.00,
"updatedAt": "2025-06-23T10:35:00Z"
},
"message": "Equipment updated successfully",
"timestamp": "2025-06-23T10:35:00Z"
}
Description: Retrieve all equipment requests with filtering options
// Optional query parameters
{
page: 1,
limit: 20,
status: "pending_pl", // pending_pl, pending_pmo, pending_operations, pending_bod, approved, rejected
project_id: "PROJ-001",
submitted_by: "john.doe",
date_from: "2025-06-01",
date_to: "2025-06-30",
equipment_type: "Excavator",
urgency: "high" // low, medium, high
}
{
"success": true,
"data": [
{
"id": "REQ-001",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"equipmentType": "Excavator",
"model": "CAT 320D",
"quantity": 1,
"constructionManagerName": "Ahmed Al-Mansouri",
"requestorName": "John Doe",
"requestorRole": "Project Manager",
"startDate": "2025-07-01",
"finishDate": "2025-09-30",
"numberOfDays": 92,
"urgency": "high",
"businessJustification": "Critical for foundation excavation phase",
"estimatedCost": 110400.00,
"currency": "USD",
"status": "pending_pmo",
"submittedBy": "john.doe",
"submittedDate": "2025-06-20",
"approvals": [
{
"approverRole": "PL",
"approverName": "Sarah Johnson",
"status": "approved",
"approvalDate": "2025-06-21T09:00:00Z",
"comments": "Approved - critical for project timeline"
},
{
"approverRole": "PMO",
"status": "pending",
"comments": null
}
],
"createdAt": "2025-06-20T14:30:00Z",
"updatedAt": "2025-06-21T09:15:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 15,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
},
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new equipment request
{
"projectId": "PROJ-001",
"equipmentType": "Excavator",
"model": "CAT 320D",
"quantity": 1,
"constructionManagerName": "Ahmed Al-Mansouri",
"requestorName": "John Doe",
"requestorRole": "Project Manager",
"contactNumber": "+218-91-1234567",
"email": "john.doe@gets-company.com",
"startDate": "2025-07-01",
"finishDate": "2025-09-30",
"urgency": "high",
"businessJustification": "Critical equipment needed for foundation excavation phase of the Tripoli Infrastructure Project. Without this excavator, the project timeline will be delayed by 2-3 weeks.",
"specifications": "Minimum 20-ton operating weight, 1.0-1.2 cubic meter bucket capacity, suitable for urban construction work",
"workingHours": "10 hours per day",
"workingConditions": "Urban construction site, good access roads",
"operatorRequired": true,
"maintenanceIncluded": true,
"fuelIncluded": false,
"transportationRequired": true,
"siteLocation": "Tripoli Downtown, Block 15, Street 23",
"nearestCity": "Tripoli",
"coordinates": "32.8872° N, 13.1913° E",
"scopeOfWork": "Foundation excavation for commercial building complex",
"estimatedCost": 110400.00,
"budgetCode": "PROJ-001-EQ",
"notes": "Equipment needed urgently to maintain project schedule. Site has good access for equipment delivery."
}
{
"success": true,
"data": {
"id": "REQ-002",
"requestId": "REQ-002",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"equipmentType": "Excavator",
"model": "CAT 320D",
"quantity": 1,
"constructionManagerName": "Ahmed Al-Mansouri",
"requestorName": "John Doe",
"startDate": "2025-07-01",
"finishDate": "2025-09-30",
"numberOfDays": 92,
"estimatedCost": 110400.00,
"status": "pending_pl",
"submittedBy": "john.doe",
"submittedDate": "2025-06-23",
"approvals": [
{
"approverRole": "PL",
"status": "pending"
}
],
"createdAt": "2025-06-23T10:30:00Z",
"updatedAt": "2025-06-23T10:30:00Z"
},
"message": "Equipment request created successfully and sent for PL approval",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Approve an equipment request (role-based approval)
{
"approverRole": "PMO",
"approverName": "Michael Smith",
"comments": "Approved with budget considerations. Ensure cost tracking.",
"budgetApproved": true,
"alternativeOptions": "Considered internal equipment but not available for required timeline"
}
{
"success": true,
"data": {
"id": "REQ-001",
"status": "pending_operations",
"approvals": [
{
"approverRole": "PL",
"approverName": "Sarah Johnson",
"status": "approved",
"approvalDate": "2025-06-21T09:00:00Z",
"comments": "Approved - critical for project timeline"
},
{
"approverRole": "PMO",
"approverName": "Michael Smith",
"status": "approved",
"approvalDate": "2025-06-23T10:30:00Z",
"comments": "Approved with budget considerations. Ensure cost tracking."
},
{
"approverRole": "Operations Manager",
"status": "pending"
}
],
"nextApprovalLevel": "Operations Manager",
"updatedAt": "2025-06-23T10:30:00Z"
},
"message": "Request approved and forwarded to Operations Manager",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new timesheet entry
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"projectId": "PROJ-001",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"location": "Block B, Excavation Site",
"fuelConsumption": 38.2,
"notes": "Excavation work for utilities installation",
"submittedBy": "site.supervisor",
"maintenanceNotes": "No issues reported",
"weatherConditions": "Clear, 28°C"
}
{
"success": true,
"data": {
"id": "TS-002",
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"equipmentName": "CAT 320 Excavator",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"dailyRate": 1200.00,
"rateApplied": 100,
"dailyCost": 1200.00,
"submittedBy": "site.supervisor",
"submittedAt": "2025-06-23T10:30:00Z",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Timesheet created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create multiple timesheet entries in bulk
{
"timesheets": [
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"projectId": "PROJ-001",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"notes": "Excavation work"
},
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-002",
"projectId": "PROJ-001",
"workStatus": "S",
"operatorName": "Ali Hassan",
"workingHours": 6,
"notes": "Standby for material delivery"
}
],
"submittedBy": "site.supervisor"
}
{
"success": true,
"data": {
"created": 2,
"failed": 0,
"entries": [
{
"id": "TS-003",
"equipmentId": "EQ-001",
"status": "created"
},
{
"id": "TS-004",
"equipmentId": "EQ-002",
"status": "created"
}
],
"totalCost": 2100.00
},
"message": "2 timesheets created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new timesheet entry
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"projectId": "PROJ-001",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"location": "Block B, Excavation Site",
"fuelConsumption": 38.2,
"notes": "Excavation work for utilities installation",
"submittedBy": "site.supervisor",
"maintenanceNotes": "No issues reported",
"weatherConditions": "Clear, 28°C"
}
{
"success": true,
"data": {
"id": "TS-002",
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"equipmentName": "CAT 320 Excavator",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"dailyRate": 1200.00,
"rateApplied": 100,
"dailyCost": 1200.00,
"submittedBy": "site.supervisor",
"submittedAt": "2025-06-23T10:30:00Z",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Timesheet created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create multiple timesheet entries in bulk
{
"timesheets": [
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-001",
"projectId": "PROJ-001",
"workStatus": "W",
"operatorName": "Hassan Al-Mahmoud",
"workingHours": 8,
"notes": "Excavation work"
},
{
"sheetDate": "2025-06-23",
"equipmentId": "EQ-002",
"projectId": "PROJ-001",
"workStatus": "S",
"operatorName": "Ali Hassan",
"workingHours": 6,
"notes": "Standby for material delivery"
}
],
"submittedBy": "site.supervisor"
}
{
"success": true,
"data": {
"created": 2,
"failed": 0,
"entries": [
{
"id": "TS-003",
"equipmentId": "EQ-001",
"status": "created"
},
{
"id": "TS-004",
"equipmentId": "EQ-002",
"status": "created"
}
],
"totalCost": 2100.00
},
"message": "2 timesheets created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Retrieve equipment extension requests
// Optional query parameters
{
page: 1,
limit: 20,
equipment_id: "EQ-001",
status: "pending_pl", // pending_pl, pending_pmo, pending_operations, pending_bod, approved, rejected
initiated_by: "john.doe",
date_from: "2025-06-01",
date_to: "2025-06-30"
}
{
"success": true,
"data": [
{
"id": "EXT-001",
"equipmentId": "EQ-001",
"equipmentName": "CAT 320 Excavator",
"requestDate": "2025-06-20",
"currentEndDate": "2025-07-31",
"newEndDate": "2025-09-30",
"extensionDays": 61,
"reason": "Project timeline extended due to additional scope",
"businessJustification": "Client requested additional foundation work requiring equipment extension",
"status": "pending_pmo",
"initiatedBy": "john.doe",
"additionalCost": 73200.00,
"currency": "USD",
"approvals": [
{
"approverRole": "PL",
"approverName": "Sarah Johnson",
"status": "approved",
"approvalDate": "2025-06-21T10:00:00Z",
"comments": "Extension justified for additional scope"
},
{
"approverRole": "PMO",
"status": "pending"
}
],
"createdAt": "2025-06-20T15:30:00Z",
"updatedAt": "2025-06-21T10:15:00Z"
}
],
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new equipment extension request
{
"equipmentId": "EQ-001",
"currentEndDate": "2025-07-31",
"newEndDate": "2025-09-30",
"reason": "Project timeline extended due to additional scope work",
"businessJustification": "Client has requested additional foundation work and structural modifications that require continued use of this excavator. Without the extension, project completion will be delayed by 3-4 weeks.",
"alternativesConsidered": "Considered renting additional equipment but would increase costs significantly and site space is limited",
"urgency": "medium",
"additionalCost": 73200.00,
"budgetApproved": false,
"costCenter": "PROJ-001-EQ",
"projectImpact": "Critical for project completion within revised timeline",
"alternativeEquipment": false,
"notes": "Equipment is in excellent condition and well-suited for the additional work required"
}
{
"success": true,
"data": {
"id": "EXT-002",
"equipmentId": "EQ-001",
"requestDate": "2025-06-23",
"currentEndDate": "2025-07-31",
"newEndDate": "2025-09-30",
"extensionDays": 61,
"additionalCost": 73200.00,
"status": "pending_pl",
"initiatedBy": "john.doe",
"approvals": [
{
"approverRole": "PL",
"status": "pending",
"order": 1
}
],
"submissionDate": "2025-06-23T10:30:00Z",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Extension request created and sent for PL approval",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Approve an equipment extension request
{
"approverRole": "PMO",
"approverName": "Michael Smith",
"comments": "Extension approved with budget verification. Monitor costs closely.",
"budgetApproved": true,
"costCenter": "PROJ-001-EQ"
}
{
"success": true,
"data": {
"id": "EXT-001",
"status": "pending_operations",
"nextApprovalLevel": "Operations Manager",
"approvals": [
{
"approverRole": "PL",
"status": "approved",
"approvalDate": "2025-06-21T10:00:00Z"
},
{
"approverRole": "PMO",
"approverName": "Michael Smith",
"status": "approved",
"approvalDate": "2025-06-23T10:30:00Z",
"comments": "Extension approved with budget verification"
},
{
"approverRole": "Operations Manager",
"status": "pending"
}
],
"updatedAt": "2025-06-23T10:30:00Z"
},
"message": "Extension request approved and forwarded to Operations Manager",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Retrieve equipment mobilization records
{
"success": true,
"data": [
{
"id": "MOB-001",
"requestId": "REQ-001",
"equipmentId": "EQ-001",
"equipmentName": "CAT 320 Excavator",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"subcontractorId": "SUB-001",
"subcontractorName": "Al-Majd Equipment Rental",
"mobilizationDate": "2025-06-25",
"demobilizationDate": "2025-09-30",
"licenseNumber": "LIB-EX-001",
"licenseExpiryDate": "2025-12-31",
"registrationNumber": "REG-TRP-001",
"registrationExpiryDate": "2025-11-30",
"driverName": "Hassan Al-Mahmoud",
"driverLicense": "DL-001-2025",
"inspectionCertificate": "INSP-001-2025",
"inspectionExpiryDate": "2025-10-15",
"status": "in_progress",
"processedBy": "operations.manager",
"processedDate": "2025-06-22",
"notes": "Equipment mobilized successfully. All documentation verified.",
"documents": [
{
"type": "license",
"fileName": "equipment_license.pdf",
"uploadDate": "2025-06-22"
},
{
"type": "driver_license",
"fileName": "driver_license.pdf",
"uploadDate": "2025-06-22"
}
],
"createdAt": "2025-06-22T09:00:00Z",
"updatedAt": "2025-06-22T14:30:00Z"
}
],
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new equipment mobilization record
{
"requestId": "REQ-001",
"equipmentId": "EQ-002",
"projectId": "PROJ-001",
"subcontractorId": "SUB-001",
"mobilizationDate": "2025-07-01",
"demobilizationDate": "2025-09-30",
"licenseNumber": "LIB-EX-002",
"licenseExpiryDate": "2025-12-31",
"registrationNumber": "REG-TRP-002",
"registrationExpiryDate": "2025-11-30",
"driverName": "Ali Hassan",
"driverLicense": "DL-002-2025",
"inspectionCertificate": "INSP-002-2025",
"inspectionExpiryDate": "2025-10-15",
"processedBy": "operations.manager",
"notes": "Equipment ready for deployment to Tripoli project site"
}
{
"success": true,
"data": {
"id": "MOB-002",
"requestId": "REQ-001",
"equipmentId": "EQ-002",
"projectId": "PROJ-001",
"subcontractorId": "SUB-001",
"mobilizationDate": "2025-07-01",
"demobilizationDate": "2025-09-30",
"status": "pending",
"processedBy": "operations.manager",
"processedDate": "2025-06-23",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Equipment mobilization record created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Retrieve inspection checklists
{
"success": true,
"data": [
{
"id": "CHK-001",
"equipmentType": "Excavator",
"name": "Excavator Safety Inspection Checklist",
"description": "Comprehensive safety and operational inspection for excavators",
"version": "2.1",
"createdBy": "safety.manager",
"createdDate": "2025-01-15",
"lastModified": "2025-05-20",
"isActive": true,
"defaultFrequency": "monthly",
"items": [
{
"id": "CHK-001-01",
"name": "Engine Oil Level",
"description": "Check engine oil level and quality",
"category": "Engine",
"isRequired": true,
"inputType": "select",
"options": ["Normal", "Low", "Very Low", "Contaminated"],
"orderIndex": 1,
"frequency": "daily"
},
{
"id": "CHK-001-02",
"name": "Hydraulic System Pressure",
"description": "Check hydraulic system pressure and look for leaks",
"category": "Hydraulics",
"isRequired": true,
"inputType": "number",
"orderIndex": 2,
"frequency": "weekly"
}
],
"totalItems": 15,
"estimatedDuration": 45,
"createdAt": "2025-01-15T08:00:00Z",
"updatedAt": "2025-05-20T16:30:00Z"
}
],
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new inspection checklist
{
"equipmentType": "Wheel Loader",
"name": "Wheel Loader Monthly Inspection",
"description": "Monthly safety and maintenance inspection for wheel loaders",
"version": "1.0",
"createdBy": "maintenance.supervisor",
"defaultFrequency": "monthly",
"items": [
{
"name": "Tire Condition",
"description": "Inspect tire condition and tread depth",
"category": "Tires & Wheels",
"isRequired": true,
"inputType": "select",
"options": ["Excellent", "Good", "Fair", "Poor"],
"orderIndex": 1,
"frequency": "weekly"
},
{
"name": "Brake System",
"description": "Test brake system functionality",
"category": "Brakes",
"isRequired": true,
"inputType": "checkbox",
"orderIndex": 2,
"frequency": "monthly"
}
]
}
{
"success": true,
"data": {
"id": "CHK-002",
"equipmentType": "Wheel Loader",
"name": "Wheel Loader Monthly Inspection",
"version": "1.0",
"isActive": true,
"totalItems": 2,
"createdBy": "maintenance.supervisor",
"createdDate": "2025-06-23",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Inspection checklist created successfully",
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Retrieve payment records
{
"success": true,
"data": [
{
"id": "PAY-001",
"subcontractorId": "SUB-001",
"subcontractorName": "Al-Majd Equipment Rental",
"projectId": "PROJ-001",
"projectName": "Tripoli Infrastructure Project",
"invoiceId": "INV-001",
"paymentPeriodStart": "2025-05-01",
"paymentPeriodEnd": "2025-05-31",
"totalAmount": 37200.00,
"currency": "USD",
"equipmentIds": ["EQ-001"],
"equipmentDetails": [
{
"equipmentId": "EQ-001",
"equipmentName": "CAT 320 Excavator",
"days": 31,
"dailyRate": 1200.00,
"totalCost": 37200.00
}
],
"paymentReference": "PAY-2025-001",
"costCenter": "CC-PROJ-001",
"paymentMethod": "Bank Transfer",
"status": "paid",
"processedBy": "finance.manager",
"approvedBy": "pmo.manager",
"approvalDate": "2025-06-15",
"paymentDate": "2025-06-18",
"notes": "Payment processed for May 2025 equipment rental charges",
"createdAt": "2025-06-10T09:00:00Z",
"updatedAt": "2025-06-18T11:30:00Z"
}
],
"summary": {
"totalPayments": 15,
"totalAmount": 245000.00,
"paidAmount": 220000.00,
"pendingAmount": 25000.00,
"byStatus": {
"pending": 3,
"approved": 2,
"paid": 10
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
Description: Create a new payment record
{
"subcontractorId": "SUB-001",
"projectId": "PROJ-001",
"invoiceId": "INV-002",
"paymentPeriodStart": "2025-06-01",
"paymentPeriodEnd": "2025-06-30",
"equipmentIds": ["EQ-001", "EQ-002"],
"paymentReference": "PAY-2025-002",
"costCenter": "CC-PROJ-001",
"paymentMethod": "Bank Transfer",
"processedBy": "finance.manager",
"notes": "Payment for June 2025 equipment rental charges"
}
{
"success": true,
"data": {
"id": "PAY-002",
"subcontractorId": "SUB-001",
"projectId": "PROJ-001",
"invoiceId": "INV-002",
"totalAmount": 53600.00,
"currency": "USD",
"status": "pending",
"paymentReference": "PAY-2025-002",
"processedBy": "finance.manager",
"createdAt": "2025-06-23T10:30:00Z"
},
"message": "Payment record created successfully and pending approval",
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input data",
"details": {
"field": "email",
"message": "Invalid email format"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "AUTHENTICATION_REQUIRED",
"message": "Valid authentication token required",
"details": {
"loginUrl": "/auth/login"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "INSUFFICIENT_PERMISSIONS",
"message": "User does not have required permissions for this operation",
"details": {
"requiredRole": "OPERATIONS_MANAGER",
"userRole": "PROJECT_LEADER"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Equipment with ID 'EQ-999' not found",
"details": {
"resourceType": "Equipment",
"resourceId": "EQ-999"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "BUSINESS_RULE_VIOLATION",
"message": "Equipment is already assigned to another project",
"details": {
"equipmentId": "EQ-001",
"currentProject": "PROJ-001",
"requestedProject": "PROJ-002"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}
{
"success": false,
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"details": {
"errorId": "ERR-2025-06-23-001",
"supportContact": "support@gets-company.com"
}
},
"timestamp": "2025-06-23T10:30:00Z"
}