Skip to main content

Overview

The Fleet API manages the assignment of equipment to vehicles and resources. It tracks equipment installation, movement history, and patrimonial information. The fleet system supports complex workflows including installations, transfers, replacements, and returns.

Endpoints

List Fleet Records

Retrieve paginated fleet records with search and filtering.
GET /flota
texto
string
Search by ISSI, TEI, mobile name, or destination name
page
integer
default:"1"
Page number (50 items per page)
Response
flota
array
Array of fleet assignment objects
Example Request
curl -X GET "https://your-domain.com/flota?texto=1141" \
  -H "Cookie: your-session-cookie"
Perform advanced searches with multiple filters.
GET /busqueda-avanzada
texto
string
General search text
equipo_id[]
array
Array of equipment IDs to filter
recurso_id[]
array
Array of resource IDs to filter
destino_id[]
array
Array of patrimonial destination IDs
destino_actual_id[]
array
Array of current destination IDs (includes children recursively)
estado_id[]
array
Array of equipment state IDs
tipo_terminal_id[]
array
Array of terminal type IDs
fecha_rango
string
Date range in format “YYYY-MM-DD - YYYY-MM-DD”
ticket_per
string
PER ticket number
observaciones
string
Search in observations field
Response Returns paginated results (500 items per page) with applied filters. Example Request
curl -X GET "https://your-domain.com/busqueda-avanzada?estado_id[]=1&estado_id[]=2&fecha_rango=2024-01-01 - 2024-12-31" \
  -H "Cookie: your-session-cookie"

Export Advanced Search Results

Export filtered search results to Excel.
GET /busqueda-avanzada/export-excel
Accepts the same query parameters as /busqueda-avanzada. Response Downloads Excel file: BusquedaAvanzadaFlota_{timestamp}.xlsx

Create Fleet Assignment

Create a new fleet assignment with equipment installation.
POST /flota
Request Body
tipo_movimiento
integer
required
Movement type ID
dependencia
integer
required
Destination ID
equipo
integer
required
Equipment ID (must not already have a fleet assignment)
recurso
integer
Resource/vehicle ID
fecha_asignacion
datetime
required
Assignment date and time
ticket_per
string
PER ticket reference number
observaciones
text
Notes and observations
imagen1
file
Image attachment (jpeg, png, jpg, gif, max 2MB)
imagen2
file
Additional image (up to imagen10)
archivo
file
Document attachment (pdf, doc, docx, xlsx, zip, rar, max 20MB)
Example Request
curl -X POST "https://your-domain.com/flota" \
  -H "Cookie: your-session-cookie" \
  -F "tipo_movimiento=1" \
  -F "dependencia=15" \
  -F "equipo=234" \
  -F "recurso=42" \
  -F "fecha_asignacion=2024-01-15 10:30:00" \
  -F "ticket_per=PER-2024-001" \
  -F "[email protected]"
Response Redirects to /flota on success. Error Responses
error
string
“El recurso ‘Móvil 1141’ ya tiene asociado el equipo TEI: …” - Resource already has equipment assigned

Show Fleet Record

GET /flota/{id}
id
integer
required
Fleet record ID

Update Fleet Assignment

Update fleet assignment and create new historical record.
PUT /flota/{id}
id
integer
required
Fleet record ID
Request Body Same parameters as create, plus:
equipoReemplazo
integer
Replacement equipment ID (for replacement/recambio movements)
solo_modificar_historico
boolean
Only modify historical record without updating fleet assignment
estado_final
integer
Final equipment state ID
Movement Types The system handles different movement types with specific logic:
  • Movimiento patrimonial - Patrimonial transfer
  • Instalación completa - Complete installation
  • Desinstalación completa - Complete uninstallation (moves to Stock)
  • Provisorio - Temporary assignment
  • Revisión - Equipment revision
  • Devolución - Return to stock
  • Reemplazo - Replacement (swaps two equipment)
  • Recambio - Exchange (swaps equipment, old goes to stock)
  • Extraviado - Lost equipment
  • Recuperado - Recovered equipment
  • Devolver equipo temporal - Return temporary equipment
  • Devolución a dependencia - Return to department
  • Baja - Decommission
  • Reprogramación - Reprogramming
Example Request
curl -X PUT "https://your-domain.com/flota/123" \
  -H "Cookie: your-session-cookie" \
  -F "tipo_movimiento={\"id\":2}" \
  -F "equipo=234" \
  -F "fecha_asignacion=2024-02-01 14:00:00" \
  -F "observaciones=Equipment moved to new vehicle"

Delete Fleet Assignment

DELETE /flota/{id}
id
integer
required
Fleet record ID

Additional Endpoints

View Assignment History

View complete assignment history for equipment in a fleet record.
GET /ver-historico/{id}
id
integer
required
Fleet record ID
Response Returns historical records with images, assignments, and movements. Generate printable version of assignment history.
GET /flota/historico/{id}/imprimir
id
integer
required
Fleet record ID

Update History Record

Update observations and attachments for a historical record.
POST /update-historico/{id}
id
integer
required
Historical record ID
observaciones
text
required
Updated observations
nuevas_imagenes[]
file
New image attachments
archivo
file
Document attachment
imagenes_actuales
json
JSON array of existing image paths to preserve

Generate Delivery Document

Generate Word document for equipment delivery.
GET /generate-docx/{id}
id
integer
required
Fleet record ID
Response Downloads a Word document with delivery certificate.

Get Resources JSON

Get available resources as JSON.
GET /get-recursos
Response
[
  {
    "id": 1,
    "nombre": "Móvil 1141",
    "vehiculo_id": 23,
    "multi_equipos": false
  }
]

Error Codes

400
error
Bad Request - Validation error or missing required fields
401
error
Unauthorized - Authentication required
403
error
Forbidden - Missing permissions (ver-flota, crear-flota, editar-flota, borrar-flota)
404
error
Not Found - Fleet record not found
422
error
Unprocessable Entity - Business logic error (e.g., resource already assigned)

Models

FlotaGeneral Model

Represents equipment-to-vehicle assignments. Relationships
  • equipo - BelongsTo Equipo
  • recurso - BelongsTo Recurso (vehicle/mobile)
  • destino - BelongsTo Destino (department)
  • historico - BelongsTo Historico
Methods
  • ultimoLugar() - Returns last assignment location
  • ultimoMovimiento() - Returns last movement record
Source Code Reference Controller: app/Http/Controllers/FlotaGeneralController.php Model: app/Models/FlotaGeneral.php

Build docs developers (and LLMs) love