Mobile App para Repartidores

Aplicación con servicios para repartidores integrada al módulo de delivery de BIMS.

Jornadas de Repartidores

Las Jornadas de Repartidores son registros que engloban la operación de un Repartidor en una Jornada de Trabajo. Cada Jornada de Repartidor inicia y finaliza con un arqueo de caja.

Cada Repartidor tiene asignada de forma exclusiva una Cuenta de Fondos en BIMS. Las Cuentas de Fondos en BIMS representan repositorios físicos o virtuales de dinero.

Al inicio de la operación, el repartidor podría recibir de la empresa una suma de dinero en efectivo que usará para el cashback ("vuelto"). En BIMS un usuario transfiere estos valores desde una Cuenta de Fondos a la Cuenta de Fondos del Repartidor.

Al iniciar su Jornada, el Repartidor declara los valores que ha recibido y estos se establecen como el saldo inicial para las transacciones que vendrán y que afectarán la caja virtual que administra y que deberá rendir al final de su Jornada. El valor que declara el Repartidor puede diferir del valor indicado por el usuario de BIMS. Esta diferencia se alerta en BIMS.

Si existiera una diferencia entre el saldo computado en la Cuenta de Fondos del Repartidor al momento de la Apertura de la Jornada, versus el saldo declarado por el Repartidor en la apertura de la Jornada, se crea automáticamente en BIMS un movimiento de ajuste de saldo para ajustar el saldo de la Cuenta de Fondos del Repartidor al valor declarado por el Repartidor, dado que ese es el valor considerado como real y con declaración de responsabilidad del Repartidor.

Estructura de Datos

Las Jornada de Repartidores se almacenan en las siguientes tablas con la siguiente composición.

journals_deliveries: JournalsDelivery

Campo
Descripción
Tipo de Dato

id

Id de la Jornada de Repartidor

BIGINT

open_user_id

Id del Usuario de Apertura

BIGINT

close_user_id

Id del Usuario de Cierre

BIGINT

opening_computed_balance

Saldo Computado en la Apertura

NUMERIC

credit

Saldo Declarado en la Apertura

NUMERIC

computed_balance

Saldo Computado al Cierre

NUMERIC

closing_balance

Saldo Declarado al Cierre

NUMERIC

open_tm

Fecha y Hora de Apertura

TIMESTAMP

close_tm

Fecha y Hora de Cierre

TIMESTAMP

approval_status

Estado de Aprobación: [pending, approved, rejected]

VARCHAR

approval_tm

Fecha y Hora de Cambio de Estado de Aprobación

TIMESTAMP

fund_account_id

Id de Cuenta de Fondos

BIGINT

Resumen de Jornada

La pantalla de Resumen de la Jornada debe exponer los valores de apertura y cierre de una Jornada de Repartidor.

Endpoint

Consultá los datos de una Jornada de Repartidor con un GET al endpoint "journals_deliveries" indicando el id de la Jornada de Repartidor como un argumento en la URL. Ejemplo:

curl 'http://localhost:8080/bims2/api/journals_deliveries?sid=li3cpmbmlq1jtjobi28aus8qn1&id=8'

{
    "code": "200",
    "status": "ok",
    "data": [
        {
            "JournalsDelivery": {
                "id": "8",
                "open_user_id": "286",
                "close_user_id": "286",
                "enabled": true,
                "created": "2023-08-21 10:51:39",
                "modified": "2023-08-21 10:53:20",
                "credit": "0",
                "driver_id": "286",
                "computed_balance": "0",
                "close_tm": "2023-08-21 10:53:00",
                "closing_balance": "2000",
                "open_tm": "2023-08-21 10:48:00",
                "fund_account_id": "125",
                "closing_badjust_id": "129",
                "approval_status": "pending",
                "approval_tm": null,
                "approval_user_id": null,
                "opening_computed_balance": "0",
                "fund_transfer_id": null,
                "income": "60000",
                "outcome": "20000"
            },
            "OpenUser": {
                "id": "286",
                "name": "Amancio Martinez"
            },
            "CloseUser": {
                "id": "286",
                "name": "Amancio Martinez"
            },
            "Driver": {
                "id": "286",
                "name": "Amancio Martinez"
            }
        }
    ],
    "last_update": "2024-04-15 12:14:30"
}

Datos

Sección 1: Apertura

Título del Campo
Descripción
Origen

Fecha

Fecha y Hor de Apertura de la Jornada del Repartidor

JournalsDelivery.open_tm

Usuario

Nombre del Usuario que Abrió la Jornada (Siempre será el mismo Usuario activo)

OpenUser.name

Sección 2: Jornada

Título del Campo
Descripción
Origen

Saldo Inicial

Saldo Declarado en la Apertura

JournalsDelivery.credit

Ingresos

Total de movimientos con signo positivo en el extracto de la Cuenta de Fondos del Repartidor en el período de la Jornada posteriores al eventual Ajuste de Saldos de apertura.

JournalsDelivery.income

Egresos

Total de movimientos con signo negativo en el extracto de la Cuenta de Fondos del Repartidor en el período de la Jornada posteriores al eventual Ajuste de Saldos de apertura.

JournalsDelivery.outcome

Saldo Computado

Saldo computado por BIMS al cierre de la Jornada

Ingresos (menos) Egresos

Saldo Declarado

Saldo declarado por el Repartidor al cierre de la Jornada

JournalsDelivery.closing_balance

Diferencia

Diferencia entre Saldos Computado y Declarado

Saldo Declarado - Saldo Computado

Mockup de UI

Last updated

Was this helpful?