﻿# Guía de integración Rapiboy

Estas guías explican cómo crear, consultar y gestionar envíos. Consultar la [referencia de la API](/documentacionapi/) para ver los campos y respuestas de cada operación. Los datos de los ejemplos son ficticios.

## Primeros pasos

Confirmar con Rapiboy la modalidad de la cuenta, país, configuración de origen, proveedor y ambiente autorizado. UAT es `https://uat.rapiboy.com`; producción es `https://rapiboy.com`. Los datos y la configuración pueden ser distintos. Usar credenciales específicas del ambiente.

Seleccionar el ambiente mediante `BaseUrl`. Para realizar pruebas, solicitar a Rapiboy la habilitación de una cuenta UAT antes de crear pedidos o configurar notificaciones. Validar la integración en esa cuenta antes de utilizar las credenciales de producción.

Enviar `Content-Type: application/json` y `Token` en el header. Algunas rutas por modalidad también aceptan `Token` en el cuerpo por compatibilidad; si se envía allí, puede tener prioridad. La ruta genérica `Viaje/Post` utiliza el header.

Descargar e importar la colección Postman desde la documentación, elegir `BaseUrl`, cargar el token únicamente en un valor local y reemplazar los identificadores y fechas de ejemplo. No publicar el token en valores compartidos, ejemplos ni capturas.

## Elegir la ruta

La familia del endpoint no garantiza que todas sus operaciones existan en otras modalidades. La referencia enumera las rutas verificadas; no sustituir prefijos automáticamente para etiquetas, evidencias, rutas o reservas.

La ruta de creación de esta modalidad es `POST /v1/{familia}/Post`. La ruta genérica `POST /v1/Viaje/Post` utiliza la modalidad de la cuenta.

NextDayBasic utiliza cuentas OnDemandBasic; no representa una modalidad independiente. Esta guía incluye las operaciones de ambas familias.


## Crear y consultar un pedido

1. Enviar la creación con direcciones, contacto y paquetes acordes a la cuenta y proveedor. Si el origen ya está configurado en la cuenta, confirmar qué campos pueden omitirse.
2. Guardar el `IdPedido`, la referencia y el tracking de la respuesta. Utilizar `IdPedido` para identificar el pedido; no utilizar `$id` ni `$ref` como identificadores del envío.
3. Consultar con `GET /v1/{familia}/GetQuery?IdPedido=...`. La respuesta informa el resultado de la consulta en `Resultado` y los datos del pedido en `Unico`.
4. Consultar estados mediante `GET /v1/LastMile/Estados`. No interpretar el número del estado como un orden de progresión garantizado.

Ejemplo de creación por modalidad, para completar con los datos de la cuenta y respetando los requisitos de su proveedor:

Consultar los ejemplos de creación en la referencia de cada modalidad.

`Viaje/Get` también admite IdPedido, ReferenciaExterna y TrackingEncriptado por query. Algunas operaciones `Get` requieren JSON en el cuerpo de la solicitud. Enviar los campos donde indica cada operación; no trasladarlos automáticamente a la query. Para buscar un pedido se ofrece `GetQuery`, que no necesita cuerpo.

`NextDaySmart/Get` también admite IdPedido, ReferenciaExterna y TrackingEncriptado por query.


Las coordenadas de creación son números o `null`, nunca cadenas vacías. Usar punto decimal.

En cotización NDS las coordenadas no admiten `null`: omitirlas para utilizar el valor predeterminado si se cotiza por código postal.


La creación devuelve `Estado`, no `IdEstado`. `Precio` es texto o `null` en la creación y numérico al cotizar. En Get/GetQuery, convertir `Unico.Precio` a número usando punto decimal; `PrecioDouble` no se completa en estas consultas y puede ser 0. En GetList, `Precio` puede incluir símbolo monetario y separadores locales: usar `PrecioDouble` para cálculos. Conservar estos tipos al leer las respuestas.

`FechaProgramada` usa `dd/MM/yyyy` o `dd/MM/yyyy HH:mm`. Si se omite, la fecha depende de la modalidad, el horario de corte y los días de servicio habilitados para la cuenta; puede pasar al siguiente día habilitado.

