# Geolocation Module

## Descripcion

Servicios de geolocalizacion para el ERP. Este modulo esta planeado para proporcionar funcionalidades de tracking de ubicacion, geocodificacion, geofencing y calculo de rutas/distancias.

## Estado

**Pendiente de Implementacion**

Este modulo aun no ha sido desarrollado. Las entidades y servicios descritos a continuacion representan la funcionalidad planificada.

## Entidades Planificadas

| Entidad | Schema | Descripcion |
|---------|--------|-------------|
| `GeoLocation` | geo.locations | Ubicaciones registradas con coordenadas y metadata |
| `GeoFence` | geo.fences | Zonas geograficas definidas (poligonos/circulos) |
| `GeoTrack` | geo.tracks | Historial de ubicaciones de dispositivos/usuarios |
| `GeoAddress` | geo.addresses | Direcciones geocodificadas con componentes |

## Funcionalidades Planificadas

### Tracking de Ubicacion
- Registro de ubicaciones de dispositivos moviles
- Historial de movimientos
- Ubicacion en tiempo real

### Geocodificacion
- Conversion de direcciones a coordenadas (forward)
- Conversion de coordenadas a direcciones (reverse)
- Autocompletado de direcciones

### Geofencing
- Definicion de zonas geograficas
- Alertas de entrada/salida de zonas
- Validacion de ubicacion dentro de area

### Rutas y Distancias
- Calculo de distancias entre puntos
- Optimizacion de rutas de entrega
- Tiempo estimado de llegada

## Dependencias Planificadas

- `auth` - Contexto de usuario/dispositivo
- `biometrics` - Integracion con ubicacion de dispositivos
- Google Maps API o similar (proveedor externo)

## Configuracion Requerida

| Variable | Descripcion |
|----------|-------------|
| `MAPS_API_KEY` | API key del proveedor de mapas |
| `MAPS_PROVIDER` | Proveedor: google, mapbox, here |

## Casos de Uso

1. **Delivery tracking** - Seguimiento de entregas en tiempo real
2. **Check-in de empleados** - Verificacion de ubicacion en punto de venta
3. **Zonas de servicio** - Validar si una direccion esta en area de cobertura
4. **Optimizacion de rutas** - Planificacion de rutas de entrega
5. **Geocercas de sucursales** - Alertas cuando empleados entran/salen
