WENTUS

Características

Descripción detallada de las características de Los Santos Eats.

Ciclo de pedidos

Los pedidos siguen una máquina de estados:

PLACED → PREPARING → READY → COURIER_SEARCH → ACCEPTED → PICKED_UP → EN_ROUTE → DELIVERED
  • La cancelación está disponible desde cualquier estado no terminal.
  • Si no se encuentra mensajero dentro de CourierSearchTimeout, el pedido se cancela automáticamente y se reembolsa.
  • Si un mensajero abandona el pedido, vuelve a COURIER_SEARCH.

Gestión de tiendas

Registro de tiendas

Las tiendas se definen en Config.Stores y se persisten en eats_stores.metadata. Los cambios en tiempo de ejecución (tarifa de entrega, estado habilitado) se guardan a través de la app del teléfono.

Gestión de menús

  • El menú semilla define productos y precios iniciales.
  • Los gerentes pueden editar precios dentro del 75%-125% del precio semilla.
  • menuCatalog define productos aprobados para agregar al menú.
  • Máximo de ítems y porcentaje de cambio de precio configurables por tienda.

Estados de tienda

  • Abierto/Cerrado — Alternar a través de la app del teléfono.
  • Auto-ready — Los pedidos saltan al estado READY.

Entrega por mensajero

Aceptar pedidos

  • Los mensajeros ven pedidos disponibles en la app del teléfono.
  • Deben tener el rol de trabajo configurado (Config.CourierJobs).
  • Limitado a MaxConcurrentDeliveries a la vez.

Recogida y entrega

  1. El mensajero viaja a la ubicación de la tienda.
  2. Recoge el pedido dentro de PickupDistance.
  3. Viaja a la ubicación del cliente.
  4. Entrega dentro de DropoffDistance.

Modos de entrega

  • Directo — La comida se agrega automáticamente al inventario del cliente en la entrega.
  • Mensajero — El mensajero recibe la comida en la recogida, la entrega manualmente (modo RP).

Auto-entrega de venue

Cuando está habilitado, el personal del venue puede entregar sus propios pedidos si ningún mensajero los acepta.


Sistema de pago

Métodos de pago

  • Efectivo — Deducido del efectivo del jugador.
  • Banco — Deducido de la cuenta bancaria del jugador.
  • Tarjeta — Por cargo a tarjeta tgg-banking.
  • Sociedad — Deducido de la cuenta de sociedad (se requiere grado mínimo).

Pagos de sociedad

Los ingresos van a la cuenta de sociedad de la tienda. Soporta:

  • Renewed-Banking
  • tgg-banking
  • qb-banking / qb-management
  • okokBanking
  • codem-bank

Reembolsos

  • Reembolso automático al cancelar pedido.
  • El método de reembolso coincide con el método de pago.
  • Los pedidos contra reembolso se reembolsan vía Payouts.pay.

Promociones

Los gerentes de tienda pueden crear promociones:

  • Descuento porcentual — Hasta MaxPromoPercent (predeterminado: 30%).
  • Descuento fijo — Hasta MaxPromoFlat (predeterminado: $500).
  • Las promociones se aplican al total del pedido antes de la tarifa de entrega.

Características de clientes

Favoritos

  • Guardar tiendas preferidas para acceso rápido.
  • Almacenado por jugador en la base de datos.

Direcciones

  • Guardar direcciones de entrega.
  • Ubicaciones nombradas para fácil selección.

Reseñas

  • Calificar tiendas después de la entrega.
  • Almacenado en la base de datos.

Apps de teléfono

npwd

  • Integración de API de app externa.
  • UI basada en React con soporte de hot-reload.

lb-phone

  • Integración de app personalizada.
  • UI basada en Vue.js.

qb-phone

  • Integración de UI basada en iframe.
  • Parchea qb-phone para alojar la app.

Onboarding de comerciantes

El personal puede crear nuevas tiendas a través de la app del teléfono:

  1. El personal accede al onboarding.
  2. Ingresa los detalles de la tienda (nombre, ubicación, menú).
  3. La tienda se crea con configuración predeterminada.
  4. Luego el gerente puede personalizar a través de la app.

Requiere Config.MerchantOnboarding.Enabled = true.


Contra reembolso (COD)

Cuando está habilitado:

  1. El cliente selecciona pago contra reembolso.
  2. El mensajero cobra efectivo en la entrega.
  3. El mensajero deposita efectivo en la cuenta de sociedad.

Validado del lado del servidor para prevenir exploits.


Seguridad

  • Todos los precios validados del lado del servidor.
  • Los ítems verificados contra el inventario.
  • Los permisos verificados en cada acción.
  • Rate limiting en búsqueda de mensajero y aceptación de venue.
  • Límites de precio máximo de ítems y tamaño de menú.