En la cotización OnDemandBasic, `Fecha` admite fecha y hora local, por ejemplo `2030-01-15T17:00:00`. Antes de las 16:00 se selecciona el turno de mañana; desde las 16:00, el de tarde. Enviar solo la fecha equivale a las 00:00 y selecciona mañana.


## Cotizar y crear OnDemand

Cotizar antes de crear un pedido OnDemand con este flujo:

1. Confirmar cuenta OnDemandSmart o compatible Food2 de Argentina y disponibilidad del servicio.
2. Ejecutar `POST /v1/OnDemandSmart/Cotizar` con las coordenadas reales de origen y destino y Token en header.
3. La cotización ordinaria devuelve un precio y tiene una vigencia de tres minutos.
4. Crear mediante `POST /v1/Viaje/Post` con `EsOnDemand: true`, la misma cuenta y las mismas coordenadas de origen y destino de la cotización.
5. Si la cotización venció o la creación pide volver a cotizar, cotizar nuevamente antes de reintentar. No considerar creada una orden únicamente porque se obtuvo un precio.

Ejemplo ficticio de cotización:

```json
{
  "LatitudOrigen": -34.583293,
  "LongitudOrigen": -58.392263,
  "LatitudDestino": -34.603712,
  "LongitudDestino": -58.381533
}
```

Ejemplo de creación para completar con los datos de la cuenta:

```json
{
  "DireccionDestino": "Av. de ejemplo 100",
  "CiudadDestino": "CABA",
  "NombreDestino": "Destinatario de ejemplo",
  "TelefonoDestino": "",
  "EmailDestino": "",
  "ReferenciaExterna": "PEDIDO-EJEMPLO-001",
  "LatitudDestino": null,
  "LongitudDestino": null,
  "FechaProgramada": null,
  "Paquetes": [
    {
      "Largo": 20,
      "Ancho": 15,
      "Alto": 10,
      "Peso": 1,
      "Cantidad": 1,
      "ReferenciaExterna": "BULTO-EJEMPLO-001"
    }
  ],
  "EsOnDemand": true
}
```

La cotización puede seleccionar proveedores con requisitos adicionales. Rappi exige nombre, referencia externa, email válido, teléfono y dirección de destino. Completar los datos reales antes de ejecutar; el ejemplo no identifica proveedor ni garantiza cobertura o tarifa.

Si `EsOnDemand` es true, se admite una programación de hasta dos horas hacia adelante. Confirmar con Rapiboy cómo utilizar fecha y tiempo de cocina para el proveedor de la cuenta; la programación no garantiza una hora de llegada.

`/v1/OnDemandSmart/Post` utiliza la modalidad de la cuenta y tiene condiciones propias. Seguir el flujo indicado para cada operación. Una cotización con `EsDedicado` devuelve un precio, pero no habilita la creación mediante el flujo cotizar→crear descrito aquí; acordar su uso con Rapiboy.


## Editar, cancelar y reintentar

`PUT .../Put?idPedido=...` aplica una actualización parcial sujeta al estado del pedido. Omitir campos que no se desean modificar. No asumir que una cadena vacía elimina un dato; `Vehiculo`, `Bulto` y SKU no se ofrecen como modificaciones efectivas de esta operación. La respuesta exitosa actual es `[]`.

`PUT .../Cancel` recibe al menos un identificador. Preferir `IdPedido` y evitar filtros contradictorios. La respuesta exitosa es HTTP 200 sin cuerpo. `IdMotivo` se aplica en ODS; consultar el catálogo vigente.

Si una creación demora o devuelve un timeout, consultar el pedido antes de volver a crear para evitar duplicados. No asumir que repetir una solicitud es seguro. Esta API no ofrece un header de idempotencia.

## Listados, rutas y reservas

Los listados requieren `FechaDesde` y `FechaHasta`; ambos extremos se incluyen y una diferencia de diez días o más se rechaza. El período filtra por la fecha programada del pedido; si no tiene una, por la fecha de creación. Enviar fechas ISO de ejemplo `2030-01-15`, sustituidas por el período real. `Bultos` puede ser `null` en GetList cuando no se incluye ese detalle.

