Skip to content

Training Programs (البرامج التدريبية)

Define training programs by category — technical, soft skills, compliance, leadership, safety, onboarding — with duration and mandatory flags.

Attributes

FieldTypeDescription
idintegerPrimary key
name_enstringEnglish name
name_arstringArabic name (nullable)
categoryenumtechnical, soft_skills, compliance, leadership, safety, onboarding
descriptiontextProgram description (nullable)
duration_hoursintegerTotal duration in hours
is_mandatorybooleanMandatory for all employees
is_activebooleanActive status

API Endpoints

MethodURLDescription
GET/api/hr/training-programsList programs
POST/api/hr/training-programsCreate program
GET/api/hr/training-programs/{id}Show program with sessions
PUT/api/hr/training-programs/{id}Update program
DELETE/api/hr/training-programs/{id}Delete program

Examples

bash
curl -X POST "https://moon-erp.elbaset.com/api/hr/training-programs" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name_ar": "تدريب السلامة المهنية",
    "name_en": "Workplace Safety Training",
    "category": "safety",
    "duration_hours": 8,
    "is_mandatory": true,
    "description": "Annual safety compliance training"
  }'
dart
final response = await dio.post('/api/hr/training-programs', data: {
  'name_ar': 'تدريب السلامة المهنية',
  'name_en': 'Workplace Safety Training',
  'category': 'safety',
  'duration_hours': 8,
  'is_mandatory': true,
});

Business Rules

  • Programs have multiple training sessions (scheduled instances)
  • Show endpoint eager-loads all sessions
  • Mandatory programs can be tracked for compliance reporting

Moon ERP API Documentation