Skip to main content

Overview

App Courier provides comprehensive delivery tracking and driver assignment capabilities. Administrators can assign packages to drivers, monitor delivery progress in real-time, and maintain complete delivery history.

Package Status Lifecycle

Packages progress through multiple statuses from creation to delivery:

Status Descriptions

Package has been created but not yet picked up or in transit. Waiting for initial processing.
Package is moving between branches or locations. Currently being transported.
Package has arrived at the destination branch and is ready for final delivery or pickup.
Package has been assigned to a driver and is currently being delivered to the recipient.
Package has been successfully delivered to the recipient. Final status.
Package could not be delivered and has been returned to sender or origin branch.

Status History Tracking

Every status change is logged with detailed information:
class HistorialEstado {
  String? estado;        // Status name
  String? fecha;         // Date of change
  String? hora;          // Time of change
  String? usuario;       // User who made the change
  String? colorEstado;   // Color for UI display
}

Viewing Status History

1

Open Package Details

Select package from the list
2

View History Tab

Click “Historial de Estados” or “Ver Historial”
3

Review Timeline

See complete chronological history:
  • Each status change
  • Date and time of change
  • User who updated status
  • Visual timeline display
Status history is permanent and cannot be deleted, providing a complete audit trail for each package.

Driver Assignment

Assign packages to drivers (motorizados) for home delivery.

When to Assign Drivers

Drivers should be assigned when:
  • Package delivery type includes home delivery
  • Package has arrived at destination branch (“En sucursal destino”)
  • Recipient address is confirmed
  • Package is ready for final delivery

Assignment Process

1

Select Package

Navigate to package details that needs delivery
2

Click Assign Driver

Select “Asignar Motorizado” button
3

View Available Drivers

See list of drivers at the branch:
  • Driver name and document
  • Current workload
  • Contact information
4

Select Driver(s)

  • Choose primary driver
  • Optionally add secondary driver for backup
  • Multiple drivers can be assigned to same package
5

Confirm Assignment

Driver receives notification and package appears in their delivery list

Driver Model

class Motorizado {
  int? id;
  int? idUsuario;
  String? nombres;
  String? nroDocumento;
  String? celular;
  int? idTipoUsuario;  // User type: 4 (primary) or 5 (secondary)
  int? idSucursal;
}
Assign packages to drivers based on delivery zones to optimize routes and reduce delivery time.

Tracking Methods

Multiple ways to track package location and status: Search by remito number for instant package lookup:
GET /encomienda/getEncomiendaByRemito?remito=REM-001234

2. Package List Filters

Filter packages by:
  • Date Range: Today, this week, custom range
  • Status: Any status or specific status
  • Branch: Origin or destination branch
  • Driver: Packages assigned to specific driver
  • Customer: All packages for a customer

3. Driver View

Drivers see their assigned packages:
  • Pending deliveries
  • Completed deliveries today
  • Delivery addresses and routes
  • Customer contact information

4. Customer View

Customers track their packages:
  • Enter remito number in app
  • View current status
  • See delivery history
  • Estimated delivery date

Real-Time Updates

Status updates are reflected immediately:
When admin updates package status:
  1. Status saved to database
  2. History entry created
  3. Customer notification sent (if configured)
  4. Driver updated (if assigned)

Delivery Workflow

For Home Delivery Packages

1

Package Arrives at Destination

Status: “En sucursal destino”
  • Package reaches destination branch
  • Ready for final delivery
2

Assign to Driver

Admin assigns package to available driver
  • Driver receives notification
  • Package details visible in driver app
3

Driver Accepts

Driver reviews delivery:
  • Checks address and contact info
  • Plans delivery route
  • Status: “En reparto”
4

Out for Delivery

Driver attempts delivery:
  • Contacts recipient
  • Navigates to address
  • Multiple attempts if needed
5

Delivery Completed

Successful delivery:
  • Takes proof of delivery photo
  • Updates status to “ENTREGADO”
  • Records recipient name/signature
  • Completes delivery
6

Alternative: Return

If delivery fails:
  • Updates status to “Devuelto”
  • Adds notes about failure reason
  • Returns package to branch

Package Images

Attach photos to packages for documentation:

Image Types

  • Package condition: Document package state
  • Proof of delivery: Show delivered package
  • Address confirmation: Verify delivery location
  • Damage documentation: Record any damage

Managing Images

1

Open Package Details

Select package from list
2

Access Images

Click “Imágenes” or image icon
3

Add Photo

  • Take photo with camera
  • Upload from gallery
  • Add description/notes
4

View Gallery

All package photos displayed in gallery view

Driver Performance Tracking

Monitor driver efficiency and performance:

Metrics Available

  • Deliveries Completed: Total successful deliveries
  • Delivery Rate: Percentage of successful deliveries
  • Average Delivery Time: Time from assignment to delivery
  • Active Packages: Currently assigned packages
  • Returns: Packages returned to branch

Viewing Driver History

1

Navigate to Drivers

From admin panel, select “Motorizados”
2

Select Driver

Click on driver name
3

View History

See complete delivery history:
  • All assigned packages
  • Delivery dates and times
  • Success/failure rate
  • Customer feedback (if available)

Notifications

While push notifications are not currently implemented, the system logs all status changes for customer queries.
Customers can check package status:
  • Login to customer app
  • Enter remito number
  • View current status and history

Troubleshooting Deliveries

Solution: Verify package arrived at destination branch. Update status to “En sucursal destino” once confirmed.
Solution:
  • Contact customer for better directions
  • Update package with landmark references
  • Assign different driver familiar with area
Solution:
  • Driver attempts contact via phone
  • Schedule redelivery attempt
  • If multiple failures, return to branch and contact sender
Solution:
  • Contact customer to verify correct address
  • Update package details
  • Reassign to driver with correct address

Best Practices

Group deliveries by zone: Assign multiple packages in the same area to one driver to improve efficiency.
Update status promptly: Keep customers informed by updating package status as soon as changes occur.
Verify addresses before assignment: Confirm delivery addresses are complete and accurate before assigning to drivers.

API Reference

For programmatic delivery tracking:

Status History

GET /encomienda/getHistorialEstados

Update Status

POST /encomienda/addEstadoEncomienda

Assign Drivers

POST /encomienda/addMotorizados

Track Package

GET /encomienda/getEncomiendaByRemito

See Also

Build docs developers (and LLMs) love