`IdEstado` se aplica en los listados NextDaySmart.


`IdReserva` se aplica en los listados de esta modalidad.


Para consultar o asignar reservas se utilizan las rutas `Food/GetReservas` y `Food/AsignarReserva`. `GetReservas` usa fecha local `dd/MM/yyyy` y rechaza fechas pasadas. `AsignarReserva` requiere la reserva y un identificador que el endpoint resuelva; `ReferenciaExterna` o `IdViaje` solos no garantizan superar su validación inicial.


Food permite crear una ruta con fecha ISO, asignarle pedidos y retirar un pedido.

`AsignarRuta` requiere una ruta vacía y pedidos del cliente. El orden del array no garantiza el orden final de la ruta. Para `QuitarRuta`, informar la ruta actual del pedido.


## Etiquetas y evidencias

`NextDaySmart/Qr` devuelve una lista de cadenas con JSON interior serializado para cada bulto; no devuelve PDF. `NextDaySmart/Zpl` devuelve una lista de cadenas ZPL. Los ejemplos de etiquetas son ilustrativos y no se garantizan imprimibles.


En Sims, las evidencias se consultan mediante `GET /v1/Viaje/Evidencias`.


Para consultar evidencias, utilizar `IdPedido` en la operación correspondiente a la modalidad. Consultar únicamente pedidos de la cuenta y proteger las fotos y datos personales recibidos.

## Webhooks

La URL receptora, los eventos y la autenticación del webhook se acuerdan con Rapiboy. Validar la autenticación de cada notificación, evitar aplicar dos veces el mismo evento y consultar el pedido cuando sea necesario confirmar su estado. No asumir que las notificaciones llegan una sola vez o en orden.

Las fechas pueden ser textos locales `dd/MM/yyyy HH:mm`; en México pueden usar reloj de doce horas con AM/PM y la medianoche puede omitir `00:00`. Otros campos pueden contener fechas ISO 8601 o `null`. Confirmar el formato de cada campo para el país de la cuenta antes de procesarlo.

Solicitar a Rapiboy el esquema y un ejemplo de los eventos configurados para la cuenta antes de implementar el receptor.


## Referencia de operaciones

