Skip to main content

Overview

The Comision class represents a travel assignment (comisión) for federal employees. It captures the complete lifecycle of a travel request from initial solicitation through approval workflow, transportation arrangements, budget allocation, and expense tracking.
namespace InapescaWeb.Entidades
{
    public class Comision
    {
        // 100+ properties managing all aspects of travel assignments
    }
}
Source: InapescaWeb.Entidades/Comision.cs

Request Identification

Core Identifiers

Folio
string
Unique travel assignment folio number (e.g., “2024-001”)
Oficio
string
Official document number for the travel authorization
Oficio_DG
string
Official document number from the General Director (Dirección General)
Oficio_DGAIPP
string
Official document number from DGAIPP (Dirección General de Administración, Innovación y Planeación de Proyectos)
Secuencia
string
Sequence number for tracking multiple related travel assignments

Workflow Dates

Request and Approval Timeline

Fecha_Solicitud
string
Date when the travel request was submitted
Fecha_Responsable
string
Date when the project manager reviewed the request
Fecha_Vobo
string
Date of VoBo (visto bueno) approval from supervising authority
Fecha_Autoriza
string
Date when final authorization was granted

Travel Period

Fecha_Inicio
string
Start date of the travel assignment
Fecha_Final
string
End date of the travel assignment
Inicio_Comision
string
Specific start time of the assignment (hour)
Fin_Comision
string
Specific end time of the assignment (hour)
Dias_Total
string
Total days for the travel assignment (calendar days)
Dias_Reales
string
Actual working days for the assignment
Dias_Pagar
string
Billable days to be paid for per diem

Personnel and Organization

Requestor Information

Usuario_Solicita
string
Username of the employee requesting the travel assignment
Comisionado
string
Name of the commissioned employee (traveler)
Ubicacion_Comisionado
string
Organizational location/office of the commissioned employee

Approval Chain

Responsable_proyecto
string
Project manager responsible for approving the travel request
Vobo
string
Name of the authority providing VoBo (supervisory approval)
Autoriza
string
Name of the final authorizing official
Ubicacion_Autoriza
string
Organizational location of the authorizing official

Organizational Context

Ubicacion
string
Primary organizational unit for this assignment
Area
string
Specific department or area code

Destination and Purpose

Location Information

Lugar
string
Destination city or location name
Estado
string
Destination state (within Mexico)
Pais
string
Destination country (for international travel)
Territorio
string
Territory classification (national, international, rural, etc.)

Assignment Purpose

Objetivo
string
Objective and purpose of the travel assignment
Tipo_Comision
string
Type of commission (regular, extraordinary, maritime, etc.)
Actividad
string
Specific activity to be performed

Fisheries-Specific Fields

Pesqueria
string
Fishery type (INAPESCA-specific for fisheries research)
Especie
string
Species being studied or managed
Producto
string
Fishery product type

Budget and Project Allocation

Project Information

Proyecto
string
Project code to which this travel is charged
Dep_Proy
string
Department or location code for the project

Budget Classification

Capitulo
string
Budget chapter (capítulo presupuestal)
Partida_Presupuestal
string
Budget line item (partida presupuestal) for the overall assignment
Proceso
string
Business process code
Indicador
string
Performance indicator code

Transportation Details

Requested Transportation

Clase_Trans
string
Requested transportation class (terrestrial, air, maritime)
Tipo_Trans
string
Requested transportation type within the class
Vehiculo_Solicitado
string
Specific vehicle requested
Ubicacion_Transporte
string
Location where the vehicle is based

Authorized Transportation

Clase_Aut
string
Authorized transportation class
Tipo_Aut
string
Authorized transportation type
Vehiculo_Autorizado
string
Specific vehicle authorized for use
Ubicacion_Trans_Aut
string
Location of the authorized vehicle
Descrip_vehiculo
string
Description of the vehicle (make, model, plates)

Route Information

Origen_Terrestre
string
Origin and destination for land transportation
Origen_Aereo
string
Origin and destination for air transportation
Origen_Dest_Acu
string
Origin and destination for water/maritime transportation
Ruta
string
Detailed route description

Air Travel Details

Departure Flight

Aerolinea_Part
string
Airline for departure flight
Vuelo_Part_Num
string
Departure flight number
Fecha_Vuelo_part
string
Departure flight date
Hora_Vuelo_Part
string
Departure flight time

Return Flight

Aerolinea_Ret
string
Airline for return flight
Vuelo_Ret_Num
string
Return flight number
Fecha_Vuelo_Ret
string
Return flight date
Hora_Vuelo_ret
string
Return flight time

Fuel and Tolls

Fuel Allocation

