Saltar al contenido principal

Delivery Schedules & Zones

CampoValor
Handlersadmin/handlers/delivery_schedules.go, admin/handlers/delivery_zones.go
Rutas base/admin/settings/delivery-schedules, /admin/settings/delivery-zones
Modelosdelivery_schedules, delivery_schedule_slots, delivery_schedule_exceptions, delivery_cutoff_rules, delivery_zones, delivery_districts
EstadoImplementado

Descripción

Dos módulos complementarios para gestión de entregas:

  • Delivery Schedules: Configuración de horarios y slots de entrega (ej: "Mañana 9-12", "Tarde 2-6"), excepciones por fecha, y reglas de corte.
  • Delivery Zones: Zonas geográficas con precios base y distritos asociados para cobertura de reparto.

Delivery Schedules

Endpoints

MétodoRutaAcción
GET/admin/settings/delivery-schedulesVer configuración
POST/admin/settings/delivery-schedules/toggleActivar/desactivar feature
POST/admin/settings/delivery-schedules/slotsCrear slot
PUT/admin/settings/delivery-schedules/slots/:idActualizar slot
DELETE/admin/settings/delivery-schedules/slots/:idEliminar slot
POST/admin/settings/delivery-schedules/exceptionsCrear excepción
DELETE/admin/settings/delivery-schedules/exceptions/:idEliminar excepción
POST/admin/settings/delivery-schedules/cutoffsCrear regla de corte
DELETE/admin/settings/delivery-schedules/cutoffs/:idEliminar regla de corte

Campos - Slot

CampoTipoDescripción
idUUIDIdentificador único
namestringNombre del slot (ej: "Mañana")
start_timetimeHora de inicio (HH:MM)
end_timetimeHora de fin (HH:MM)
positionintOrden de visualización
is_activeboolSlot activo

Campos - Exception

CampoTipoDescripción
idUUIDIdentificador único
slot_idUUIDSlot afectado
exception_datedateFecha de la excepción
reasonstringMotivo (ej: "Feriado")
is_activeboolExcepción activa

Campos - Cutoff Rule

CampoTipoDescripción
idUUIDIdentificador único
slot_idUUIDSlot al que aplica
cutoff_hoursintHoras antes del corte
descriptionstringDescripción de la regla

Delivery Zones

Endpoints

MétodoRutaAcción
GET/admin/settings/delivery-zonesVer zonas y distritos
POST/admin/settings/delivery-zonesCrear zona
PUT/admin/settings/delivery-zones/:idActualizar zona
DELETE/admin/settings/delivery-zones/:idEliminar zona
POST/admin/settings/delivery-zones/districtsCrear distrito
PUT/admin/settings/delivery-zones/districts/:idActualizar distrito
DELETE/admin/settings/delivery-zones/districts/:idEliminar distrito

Campos - Zone

CampoTipoDescripción
idUUIDIdentificador único
namestringNombre de la zona
descriptionstringDescripción
base_priceint64Precio base en céntimos
is_activeboolZona activa

Campos - District

CampoTipoDescripción
idUUIDIdentificador único
zone_idUUIDZona padre
namestringNombre del distrito
coverage_notesstringNotas de cobertura
is_activeboolDistrito activo

Notas

  • Los precios se almacenan en céntimos (int64) y se formatean como "S/ 15.00"
  • Las excepciones se muestran con el nombre del slot asociado
  • El feature de schedules se puede activar/desactivar globalmente
  • Los distritos heredan el precio base de su zona