| Familia | Método | Ruta | Operación |
| --- | --- | --- | --- |
| NextDaySmart | POST | `/v1/NextDaySmart/Post` | Crear pedido |
| NextDaySmart | GET | `/v1/NextDaySmart/Get` | Buscar pedido con query o cuerpo GET |
| NextDaySmart | GET | `/v1/NextDaySmart/GetQuery` | Buscar pedido con query |
| NextDaySmart | PUT | `/v1/NextDaySmart/Put` | Editar pedido |
| NextDaySmart | PUT | `/v1/NextDaySmart/Cancel` | Cancelar pedido |
| NextDaySmart | GET | `/v1/NextDaySmart/GetList` | Listar pedidos |
| OnDemandSmart | POST | `/v1/OnDemandSmart/ConversionMercadoLibre` | Convertir pedido de Mercado Libre Flex |
| OnDemandSmart | POST | `/v1/OnDemandSmart/Post` | Crear pedido |
| OnDemandSmart | GET | `/v1/OnDemandSmart/Get` | Buscar pedido con cuerpo GET |
| OnDemandSmart | GET | `/v1/OnDemandSmart/GetQuery` | Buscar pedido con query |
| OnDemandSmart | PUT | `/v1/OnDemandSmart/Put` | Editar pedido |
| OnDemandSmart | PUT | `/v1/OnDemandSmart/Cancel` | Cancelar pedido |
| OnDemandSmart | GET | `/v1/OnDemandSmart/GetList` | Listar pedidos |
| OnDemandBasic | POST | `/v1/OnDemandBasic/Post` | Crear pedido |
| OnDemandBasic | GET | `/v1/OnDemandBasic/Get` | Buscar pedido con cuerpo GET |
| OnDemandBasic | GET | `/v1/OnDemandBasic/GetQuery` | Buscar pedido con query |
| OnDemandBasic | PUT | `/v1/OnDemandBasic/Put` | Editar pedido |
| OnDemandBasic | PUT | `/v1/OnDemandBasic/Cancel` | Cancelar pedido |
| OnDemandBasic | GET | `/v1/OnDemandBasic/GetList` | Listar pedidos |
| Food | POST | `/v1/Food/Post` | Crear pedido |
| Food | GET | `/v1/Food/Get` | Buscar pedido con cuerpo GET |
| Food | GET | `/v1/Food/GetQuery` | Buscar pedido con query |
| Food | PUT | `/v1/Food/Put` | Editar pedido |
| Food | PUT | `/v1/Food/Cancel` | Cancelar pedido |
| Food | GET | `/v1/Food/GetList` | Listar pedidos |
| Sims | POST | `/v1/Sims/Post` | Crear pedido |
| Sims | GET | `/v1/Sims/Get` | Buscar pedido con cuerpo GET |
| Sims | GET | `/v1/Sims/GetQuery` | Buscar pedido con query |
| Sims | PUT | `/v1/Sims/Put` | Editar pedido |
| Sims | PUT | `/v1/Sims/Cancel` | Cancelar pedido |
| Sims | GET | `/v1/Sims/GetList` | Listar pedidos |
| SaaS | POST | `/v1/SaaS/Post` | Crear pedido |
| SaaS | GET | `/v1/SaaS/Get` | Buscar pedido con cuerpo GET |
| SaaS | GET | `/v1/SaaS/GetQuery` | Buscar pedido con query |
| SaaS | PUT | `/v1/SaaS/Put` | Editar pedido |
| SaaS | PUT | `/v1/SaaS/Cancel` | Cancelar pedido |
| SaaS | GET | `/v1/SaaS/GetList` | Listar pedidos |
| NextDayBasic | POST | `/v1/NextDayBasic/Post` | Crear pedido |
| NextDayBasic | GET | `/v1/NextDayBasic/Get` | Buscar pedido con cuerpo GET |
| NextDayBasic | GET | `/v1/NextDayBasic/GetQuery` | Buscar pedido con query |
| NextDayBasic | PUT | `/v1/NextDayBasic/Put` | Editar pedido |
| NextDayBasic | PUT | `/v1/NextDayBasic/Cancel` | Cancelar pedido |
| NextDayBasic | GET | `/v1/NextDayBasic/GetList` | Listar pedidos |
| Común | POST | `/v1/Viaje/Post` | Crear pedido con modalidad de la cuenta |
| Común | GET | `/v1/Viaje/GetQuery` | Buscar pedido con modalidad de la cuenta |
| Food | POST | `/v1/Food/Ruta` | Crear ruta |
| Food | PUT | `/v1/Food/AsignarRuta` | Asignar pedidos a ruta |
| Food | PUT | `/v1/Food/QuitarRuta` | Quitar pedido de ruta |
| Común | GET | `/v1/Food/GetReservas` | Consultar reservas |
| Común | POST | `/v1/Food/AsignarReserva` | Asignar pedido a reserva |
| NextDaySmart | GET | `/v1/NextDaySmart/Qr` | Obtener contenido QR por bulto |
| NextDaySmart | GET | `/v1/NextDaySmart/Zpl` | Obtener etiquetas ZPL |
| NextDaySmart | GET | `/v1/NextDaySmart/InfoRepa` | Consultar repartidor |
| NextDaySmart | GET | `/v1/NextDaySmart/Cotizar` | Cotizar NextDaySmart |
| OnDemandBasic | GET | `/v1/OnDemandBasic/Cotizar` | Cotizar OnDemandBasic |
| Común | POST | `/v1/OnDemandSmart/Cotizar` | Cotizar OnDemand |
| Común | GET | `/v1/Viaje/Evidencias` | Obtener evidencias del pedido |
| NextDaySmart | GET | `/v1/NextDaySmart/Evidencias` | Obtener evidencias del pedido |
| NextDayBasic | GET | `/v1/NextDayBasic/Evidencias` | Obtener evidencias del pedido |
| OnDemandSmart | GET | `/v1/OnDemandSmart/Evidencias` | Obtener evidencias del pedido |
| OnDemandBasic | GET | `/v1/OnDemandBasic/Evidencias` | Obtener evidencias del pedido |
| Food | GET | `/v1/Food/Evidencias` | Obtener evidencias del pedido |
| SaaS | GET | `/v1/SaaS/Evidencias` | Obtener evidencias del pedido |
| Común | GET | `/v1/LastMile/Estados` | Estados de pedidos |
| Común | GET | `/v1/LastMile/MotivosCancelado` | Motivos de cancelación |
| Común | GET | `/v1/LastMile/MotivosNoEntregado` | Motivos de no entrega |
| Común | GET | `/v1/LastMile/Vehiculos` | Tipos de vehículo |
| Común | GET | `/v1/Viaje/Get` | Buscar pedido con query o cuerpo GET |
| Común | PUT | `/v1/Viaje/Cancel` | Cancelar pedido |
| Food | GET | `/v1/Food/Tracking` | Consultar tracking de una reserva |