Combustible_Solicitado
string
Amount of fuel requested (liters or cost)
Combustible_Autorizado
string
Amount of fuel authorized
Partida_Combustible
string
Budget line item for fuel expenses
Pago_Combustible
string
Payment method for fuel
Combustible_Efectivo
string
Fuel amount paid in cash
Combustible_Vales
string
Fuel amount paid with vouchers
Vale_Comb_I
string
Starting fuel voucher number
Vale_Comb_F
string
Ending fuel voucher number

Toll Charges

Peaje
string
Toll/highway fee amount
Partida_Peaje
string
Budget line item for tolls

Passenger Fares

Pasaje
string
Passenger fare/ticket cost
Partida_Pasaje
string
Budget line item for passenger fares

Per Diem (Viaticos)

Per Diem Calculation

Zona_Comercial
string
Commercial zone classification (determines per diem rate)
Tipo_Viaticos
string
Type of per diem (commercial, rural, navigated, etc.)
Total_Viaticos
string
Total per diem amount
Forma_Pago_Viaticos
string
Payment method for per diem
Tipo_Pago_Viatico
string
Type of per diem payment (advance, reimbursement)

Per Diem Day Types

Dias_Comercial
string
Days in commercial zones (higher per diem rate)
Dias_Rural
string
Days in rural zones (different per diem rate)
Dias_Navegados
string
Days at sea (maritime assignments)
Dias_50
string
Days more than 50km from base (special rate)
Singladuras
string
Singladuras (24-hour maritime periods) for navigation assignments

Equipment and Resources

Equipo
string
Equipment and resources needed for the assignment

Status and Notes

Estatus
string
Current status of the travel assignment (pending, approved, completed, etc.)
Observaciones_Solicitud
string
Comments and observations from the requestor
Observaciones_Vobo
string
Comments from the VoBo approver
Observaciones_Autoriza
string
Comments from the final authorizer

Document Management

Archivo
string
Filename of the attached travel request document
Archivo_Ampliacion
string
Filename of the extension/amendment document
Oficio_Ampliacion
string
Official document number for travel extension
Periodo
string
Fiscal period or year for the assignment

Usage Example

using InapescaWeb.Entidades;

// Create a new travel assignment request
var comision = new Comision
{
    Folio = "2024-045",
    Fecha_Solicitud = "2024-03-15",
    Usuario_Solicita = "juan.lopez",
    Comisionado = "María González Pérez",
    Ubicacion_Comisionado = "CRIP-SC",
    
    // Destination
    Lugar = "Mazatlán",
    Estado = "Sinaloa",
    Pais = "México",
    
    // Travel dates
    Fecha_Inicio = "2024-04-10",
    Fecha_Final = "2024-04-15",
    Dias_Total = "6",
    Dias_Reales = "5",
    
    // Purpose
    Objetivo = "Participación en taller de capacitación sobre gestión pesquera sustentable",
    Tipo_Comision = "Regular",
    Actividad = "Capacitación",
    
    // Budget
    Proyecto = "PRY-2024-001",
    Partida_Presupuestal = "3811",
    
    // Transportation
    Clase_Trans = "Aéreo",
    Tipo_Trans = "Comercial",
    Origen_Aereo = "Oaxaca - Mazatlán",
    
    // Per diem
    Zona_Comercial = "Zona 2",
    Tipo_Viaticos = "Comercial",
    Total_Viaticos = "7500.00",
    Dias_Comercial = "5",
    
    Estatus = "Pendiente"
};

// The entity can now be passed to the business logic layer
// for validation and persistence

Validation Rules

The entity itself does not enforce validation. Validation logic should be implemented in the business logic layer.

Required Fields

  • Folio - Unique identifier required
  • Fecha_Solicitud - Request date required
  • Usuario_Solicita - Requestor required
  • Comisionado - Traveler name required
  • Fecha_Inicio and Fecha_Final - Travel period required
  • Lugar - Destination required
  • Objetivo - Purpose required
  • Proyecto - Project allocation required

Business Rules

  1. Date Logic: Fecha_Final must be after Fecha_Inicio
  2. Day Calculation: Dias_Total should match the date range
  3. Budget Allocation: Valid Proyecto and Partida_Presupuestal required
  4. Transportation Match: Authorized transportation should align with requested or provide justification
  5. Per Diem Calculation: Total per diem should match days × daily rate for zone
  6. Approval Sequence: Dates should progress: Solicitud → Responsable → Vobo → Autoriza

ComisionDetalle

Detailed financial breakdown of commission expenses

Itinerario

Flight itinerary information for air travel

DatosComprobacion

Expense verification data after travel completion

Usuario

User information for requestors and approvers

See Also

Build docs developers (and LLMs) love