An appraisal in Avalúo Vehicular is a structured, multi-step process managed by theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/alber1802/AvaluoVehicular/llms.txt
Use this file to discover all available pages before exploring further.
Registro controller family. A new appraisal begins when an evaluator registers a vehicle and records its baseline data; it progresses through one of two evaluation paths (mechanical or visual inspection); and it concludes with photo uploads and automatic generation of the final estimated value. Every step is persisted independently, so work-in-progress appraisals can be paused and resumed at any time.
Vehicle Data Fields
TheVehiculo model (table vehiculos) stores the following fillable fields, all captured in the registration form at /registro/crear:
| Field | Type | Description |
|---|---|---|
entidad | string | Name of the requesting entity or client |
fecha_evaluacion | date | Date of evaluation — set automatically to now() on creation |
ubicacion_actual | string | Current physical location of the vehicle |
tipo_vehiculo | string | Vehicle category (car, truck, motorcycle, etc.) |
tipo_combustible | string | Fuel type (gasoline, diesel, electric, etc.) |
id_marca | integer | Foreign key → marca_vehiculos; loaded from MarcaVehiculo::all() |
modelo | string | Model name |
año_fabricacion | integer | Manufacturing year |
placa | string|null | License plate — automatically uppercased and trimmed on save |
serie_motor | string | Engine serial number |
chasis | string | Chassis / VIN number |
color | string | Vehicle color |
procedencia | string | Country or region of origin |
kilometraje | integer | Odometer reading; if 0 is submitted the system stores 500000 to represent an unknown high mileage |
precio_referencial | decimal(8,2) | Reference market price used as the base for the appraisal calculation |
id_evaluador | integer | Automatically set to Auth::user()->id on creation |
CondicionGeneral record is created alongside the vehicle and captures estado_operativo (comma-separated operational states), estado_general, and observaciones.
The Vehiculo model also uses SoftDeletes — records are never hard-deleted from the database; they are moved to the recycle bin and can be restored via /reciclaje/listado.
Step-by-Step Appraisal Creation
Open the registration form
Navigate to
GET /registro/crear. The page renders the Registro/create/registro Inertia component, which receives the full marcas catalog for the brand selector.Fill in vehicle data and submit
Complete all required fields in the registration form and submit via
POST /registro/avaluo. The CreateRequest form request validates the payload. On success, a Vehiculo and a linked CondicionGeneral record are created, and the user is redirected to the evaluation selector for the new vehicle ID.Choose an evaluation method
The route
GET /registro/seleccionar/{id} renders the SelecccionarMetodo page. Two paths are available:- Mecánica — scores each mechanical system component
- Inspección — records visible faults found during physical examination
Complete the chosen evaluation
Depending on the selection in the previous step, the evaluator is routed to either:
GET /registro/evaluacion/mecanica/{id}— mechanical evaluation formGET /registro/evaluacion/inspeccion/{id}— visual inspection form
SeccionTecnica or SeccionFalla). Submitting a form a second time for the same vehicle is blocked — the controller checks for existing records and redirects to the resultados.avaluo.continuar route instead.Upload vehicle images
After saving the evaluation, the user is redirected to
GET /registro/imagenes/vehiculo/{id} to upload photos. Images are stored in the vehiculo_imagen table and are displayed in the final appraisal report.View the appraisal result
The route
GET /registro/resultado/avaluo/{id} triggers AvaluoController@index, which computes and persists the final estimated value using the three depreciation factors (model, mileage, inspection). The result page displays the full breakdown of all factors alongside vehicle data, images, and evaluator information.Continuing an In-Progress Appraisal
The routeGET /registro/continuar/avaluo/{id} is handled by ContinuarController@continuar. It inspects the completion state of every step and issues a redirect to the appropriate next screen.
The internal “continuar” route used during step-to-step navigation is GET /registro/resultados/avaluo/continuar/{id} (named resultados.avaluo.continuar), handled by CreateRegistroController@show. Its branching logic is:
Editing an Existing Appraisal
Once a vehicle is registered, each section can be edited independently. The edit selection screen atGET /registro/resultados/avaluo/edit/{id} lists all editable sections. Authorization is enforced by a VehiculoPolicy on every edit and update route.
| Section | View route | Update route |
|---|---|---|
| Vehicle data | GET /registro/avaluo/editDatosVehiculo/{id} | POST /registro/avaluo/editDatosVehiculo/update/{id} |
| Mechanical evaluation | GET /registro/evaluacion/mecanica/edit/{id} | POST /registro/evaluacion/mecanica/update/{id} |
| Visual inspection | GET /registro/evaluacion/inspeccion/edit/{id} | POST /registro/evaluacion/inspeccion/update/{id} |
| Images | GET /registro/imagenes/vehiculo/edit/{id} | POST /registro/imagenes/vehiculo/update/{id} |
updateOrCreate keyed on (id_vehiculo, titulo, componente) and (id_vehiculo, nombre, caracteristica) respectively, so re-submitting the form is always safe.
Soft Delete and Recycle Bin
TheVehiculo model uses SoftDeletes:
deleted_at timestamp. They can be viewed, restored, or permanently deleted through the recycle bin at GET /reciclaje/listado.
Route Reference
| Method | URI | Name | Description |
|---|---|---|---|
GET | /registro/crear | registro.index | Vehicle registration form |
POST | /registro/avaluo | registro.store | Save new vehicle + condition |
GET | /registro/seleccionar/{id} | registro.seleccionar | Choose evaluation method |
GET | /registro/resultado/avaluo/{id} | resultados.avaluo | View final appraisal result |
GET | /registro/continuar/avaluo/{id} | continuar.avaluo | Resume in-progress appraisal (dashboard button) |
GET | /registro/resultados/avaluo/continuar/{id} | resultados.avaluo.continuar | Internal step-to-step navigation |
GET | /registro/resultados/avaluo/edit/{id} | resultados.avaluo.seleccionarEditar | Edit section selector |
GET | /registro/avaluo/editDatosVehiculo/{id} | avaluo.editDatosVehiculo | Edit vehicle data form |
POST | /registro/avaluo/editDatosVehiculo/update/{id} | avaluo.editDatosVehiculo.update | Save vehicle data changes |