## Campos de la API

### ConversionMercadoLibre

| Campo | Tipo |
| --- | --- |
| `IdFlex` | integer / null |
| `IdShipping` | integer / null |

### Pedido

| Campo | Tipo |
| --- | --- |
| `Receptor` | object |
| `DemoraMinutos` | integer |
| `Terminado` | boolean |
| `FechaProgramado` | string / null |
| `Visitas` | integer |
| `Id` | integer |
| `IdPedido` | integer |
| `TrackingEncriptado` | string / null |
| `TrackingUrl` | string / null |
| `ReferenciaExterna` | string / null |
| `UltimaActualizacion` | string / null |
| `UltimaActualizacionEstado` | string / null |
| `Comprobante` | string / null |
| `Precio` | string / null |
| `PrecioDouble` | number |
| `Origen` | string / null |
| `ObservacionOrigen` | string / null |
| `Destino` | string / null |
| `ObservacionDestino` | string / null |
| `TelefonoOrigen` | string / null |
| `TelefonoDestino` | string / null |
| `EmailDestino` | string / null |
| `Estado` | integer |
| `EstadoColor` | string / null |
| `EstadoNombre` | string / null |
| `Motivo` | string / null |
| `IdMotivoNoEntregado` | integer / null |
| `IdMotivoCancelado` | integer / null |
| `IdMotoboy` | integer / null |
| `IdViajeOnDemand` | integer / null |
| `Orden` | integer |
| `Fecha` | string / null |
| `Nombre` | string / null |
| `NombreDestino` | string / null |
| `TelefonoRepartidor` | string / null |
| `Patente` | string / null |
| `Programado` | string / null |
| `ProgramadoHora` | string / null |
| `ProgramadoDate` | string / null |
| `Vehiculo` | string / null |
| `Latitud` | number / null |
| `Longitud` | number / null |
| `DNI` | string / null |
| `LatitudOrigen` | number / null |
| `LongitudOrigen` | number / null |
| `LatitudDestino` | number / null |
| `LongitudDestino` | number / null |
| `Etiqueta` | string / null |
| `Descarga` | string / null |
| `Reserva` | string / null |
| `AsignadoRepaEnTurno` | boolean |
| `FotoNoEntregado` | string / null |
| `IdDetalle` | integer |
| `IdReserva` | integer / null |
| `IdRuta` | integer / null |
| `Libre` | string / null |
| `LlegadaLocal` | string / null |
| `RetiroLocal` | string / null |
| `LlegadaCliente` | string / null |
| `FechaDemoraMeli` | string / null |
| `FechaEnPreparacion` | string / null |
| `Demora` | integer / null |
| `IdViajeInversa` | integer / null |
| `Cancelado` | boolean |
| `AvisoExcedente` | boolean |
| `Codigo` | string / null |
| `CodigoVerificacion` | string / null |
| `Piso` | string / null |
| `Departamento` | string / null |
| `EsOnDemand` | boolean |
| `IdOrigen` | integer |
| `IdPlataforma` | integer / null |
| `RepartidorOnDemand` | string / null |
| `TrackingUrl_OnDemand` | string / null |
| `Excedente` | number |
| `MontoExtraIncentivoODS` | number |
| `Distancia` | number / null |
| `Historial` | array |
| `Bultos` | array / null |
| `$id` | string |

### HistorialPedido

| Campo | Tipo |
| --- | --- |
| `Fecha` | string / null |
| `Estado` | string / null |
| `IdEstado` | integer |
| `Descripcion` | string / null |
| `Comentario` | string / null |
| `Motivo` | string / null |
| `IdMotivo` | integer / null |
| `Color` | string / null |

### BultoRespuesta

| Campo | Tipo |
| --- | --- |
| `Id` | integer |
| `Largo` | number / null |
| `Ancho` | number / null |
| `Alto` | number / null |
| `Peso` | number / null |
| `AclaracionesBulto` | string / null |

### Receptor

| Campo | Tipo |
| --- | --- |
| `Nombre` | string / null |
| `Dni` | string / null |
| `Foto` | string / null |
| `Firma` | string / null |

### Articulo

| Campo | Tipo |
| --- | --- |
| `IdArticulo` | integer |
| `Cantidad` | integer |
| `Nombre` | string / null |
| `PalabraClave` | string / null |

### Paquete

| Campo | Tipo |
| --- | --- |
| `Id` | integer / null |
| `GuardarPaquete` | boolean |
| `Largo` | number / null |
| `Ancho` | number / null |
| `Alto` | number / null |
| `Peso` | number / null |
| `Cantidad` | integer |
| `AclaracionesBulto` | string / null |
| `FreeShipping` | boolean / null |
| `ReferenciaExterna` | string / null |
| `Sku` | string / null |
| `CudNumber` | string / null |

### CrearPedido

| Campo | Tipo |
| --- | --- |
| `NombreOrigen` | string / null |
| `DireccionOrigen` | string / null |
| `ObservacionOrigen` | string / null |
| `BarrioOrigen` | string / null |
| `TelefonoOrigen` | string / null |
| `LatitudOrigen` | number / null |
| `LongitudOrigen` | number / null |
| `CiudadOrigen` | string / null |
| `CPOrigen` | string / null |
| `NombreDestino` | string / null |
| `DireccionDestino` | string / null |
| `ObservacionDestino` | string / null |
| `BarrioDestino` | string / null |
| `TelefonoDestino` | string / null |
| `LatitudDestino` | number / null |
| `LongitudDestino` | number / null |
| `CiudadDestino` | string / null |
| `CPDestino` | string / null |
| `EmailDestino` | string / null |
| `CodigoPlataforma` | string / null |
| `ReferenciaExterna` | string / null |
| `FechaProgramada` | string / null |
| `FechaProgramadaHasta` | string / null |
| `ValorDeclarado` | number |
| `Inversa` | boolean |
| `Cambio` | boolean |
| `DisplayId` | string / null |
| `TiempoDeCocina` | integer |
| `CodigoVerificacion` | string / null |
| `Propina` | integer / null |
| `EsOnDemand` | boolean |
| `Piso` | string / null |
| `Departamento` | string / null |
| `Paquetes` | array |
| `Articulos` | array |
| `FechaHastaEntrega` | string / null |
| `Token` | string / null |

### BuscarPedido

| Campo | Tipo |
| --- | --- |
| `IdPedido` | integer / null |
| `ReferenciaExterna` | string / null |
| `TrackingEncriptado` | string / null |

### BuscarPedidoRespuesta

| Campo | Tipo |
| --- | --- |
| `$id` | string |
| `Resultado` | boolean |
| `Mensaje` | string / null |
| `Precio` | number |
| `Demora` | number |
| `Distancia` | number |
| `Unico` | object |
| `Lista` | array |
| `Fecha` | string / null |
| `IdUsuario` | integer / null |

### EditarPedido

| Campo | Tipo |
| --- | --- |
| `NombreOrigen` | string / null |
| `DireccionOrigen` | string / null |
| `ObservacionOrigen` | string / null |
| `BarrioOrigen` | string / null |
| `TelefonoOrigen` | string / null |
| `LatitudOrigen` | number / null |
| `LongitudOrigen` | number / null |
| `CiudadOrigen` | string / null |
| `CPOrigen` | string / null |
| `NombreDestino` | string / null |
| `DireccionDestino` | string / null |
| `ObservacionDestino` | string / null |
| `BarrioDestino` | string / null |
| `TelefonoDestino` | string / null |
| `LatitudDestino` | number / null |
| `LongitudDestino` | number / null |
| `CiudadDestino` | string / null |
| `CPDestino` | string / null |
| `EmailDestino` | string / null |
| `ReferenciaExterna` | string / null |
| `FechaProgramada` | string / null |
| `Piso` | string / null |
| `Departamento` | string / null |

### CancelarPedido

| Campo | Tipo |
| --- | --- |
| `IdPedido` | integer / null |
| `ReferenciaExterna` | string / null |
| `TrackingId` | string / null |
| `IdMotivo` | integer / null |

### ListarPedidos

| Campo | Tipo |
| --- | --- |
| `FechaDesde` | string |
| `FechaHasta` | string |
| `IdEstado` | integer / null |
| `IdReserva` | integer / null |

### InfoRepartidorFiltro

| Campo | Tipo |
| --- | --- |
| `IdMotoboy` | integer / null |
| `Documento` | string / null |
| `Patente` | string / null |
| `Cache` | boolean |
| `Token` | string / null |

### InfoRepartidorRespuesta

| Campo | Tipo |
| --- | --- |
| `Nombre` | string / null |
| `Apellido` | string / null |
| `Documento` | string / null |
| `Patente` | string / null |
| `Latitud` | number / null |
| `Longitud` | number / null |
| `Viajes` | array |

### CotizarNextDaySmart

| Campo | Tipo |
| --- | --- |
| `CPOrigen` | string / null |
| `CPDestino` | string / null |
| `CiudadOrigen` | string / null |
| `CiudadDestino` | string / null |
| `ValorDeclarado` | number |
| `LatitudDestino` | number |
| `LongitudDestino` | number |
| `LatitudOrigen` | number |
| `LongitudOrigen` | number |
| `Bultos` | array |

### CotizarOnDemandBasic

| Campo | Tipo |
| --- | --- |
| `Direccion` | string / null |
| `Latitud` | number / null |
| `Longitud` | number / null |
| `IdVehiculo` | integer |
| `CPDestino` | string / null |
| `Fecha` | string |

### CotizarOnDemandSmart

| Campo | Tipo |
| --- | --- |
| `LatitudDestino` | number |
| `LongitudDestino` | number |
| `LatitudOrigen` | number |
| `LongitudOrigen` | number |
| `EsDedicado` | boolean |

### CrearRuta

| Campo | Tipo |
| --- | --- |
| `Fecha` | string |

### AsignarRuta

| Campo | Tipo |
| --- | --- |
| `IdRuta` | integer |
| `IdPedidos` | array |

### QuitarRuta

| Campo | Tipo |
| --- | --- |
| `IdRuta` | integer |
| `IdPedido` | integer |

### AsignarReserva

| Campo | Tipo |
| --- | --- |
| `IdReserva` | integer |
| `IdPedido` | integer / null |
| `IdViaje` | integer / null |
| `TrackingEncriptado` | string / null |
| `ReferenciaExterna` | string / null |

### Reserva

| Campo | Tipo |
| --- | --- |
| `$id` | string |
| `IdReserva` | integer |
| `NombreRepartidor` | string / null |
| `Desde` | string / null |
| `Hasta` | string / null |
| `Estado` | string / null |
| `EnviosEnCurso` | array |
| `EnviosEntregados` | array |

### EnvioReserva

| Campo | Tipo |
| --- | --- |
| `Id` | integer |
| `ReferenciaExterna` | string / null |
| `IdEstado` | integer |
| `UrlTracking` | string / null |

### ViajeRepartidor

| Campo | Tipo |
| --- | --- |
| `Id` | integer |
| `Referencia` | string / null |
| `ClienteDestino` | string / null |
| `DireccionDestino` | string / null |
