Integración de plataforma de Mesas API en Glop

Requisitos:

  • La licencia con el módulo Mesas API y la integración necesaria. Configurar la integración en el propio Glop.

Configuración desde Glop:

La configuración en Glop se llevará a cabo en la sección de terminales, dentro de la pestaña «Módulos/API/PEDIDOS MESAS» en su apartado correspondiente.

Simplemente, será necesario marcar la casilla de verificación para activar la integración y activar los parámetros de aparcar automáticamente los pedidos recibidos y añadir artículos recibidos de nuevos pedidos a las mesas ya abiertas según conveniencia. Enlace al manual de configuraciones necesarias: Link

Localizaciones: Deliveries | Glop API Rest

  1. Obtención de localizacionesPara poder obtener las reservas y redirigirlas a nuestros terminales, necesitamos que la plataforma integradora de Reservas nos envíe localizaciones/restaurantes a las que van dirigidos las reservas.
    Nosotros hacemos un mapeo entre localizaciones y terminal de Glop de envío de las reservas.

    La plataforma integradora deberá desarrollar un endpoint al cual llamaremos para que nos devuelva las localizaciones. La respuesta debe tener estas características:[ { "id":"96f8adc9-c1dd-42a8-94a1-6b6d669bcce6", "nombre":"Nombre Localización 1" }, { "id":"96f0d827-8b28-4f65-a874-89f67e76a9b4", "nombre":"Nombre Localización 2" } ]El campo id debe ser único para todos las localizaciones existentes. El id de localización lo obtenemos de la llamada explicada aquí.El campo nombre es el nombre de cada localización (restaurante o establecimiento)
    Este endpoint debe ser remitido por la plataforma integradora a joaquin@glop.es.
  2. Nuestro sistema siempre utiliza el id de localización de un JSON de reserva para «llevarlo» hasta el terminal (una vez mapeado).
  3. La plataforma integradora necesita obtener de Glop los identificadores de las mesas para hacer un match entre el salón de Glop y el de la plataforma Obtener mesas por id grupo | Glop API Rest “La solicitud requiere que el Servicio Glop esté activo para responder a esta petición. Esto es necesario para la correcta recuperación de tablas a través de los grupos de terminales.” El ID de grupo se refiere a un establecimiento (Localización) que agrupa al menos un terminal. Un grupo puede contener uno o más terminales. Por ejemplo, si un propietario tiene dos establecimientos, esto implicaría tener dos ID de grupos diferentes: uno con uno o más terminales y el otro con sus propios terminales. Aquí un enlace al endpoint de obtener la lista de grupos de terminales: Obtener lista grupos terminales | Glop API Rest

Mesas: Obtener mesas por id grupo | Glop API Rest

  1. Obtención de mesas
    Para poder asignar las reservas a las mesas equivalentes en los salones de glop, las plataformas integradoras deberán usar este endpoint para recibir los identificadores únicos de cada mesa.
    Nosotros hacemos un mapeo entre el número de mesa en los salones Glop y los identificadores que devolvemos en el endpoint. Para poder realizar esta llamada, el software Glop deberá estar en marcha.

    Estructura endpoint a sistema externo de reservas

    curl --request GET \ --url https://api.glop.es/api/v1/cloud/tables?id_grupo={id_grupo} \ --header 'Accept: application/json' \ --header 'Authorization: Bearer 123'
    • Id_grupo: ID del grupo de terminales sobre el cual queremos obtener las mesas.
    • Authorization: Token de acceso que se obtendrá mediante el endpoint de obtener token.

      Nuestro endpoint devolverá una respuesta con estos parámetros:
    [ { "id_mesa": "12", "numero_mesa": "9", "id_salon": "1", "nombre_salon": "Salon Glop" } ]
    • id_mesa: Identificador único de la mesa.
    • numero_mesa: Número de la mesa en el salón de glop.
    • id_salon: Identificador único del salón al cual pertenece la mesa.
    • nombre_salon: Nombre del salón al cual pertenece la mesa en glop.

Obtener token de acceso: Autorización | Glop API Rest

  1. Obtención del token
    Para poder realizar llamadas a la API de Glop se necesitará obtener el Bearer Token de autorización mediante este endpoint. Para poder obtenerlo necesitaremos tener un sitio configurado con API Rest en App.glop.es.

    Estructura endpoint a sistema externo de reservas

    curl --request POST \ --url https://api.glop.es/api/v1/auth/oauth/token \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "grant_type": "client_credentials", "client_id": "{{client_id_client_user}}", "client_secret": "{{client_secret_client_user}}", "scope": "*" }'
    • client_id: Id de las credenciales de API Rest del sitio.
    • client_secret: Secret de las credenciales de API Rest del sitio.
      Estos valores deberán ser suministrados por el soporte de Glop.

      Nuestro endpoint devolverá una respuesta con estos parámetros:

      { "token_type": "string", "expires_in": 0, "access_token": "string" }El token a usar será el devuelto en el parámetro access_token.

Obtener Pedidos: Recibir pedidos | Glop API Rest

Glop siempre añadirá al ticket de la mesa los productos que se envíen. No se aceptarán anulaciones de líneas ya enviadas ni actualizaciones de las mismas.

Cada vez que se llame con el mismo id_mesa, se añadirán los nuevos productos a las líneas del ticket ya existente en esa mesa. Precaución: no enviar líneas de tickets que ya se enviaron anteriormente ya que se entenderán como líneas nuevas. Si no existiera ticket en esa mesa, se abriría la mesa y se crearía uno nuevo con las líneas. Si se recibe el id_mesa, el pedido se aparcará en dicha mesa en Glop, sin embargo si no se recibe el pedido se aparcará como un pedido delivery.

Estructura endpoint a sistema externo de reservas

curl --request POST \
  --url https://api.glop.es/api/v1/delivery/orders \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123' \
  --header 'Content-Type: application/json' \
  --data '{
  "orderId": "6205109ce29381c7615f187c",
  "id_mesa": "1",
  "deliveryTime": "2022-02-10T14:05:00.000000Z",
  "_created": "2022-02-10T13:18:19.000000Z",
  "_updated": "2022-02-10T13:18:20.000000Z",
  "location": "6143250ca254e1a8323bec47",
  "orderIsAlreadyPaid": true,
  "discountTotal": 0,
  "channel": {
    "slug": "uber"
  },
  "payment": {
    "amount": 3200
  },
  "customer": {
    "name": "Hector",
    "phoneNumber": "912123123",
    "phoneAccessCode": "612123123",
    "email": "900f97630cd5@deliverect.com"
  },
  "deliveryAddress": {
    "street": "Avinguda asdasd Palmer, 3",
    "streetNumber": "4, 6º",
    "postalCode": "08840",
    "city": "Viladecans"
  },
  "clientComments": "Entrega sin contacto.",
  "orderType": 2,
  "deliveryCost": 0,
  "serviceCharge": 0,
  "deliveryTip": 0,
  "items": [
    {
      "plu": "9-rusa",
      "name": "RUSA",
      "price": 700,
      "quantity": 1,
      "productType": 1
    },
    {
      "plu": "M-241-packfamiliarpollo",
      "name": "PACK FAMILIAR POLLO",
      "price": 2500,
      "quantity": 1,
      "productType": 1,
      "subItems": [
        {
          "plu": "1-241-1-polloentero",
          "name": "POLLO ENTERO",
          "quantity": 1,
          "productType": 1
        },
        {
          "plu": "23-241-2-patatasasadasakompana",
          "name": "PATATAS ASADAS AKOMPAÑA",
          "quantity": 1,
          "productType": 1
        },
        {
          "plu": "6-241-3-croquetasdepollo",
          "name": "CROQUETAS DE POLLO",
          "quantity": 1,
          "productType": 1
        },
        {
          "plu": "61-241-4-alioli",
          "name": "ALIOLI",
          "quantity": 1,
          "productType": 1
        }
      ]
    }
  ]
}'

Obtener Grupos de terminales: Obtener grupos de terminales | Glop API Rest

Obtener lista grupos terminales. El ID de grupo se refiere a un establecimiento (Localización) que agrupa al menos un terminal. Un grupo puede contener uno o más terminales. Por ejemplo, si un propietario tiene dos establecimientos, esto implicaría tener dos ID de grupos diferentes: uno con uno o más terminales y el otro con sus propios terminales.

curl --request GET \
  --url https://api.glop.es/api/v1/cloud/terminal-groups \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123'

Obtener lista productos: Obtener lista productos | Glop API Rest

Endpoint para obtener productos.

Esta llamada puede ser parametrizada para obtener productos según:

  • ID

Este endpoint está paginado: para más información lea aquí

curl --request GET \
  --url https://api.glop.es/api/v1/cloud/products \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123' \
  --header 'Content-Type: '

Obtener listado de terminales: Obtener listado de terminales | Glop API Rest

Obtener lista terminales.

curl --request GET \
  --url https://api.glop.es/api/v1/cloud/terminals \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123'

Obtener pre ticket por mesa: Obtener pre ticket por mesa | Glop API Rest

Esta llamada es una obtención ad-hoc contra los terminales GLOP para pedir tickets. Un ticket deberá estar aparcado en mesa para poder ser devuelto, si la mesa está abierta con ese ticket, el ticket en cuestión NO SE DEVOLVERÁ.

El Servicio Glop debe estar activo para poder responder a esta petición.

curl --request GET \
  --url 'https://api.glop.es/api/v1/cloud/pretickets?mode=0' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123'
  --data '{ 
	"id_grupo": 1,
	"id_mesa": 1,
	"mode": 0
  }'

Liberar un pre ticket / Cancelación de pago: Liberar un pre ticket / Cancelación de pago | Glop API Rest

Para cancelar el pago y que el ticket se pueda modificar en el terminal o utilizar otro método de pago.

Si se vuelve a querer pagar este ticket por un método de pago, volver a llamar al endpoint Obtener preticket por mesa.

curl --request PUT \
  --url https://api.glop.es/api/v1/cloud/pretickets \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer 123' \
  --header 'Content-Type: application/json' \
  --data '{
  "id_ticket": "string",
  "id_terminal": "string",
  "payments": {
    "payment_channel": "string"
  }
}'

Pagar un pre ticket / Cerrar ticket: Pagar un pre ticket / Cerrar ticket | Glop API Rest

Marcar un ticket como pagado.

Pago completo del ticket

  • El campo payments.payment_1_amount debe ser igual al total del ticket entregado en Obtener preticket por mesa.
  • El campo payment_type debe ser igual a 0.
  • No es necesario enviar las líneas del ticket a partir de la versión 8.0, no enviar ticket_lines: ver el ejemplo Ejemplo pago total. En versiones anteriores será necesario enviar un array vacío.

Pagos parciales del ticket

  • El campo payments.payment_1_amount será menor que el total del ticket entregado en «Obtener preticket por mesa».

El ticket se marcará como pagado en el terminal en el que se creó según el campo id_terminal.

curl --request PATCH \
  --url https://api.glop.es/api/v1/cloud/pretickets \
  --header 'Accept: application/json, application/xml, multipart/form-data' \
  --header 'Authorization: Bearer 123' \
  --header 'Content-Type: application/json' \
  --data '{
  "id_ticket": "string",
  "merchantOrder": "string",
  "payment_type": 0,
  "id_terminal": "string",
  "num_ticket": "string",
  "sell_channel": "string",
  "total_amount": "string",
  "internal_id": "string",
  "num_invoice": "string",
  "date_pay": "string",
  "return_invoice": "string",
  "return_invoice_num": "string",
  "return_invoice_id": "string",
  "pending_amount": "string",
  "pax": "string",
  "date_new": "string",
  "id_mesa": "string",
  "payment_channel": "string",
  "customer": {
    "customer_id": "string",
    "name": "string",
    "nif": "string",
    "address": "string",
    "city": "string",
    "postcode": "string",
    "state": "string",
    "country": "string"
  },
  "payments": {
    "paymnet_channel": "string",
    "payment_1_id": "string",
    "payment_1": "string",
    "payment_1_amount": "string",
    "payment_2_id": "string",
    "payment_2": "string",
    "payment_2_amount": "string",
    "payment_3_id": "string",
    "payment_3_amount": "string"
  },
  "ticket_lines": [
    {
      "id_item": "string",
      "id_lin_ticket": "string",
      "description_item": "string",
      "amount_item": "string",
      "ud_item": "string",
      "dto_amount": "string",
      "dto_perc": "string",
      "dto_proportional": "string",
      "total_amount": "string",
      "tax_perc": "string",
      "tax_amount": "string",
      "tax": "string",
      "id_variation": "string",
      "date_sale": "string",
      "id_terminal": "string",
      "id_employee": "string",
      "detail": [
        {
          "id_variation": "string",
          "id_tax": "string",
          "invitation": "string",
          "consumption_employees": "string",
          "descrip_kitchen": "string",
          "id_family_sale": "string",
          "principal": "string",
          "compound": "string",
          "inventory": "string",
          "tyc": "string",
          "date_sale": "string"
        }
      ]
    }
  ]
}'

Caso de uso:

  1. Obtener lista productos: Obtenemos la lista de productos disponibles a través de la integración, asegurando que el sistema pueda recuperar con precisión la información sobre los productos que se ofrecen.
  2. Obtener mesas por grupo de terminal: Continuamos verificando que el sistema pueda obtener de manera precisa la lista de mesas asociadas a un grupo específico de terminales de la integración, asegurando así que las mesas estén correctamente identificadas y disponibles para su uso.
  3. Recibir pedidos: A continuación, procedemos a recibir pedidos desde la integración, asegurándonos de que el sistema pueda procesar adecuadamente los pedidos entrantes y asignarlos a las mesas correspondientes de manera precisa y eficiente.
  4. Si la integración cuenta con la modalidad de pagos:
    • Pago parcial Por artículo: Luego, realizamos una prueba de pago parcial por artículo utilizando la funcionalidad de la integración, asegurando que el sistema pueda gestionar correctamente el pago parcial de artículos individuales dentro de un pedido.
    • Pago Parcial Por Importe: Continuamos con una prueba de pago parcial por importe utilizando la funcionalidad proporcionada por la integración, asegurándonos de que el sistema pueda gestionar correctamente el pago parcial de un pedido según el importe especificado.
    • Pago completo del ticket: Finalmente, realizamos una prueba completa de pago del ticket utilizando la funcionalidad proporcionada por la integración, asegurándonos de que el sistema pueda procesar adecuadamente el pago completo del pedido.
  5. Get Pre Ticket By Mesa y Grupo: Seguimos probando la funcionalidad para obtener un pre-ticket asociado a una mesa y grupo de terminales de la integración específicos, asegurando que el sistema pueda recuperar con precisión la información relevante para la gestión de pedidos.
  6. Liberar Pre Ticket: Probamos la capacidad del sistema para liberar un pre-ticket asociado a un pedido en la integración, asegurándonos de que el sistema pueda cancelar adecuadamente la reserva de un pedido pendiente.
  7. Save order (pedido mesa API): Finalizamos realizando pruebas para guardar un pedido de mesa utilizando la API de la integración, verificando que el sistema pueda registrar correctamente los detalles del pedido y mantener un registro adecuado de las transacciones.

Resumen:

Este documento proporciona información detallada sobre la integración con GLOP para las Mesas API.

  • Se requiere una licencia de Glop y la configuración del módulo de integración en el apartado Módulos/API/PEDIDOS MESA.
  • Se describen los diferentes casos de uso llevados a cabo con la integración.
  • Se presentan varios endpoints necesarios para la integración con GLOP, como obtener listado de productos, recibir pedidos y obtener mesas por id grupo de terminales.
  • Se detalla la estructura de los endpoints, ejemplos de respuestas y la importancia de ciertos parámetros como el User-id.

Manual usuario app glop

En este manual vamos a detallar los diferentes módulos, su configuración y funcionamiento de app.glop.es

Módulo Informes:

Configuración:

En los informes podremos configurar el tipo de gráfico, activar/desactivar cada uno de los informes, configurar el refresco automatico, la comparativa, el envío de informes…

Informes Venta:

En el vídeo podemos observar su funcionamiento con los diferentes filtros y comparativas

Informes compra:

Módulo artículos:

El módulo de articulos nos permite ver todos los artículos de los que disponemos, y en caso de tener permisos, modificar el precio de las diferentes tarifas de cada uno de los artículos.

Módulo stock

Podremos consultar el stock de los diferentes artículos en cada uno de los almacenes.

Módulo clientes

En el módulo de clientes, podremos ver, editar, eliminar y crear clientes. Dentro de los datos de cada uno de los clientes, podremos ver sus datos como nobre apellidos email… sus datos fiscales y sus datos adicionales (indicar que tiene una alergia o cualquier cosa que se necesite). En la pestaña de facturación podremos ver su registro de pagos online, los diferentes planes activados (suscripciones), y sus facturas de los últimos años. En la pestaña mensajes podremos enviarle un mensaje a través de un email o SMS. Y en la de documentos podremos subir diferentes documentos asociados al cliente, como un compromiso de confidencialidad, un presupuesto etc…

*A TENER EN CUENTA

Los mensajes a un cliente a través de SMS están condicionados a pago, y este pago va en función de la cantidad de SMS contratados. Si no es activado o se ha terminado el saldo de SMS no se realizará el envío.

Pestaña facturación:

En este vídeo podremos observar las diferentes acciones de la pestaña de facturación, generacion de pagos y como se muestran una vez han sido pagados por el cliente.

Módulo Looker Studio

Manual de usuario Repartidores (Moteros)

INTRODUCCIÓN

La aplicación está diseñada para gestionar el reparto de pedidos, por lo que cada usuario que la utilice será uno de los repartidores de la empresa. Esta aplicación ofrece varias vistas accesibles, entre ellas la vista principal, donde seleccionaremos qué repartidor somos, y la vista de pedidos, la más importante, que permite realizar diversas acciones como ver el detalle del pedido, llamar al cliente, y más.

La aplicación genera rutas óptimas utilizando Google Maps a partir de las direcciones asociadas a cada pedido. Los pedidos en la lista se organizan por la hora de creación, aunque el repartidor tiene la opción de reorganizarlos según sus necesidades, modificando así la ruta dependiendo de las paradas que deba realizar. De este modo, al abrir Google Maps desde la aplicación de repartidores, las paradas estarán organizadas de acuerdo con el orden establecido en la lista de pedidos.

Comprobaciones Previas

¿Requiere licencia de módulo?Necesitaremos una licencia con Delivery para poder hacer uso
¿Qué tipo de licencia usa la integración?Las posibles licencias son GL y GB.
Otros requisitosUn teléfono Android y conexión a la misma red wifi que el TPV Glop

CONFIGURACIÓN DE LA APP

En Glop deberemos acceder a Menú > Configuración > Terminales, y en la ventanita que se nos abre, deberemos acceder al terminal que queremos usar en cuestión pulsando en el botón modificar y teniendo este seleccionado:

Una vez habiendo accedido, nos tendremos que situar en el apartado ficha, y acceder al subapartado módulos, en el cual veremos otro subapartado para esta sección, en este subapartado nos moveremos nuevamente hasta la opción Glop Delivery, en la cual veremos lo siguiente:

Aquí, como podemos ver hay una opción que dice “Activar servicio a domicilio para android”, pues bien, esta es la que tenemos que activar, pero para ello, antes deberemos pulsar en modificar para poder editar este apartado, y posteriormente pulsar en la casilla para marcar que sí queremos esta opción activa, por tanto deberemos pulsar al botón Modificar:

Posteriormente a haber hecho esto, el propìo programa de escritorio de Glop nos indicará que debemos reiniciarlo, por tanto, lo cerraremos y lo volveremos a abrir:

Video:

Ahora pasamos a la aplicación androd. Teniendo Glop de escritorio abierto en nuestro ordenador, abrimos la aplicación, y una vez abierta, en nuestro programa Glop de escritorio nos aparecerá la siguiente notificación:

Nos está indicando que un dispositivo, como el que vemos en el ejemplo, se quiere conectar a nuestro servicio, por lo tanto, aceptaremos indicando en el botón Sí, y de esta forma ya tendremos el dispositivo enlazado con Glop y podremos usarlo para los repartidores que tengamos.

Creación de Repartidores

Aunque el dispositivo ya esté enlazado con nuestro Glop de escritorio, todavía nos falta una parte fundamental, sin esta parte podemos acceder a la aplicación.

Es necesario crear repartidores dentro de la configuración de Glop de escritorio, ya que al ser una aplicación de repartidores, para poder acceder primero deberá estar dado de alta dentro de Glop.

Para realizar estos ajustes, lo que deberemos hacer será, dentro de la aplicación de escritorio de Glop, acceder al Menú > Ventas > Delivery > Repartidores, aquí veremos que, si no hemos creado aún ningún repartidor, estará vacío:

Ahora procederemos a crear un repartidor, para ello, lo que deberemos hacer será clicar en el botón que pone Nuevo y un símbolo de suma dentro de un círculo de color verde, como podemos ver en la barra inferior de la ventana, una vez habiendo pulsado aquí, se nos abrirá la pestaña Ficha automáticamente y veremos lo siguiente:

Aquí simplemente rellenaremos los campos para crear el Repartidor. Una vez rellenados los datos pulsaremos aceptar para que se guarde.

Al volver a la pestaña Lista, veremos que tenemos los repartidores ya creados:

Una vez hecho todo esto, ya solo nos faltaría acceder a la aplicación de repartidores desde el dispositivo en el que la hemos instalado, y enlazado a Glop, y ver que los repartidores nos aparecen tal y como los hemos creado. También veremos que nos aparecen los pedidos a repartir, asignados para cada uno de los repartidores.

:check_mark:

Creación de Zonas de Reparto

Antes de poder asignar los pedidos a un repartidor ya creado, deberemos crear antes las zonas de reparto a las cuales se van a enviar los pedidos.

Para ello lo que haremos será acceder al Menú > Ventas > Delivery > Zonas de Reparto, y aquí veremos lo siguiente:

Para crear una zona nueva de reparto lo que haremos será de nuevo y como en el anterior caso clicar en el botón que pone Nuevo en la barra inferior, y se nos abrirá la siguiente pestaña:

Aquí indicaremos los parámetros que más nos interesen para la zona de reparto, principalmente lo que te deberemos hacer será indicar la Descripción, que será el nombre de la zona. El código no es necesario indicarlo puesto que es automático.

Configuración de la zona de reparto

  1. Docuemento: tipo de documento que deseamos generar en esta zona, puede ser factura o factura simplificada
  2. Tarifa: seleccionar tarifa por defecto de la zona de reparto
  3. Forma de pago: seleccionar la forma de pago por defecto de la zona de reparto
  4. Parámetros de la zona:
    • Solicitar fecha y hora al aparcar: al aparcar un pedido en esta zona nos solicitará la fecha y hora de entrega de este, podremos añadir comentarios, con que pagará y destacar el pedido.
  • Imprimir en zona de pedido en hora de preparacion: no imprimirá el pedido hasta que llegue la hora establecida
  • Zona para “Recoger”: establece esta zona como una zona de pedidos que son para recoger en el local y no para llevar a domicilio

Si tenemos una zona a domicilio y otra para recojer cuando creemos un pedido nos preguntará el tipo de pedido:

Una vez tengamos la zona completada con la información que nos interese, clicamos en el botón Aceptar de la barra inferior, y se guardará la zona de reparto.

En la siguiente imagen veremos las zonas de reparto de nuevo, pero con los cambios aplicados, y con la nueva zona que ya podremos usar para crear pedidos:

Creación de Clientes

Para crear clientes nuevos lo que haremos será acceder a Menú > Ventas > Clientes, y nos aparecerá la siguiente ventana:

Lo que haremos aquí será lo mismo que en los anteriores casos, le clicamos al botón Nuevo de la barra inferior, y nos aparece la siguiente pestaña:

La rellenaremos con la información que creamos conveniente dentro de todos los parámetros rellenables de esta ventana, por ejemplo:

Además, deberemos también entrar en el apartado direcciones que vemos arriba en la barra de secciones, esto lo deberemos hacer una vez tengamos ya todos los datos del cliente añadidos, ya que automáticamente si hemos especificado en los datos generales una dirección, ésta se almacenará en este apartado.

Aunque la dirección se guarde automáticamente por comodidad, tenemos que editarla para indicar la zona de reparto en la cual va a estar asignado este cliente, esta opción es la última que veremos en el apartado de direcciones. La razón por la cual tenemos que especificarla es porque podemos tener más de una zona de reparto, por lo tanto es el único parámetro que no se pone automáticamente por defecto en este apartado, y además hemos de saber que si el cliente no tiene una zona de reparto asignada, posteriormente al crear un pedido para llevar para el mismo, este pedido no nos aparecerá en ninguna zona de reparto de las que nosotros hayamos creado.
La zona de reparto la asignaremos de la siguiente forma:

Una vez realizado esto, lo que haremos será clicar en Aceptar en la barra inferior de la ventana, y a éste cliente nuevo lo tendremos ya identificado en la lista de clientes, como podremos ver en la siguiente imagen:

Creación y Asignación de Pedidos a Repartidor

Una vez ya hemos conseguido realizar todos los pasos anteriores, lo último que queda es acceder al TPV (Punto de Venta), en este realizamos pedidos para la zona de reparto creada anteriormente, y para los clientes que tengamos, además de que asignaremos dichos pedidos a alguno de nuestros repartidores para indicar que ese pedido debe ser entregado por dicho repartidor.

Creación de pedido para una zona de reparto

Vayamos paso por paso, para hacer todo esto, lo primero que deberemos hacer es acceder al TPV, como se ha dicho antes, y esto lo haremos estando en la ventana principal de Glop para escritorio, clicando en el botón que está en la esquina inferior izquierda de color naranja en el cual pone <Acceso a TPV>

Vamos a elegir la zona de reparto, esto se encuentra en la barra lateral derecha de la ventana. Aquí veremos varias opciones, la que seleccionaremos será la que tiene el nombre de la zona de reparto que hemos creado:

Esta ventana se encuentra vacía por el momento (si no hay pedidos), ya que posteriormente, cuando creemos un pedido para esta zona de reparto veremos los pedidos en esta misma sección.

Por el momento, lo que a nosotros nos interesa son las opciones de la barra inferior, concretamente por el momento la primera de todas ellas empezando por la izquierda. Es un botón que contiene el nombre de <Nuevo Pedido>.

Clicamos en esta, y se nos volverá a enviar al TPV, donde se nos abrirá una pequeña ventana que nos indica que seleccionemos el cliente para el cual va asociado el pedido nuevo.

La ventana tiene este aspecto:

Nosotros en este caso seleccionaremos el cliente que hemos creado en el anterior caso de ejemplo, Hector. Para ello, lo que haremos será clicar sobre este, y podemos clicar y posteriormente clicar en el botón seleccionar cuando tengamos elegido el cliente que queremos, o doble clic sobre el cliente.

Posteriormente, seleccionaremos los productos que queremos enviar a dicho cliente mediante el clic sobre los mismos.

Como ejemplo, así se vería el resumen del ticket que estamos creando para el nuevo pedido:

Para tramitar este pedido, lo que haremos será pulsar el botón Aparcar que nos aparece al lado del resumen del ticket, es el botón más grande que hay en la pantalla:

Al hacer esto, el pedido estará ya disponible volviendo a entrar en nuestra zona de reparto.

Si lo deseamos, podemos volver a entrar en dicho pedido para editarlo realizando doble clic en el mismo.

Asignar Pedido a Repartidor y Repartir

Lo siguiente que toca hacer es indicar cual va a ser el repartidor que va a repartir dicho pedido.

Esto lo haremos mediante el acceso a la zona de reparto, y en la barra inferior de botones de esta sección, pulsando en Asignar Repartidor:

Una vez habiendo hecho esto, nos aparecerá una ventana pequeña para seleccionar el repartidor que se va a asignar al pedido:

De modo que elegiremos el repartidor que nos interese en el momento, y una vez hecho esto, en el ticket del pedido nos aparecerá el nombre del repartidor que hemos elegido (se puede cambiar repitiendo el proceso de selección de repartidor):

Finalmente, lo único que nos queda por hacer es repartir los pedidos, y esto es lo más sencillo que vamos a hacer, ya que solo tenemos que pulsar un clic en un botón y este proceso se realizará automáticamente.

Este botón del que estamos hablando recibe el nombre de Repartir Pedidos, y está en la barra inferior de botones de la sección de la zona de reparto, concretamente al lado del botón de Asignar Repartidor, como veremos en la siguiente imagen:

Una vez realizada esta acción, el pedido se repartirá para el repartidor asignado, el cual podrá acceder a este desde la aplicación de repartidores, como veremos en los siguientes apartados de esta documentación.

GUÍA DE USO DE LA APP

Vistas Principales de la App

Vista Repartidores

Esta vista es la que se carga nada más iniciar la aplicación.

En ella veremos que tenemos una lista con los repartidores dados de alta, cada uno de los repartidores que contiene la lista se puede seleccionar y poder ver los pedidos que se le han asignado para poder empezar a repartir.

Esta vista además, contiene un botón con un símbolo de flecha circular, el cual hace referencia al reinicio de la lista, por tanto, con este, una vez habiendo pulsado, refrescamos la información que contiene la lista, para así poder ver si hay nuevos repartidores, o si por el contrario se ha quitado alguno. Finalmente, al clicar en uno de los repartidores, accederemos a su lista de pedidos a repartir asociada.

COMPROBACIONES AL INICIAR LA APP

  1. Comprobación de versión. Si la versión de la APP no coincide con la versión de Glop, nos avisará para descargar la versión de la APP acorde a la versión de Glop instalada.
  2. Conexión con Glop. Al iniciar la app, comprueba la conexión con Glop, si es la primera vez que iniciamos, nos aparecerá que debemos aceptar la conexión con Glop. Si no la aceptamos, no nos volverá a preguntar y ese dispositivo no se podra conectar hasta que desde configuracioes -terminales – modulos – app repartidores eliminemos el registro.

Vista Pedidos

Esta vista contiene la información necesaria acerca de todos los pedidos que se le han asociado a un repartidor, en ella podemos apreciar una lista de pedidos, los cuales tienen una interfaz propia con distintas funcionalidades, que vamos a explicar posteriormente. A continuación, se puede apreciar una imagen de ejemplo para ver la pantalla tal y como es:

Barra Superior de la Ventana (AppBar)

Disponemos de un botón con el símbolo de encendido y apagado, nos servirá para cerrar sesión con el repartidor actual, y por tanto, volver a la vista de selección del repartidor.

El siguiente botón tiene forma de flecha en zigzag, con dos cabezas, y hace referencia a las rutas que se van a tener que tomar para llevar a cabo el reparto de todos los pedidos asociados al repartidor.

Este botón nos abre directamente el Google Maps con nuestra ubicación exacta actual, y las paradas necesarias que se tendrán que llevar a cabo por el repartidor para llegar a cada dirección siempre y cuando estemos en la sección de pedidos no entregados.

Hemos de saber que si no tenemos conexión a Internet, o la cobertura es muy baja y por ende no nos permite el acceso a la red, la aplicación no nos permitirá acceder a Google Maps, indicándonos esto con un diálogo de alerta, en el cual nos indica mediante un mensaje cual es el problema, como veremos a continuación:

Por otro lado, si alguna de las direcciones que hay en la lista de pedidos no entregados es incorrecta, o ilegible por Google Maps, se nos hará saber mediante dos diálogos, uno de alerta con un mensaje informativo que indica cual es el problema, y otro que nos mostrará solamente aquellas direcciones que sean erróneas, permitiéndonos con ello cambiarlas todas, estos mensajes de aviso se ven de esta forma:

Si pulsamos <ACEPTAR>, todas aquellas direcciones que hayamos cambiado serán editadas solamente hasta el momento que se acceda a Google Maps, después se establecerán las iniciales con el fin de no perder posibles datos importantes.

Si alguna dirección sigue siendo incorrecta, el diálogo no parará de aparecer hasta que todas sean correctas.

Si pulsamos <CANCELAR> se cerrará el diálogo sin realizar cambios en las direcciones editadas en el momento.

Vamos con el último botón de la barra superior de la aplicación, este contiene el símbolo de tres puntos. Este es un desplegable que contiene el filtrado de los pedidos según si han sido entregados, o no, al igual que podemos seleccionar la opción de que se vean todos los pedidos, sin importar si han sido entregados o no.

Menú Lateral de Opciones Seleccionables

Vamos a comenzar a explicar opciones que nos ofrece el menú lateral

Pulsaremos en la opción <Recibir Pedidos>, la cual nos permitirá recibir los pedidos que estén asociados a este repartidor para poder visualizarlos en pantalla, y así recibir la información necesaria para llevar a cabo su reparto.

Posteriormente, accediendo de nuevo al mismo menú lateral, nos encontraremos con la sección de pedidos <No Entregados>, en esta, encontraremos todos los pedidos los cuales todavía no se han entregado.

Otro de los apartados es la sección de pedidos <Entregados>, en esta, encontraremos todos los pedidos los cuales se han entregado.

Por otro lado, en el menú lateral tenemos la opción de <Información Pago>, en la cual encontraremos toda la información referente a los pagos de todos los pedidos realizados y ya entregados. Aquí podemos ver la forma de pago de cada pedido.

Finalmente, en este menú lateral podemos encontrar la opción <Ruta de todos los pedidos>, en la cual como su nombre indica, se nos mostrará mediante Google Maps la ubicación actual del repartidor, y las paradas que tiene que realizar para poder llegar a todas las direcciones de los pedidos y así repartirlos.

Lista de Pedidos

Ahora vamos a volver a situarnos en el punto de recepción de los pedidos. Después de haber recibido todos los pedidos pendientes de entregar, vamos a realizar algunos ajustes en nuestra lista de pedidos. Podemos arrastrar cada pedido hacia la posición en la lista que queramos dependiendo de cómo nos interese más el orden de reparto de los mismos.

En este caso, como solo hay dos pedidos, vamos a realizar el ejemplo de arrastrar el primer pedido debajo del segundo, esta acción la vamos a poder realizar mediante el uso de un botón el cual contiene un símbolo con 6 cuadrados en línea, este lo podremos encontrar en cada pedido de la lista.

Este botón lo encontraremos justamente al lado del nombre de la calle de destino para este pedido. Con él podemos arrastrar los pedidos a la posición que queramos, como hemos dicho antes.

Una vez habiendo dicho esto, es hora de arrastrar el pedido debajo del segundo, y como podremos ver, el orden de los pedidos habrá cambiado:

Ahora bien, si quisiéramos volver al orden inicial, no tendríamos la necesidad de volver a arrastrar todos los pedidos a la posición que estos tenían ya que hay un botón flotante en la parte superior derecha, este tiene fondo naranja por completo, y contiene 3 líneas, las cuales van menguando una detrás de otra.

Este botón nos permite filtrar de nuevo por la hora de realización del pedido, por lo tanto, si queremos volver al orden inicial (ordenado por hora por defecto) pulsaremos este, y los pedidos volverán a estar como estaban desde un principio:

Después de haber organizado la lista como a nosotros más nos interese, tenemos a parte algunas funcionalidades en cada pedido de la lista, como llamar al cliente, acceder a la dirección asociada del pedido concreto, y más.

Vamos a hablar de la primera, poder llamar al cliente. Esta función es muy simple, hay que pulsar al botón que tiene un símbolo en forma de teléfono con una flecha indicando hacia la derecha, y automáticamente se nos abrirá el marcador de números de teléfono de nuestro móvil con el número del cliente asociado al pedido concreto:

Ahora hablaremos de la opción dentro del pedido que nos permite acceder a Google Maps y ver cual es la dirección asociada a este, y la ruta que tendría que tomar el repartidor para llegar solamente a este destino.

Este botón tiene el típico símbolo de la lágrima del revés con un puntito blanco en el centro, este nos indica que nos permite ver la dirección del pedido, como he dicho antes. Para poder realizar esta acción, simplemente tendremos que pulsar en el botón del que estamos hablando, y directamente se nos redireccionará a Google Maps, el cual recogerá la dirección actual en la que el repartidor se encuentra (mediante la ubicación que marca su dispositivo móvil), y la dirección del pedido, para así poder calcular la ruta o rutas más óptimas para llegar hasta el destino:


Posteriormente, podemos ver que a la misma altura de estos dos últimos botones tenemos otro que es un poco más grande, que tiene un símbolo en forma de bolsa con un símbolo de correcto en su interior.

Este botón nos permite indicar si un pedido ha sido entregado o no, y al pulsarlo, nos aparecerá un diálogo, en el cual nos hacen la pregunta de cómo queremos pagar. En este diálogo podemos ver que hay varias opciones seleccionables, nosotros nos quedaremos con la que el cliente haya indicado que quiere pagar.

Posteriormente, en el mismo diálogo podemos ver que hay otros dos botones, uno que pone <CANCELAR> y otro que pone <ACEPTAR>, si le damos a cancelar no se realizará ninguna acción, y se nos devolverá a la lista de pedidos no entregados. Por otro lado, si pulsamos aceptar, este pedido se marcará como entregado, por lo tanto ya podremos acceder a la sección antes comentada (tanto desde el filtro de búsqueda, como en el menú lateral) en la cual podemos ver los pedidos entregados, y a la sección de información de los pagos de los pedidos, también antes comentada (desde el menú lateral antes explicado), puesto que al realizar esta acción ya hemos especificado la forma de pago para este pedido concreto:

Finalmente, para la lista de pedidos tenemos un último botón que se encuentra en la esquina superior derecha el cual tiene un símbolo en forma de ojo. Este botón nos servirá para poder acceder a la vista del detalle del pedido concreto, en la cual se detalla el pedido que se ha realizado, y qué contiene el mismo.

Para realizar esta acción simplemente se pulsará en el botón del que estamos hablando, y directamente la aplicación nos redireccionará a la vista del detalle, la cual vamos a explicar en el siguiente apartado de la guía.

Vista Detalle de Pedido

A esta vista se accede pulsando al botón de detalle dentro de cada pedido de la lista de pedidos, tanto en la sección de pedidos no entregados, como entregados.

Esta vista contiene básicamente la información del cliente, la forma de pago que se va a realizar, y una lista de los productos que ha añadido el cliente a su pedido, además de contener los botones de llamada y visualización de ruta (anteriormente explicados):

En el aspecto de los botones, como se ha dicho antes tenemos el de llamada, y el de ruta, los cuales hacen la misma función que los que se han explicado anteriormente; abrir el marcador de teléfono del móvil con el teléfono del cliente ya marcado, y abrir el Google Maps con la dirección actual del repartidor exacta, junto con la dirección asociada al pedido para calcular las posibles rutas hasta llegar a este.

Vista Entregados

A esta vista podremos acceder desde el menú lateral de la vista de pedidos, o desde el desplegable para filtrar entre entregados, no entregados o todos, de la misma vista.

Esta vista contiene exactamente lo mismo que la vista de pedidos principal, ya que es la misma, pero siendo filtrada solo por pedidos entregados concretamente, y por tanto, contiene también una lista de pedidos, los cuales tienen las mismas funcionalidades que en la vista de pedidos original (llamar, ruta, etc…).

Las dos únicas diferencias que podemos ver respecto a la otra vista son que el color de los botones ha cambiado a verde en vez de naranja, y que el botón de entregar pedido ya no tiene la funcionalidad de entregar pedido, ni tampoco el mismo símbolo como tal.

Esto se debe a que este botón ahora ha adquirido la funcionalidad de mover a no entregado, para poder hacer que el pedido en cuestión vuelva a la lista de no entregados y que el repartidor pueda visualizarlo para saber que este no ha sido entregado todavía.

Al pulsar este botón, nos aparecerá un diálogo en el cual nos preguntan si queremos realmente mover el pedido a no entregados, y nosotros tendremos que pulsar <ACEPTAR> si realmente queremos esto, o <CANCELAR> si no queremos realizar cambio alguno:

:five:

Vista Todos

A esta vista solo podremos acceder desde el desplegable que filtra por entregados, no entregados, y todos.

En esta vista tenemos las mismas funcionalidades que en la de pedidos original, aquí los datos se nos dan sin importar este estado de pedido:

Como podemos ver, tenemos tanto el pedido no entregado, como el entregado anteriormente. Cada uno tiene las mismas funcionalidades, excepto el botón de entregar, como se ha explicado antes.

Vista Información Pago

A la cual podremos acceder solamente desde el menú lateral de la vista de pedidos (en general).

En esta tenemos una lista de los pagos que se han realizado asociados todos y cada uno de ellos a su respectivo pedido, además de indicar la forma en la cual se ha pagado, como podremos ver a continuación:

En este caso, solo hay un ítem en la lista ya que solo hemos entregado un pedido.

Como podemos ver, está indicado el número del pedido, y el tipo de pago.

Por otro lado, si nos fijamos, en la barra superior de la vista tenemos un botón que contiene un símbolo en forma de avión de papel. Este botón nos va a permitir enviar la información de todos los pagos que se han realizado y que se ven reflejados en la lista de estos. Para hacer este envío es necesario estar en la misma red que Glop y con el TPV en funcionamiento, de lo contrario no permitirá realizar el envio.

Al pulsar el botón veremos que se nos abre un diálogo el cual nos hace la pregunta de si realmente queremos enviar toda la información de los pagos, si le damos a <ACEPTAR>, la lista se vaciará de información de pagos, en cambio, si le damos a <CANCELAR> todo se quedará como estaba y el diálogo desaparecerá:

ARQUEO DE PEDIDOS DESDE GLOP UNA VEZ SE HA ENVIADO LA INFORMACIÓN DE PAGO

Una vez enviada la información de pago, debemos acudir a Glop para realizar el arqueo de esos pedidos. Desde la zona de reparto accederemos a Arqueo Pedidos en la barra inferior.

Tras esto nos preguntará sobre que repartidor queremos realizar los arqueos, seleccionaremos el repartidor y nos aparecerá la siguiente pantalla:

Sobre esta pantalla podremos ver todos los pedidos pendientes de arquear (con la forma de pago recibida desde la aplicación), seleccionaremos los que deseamos arquear y pulsaremos en arquer pedidos. Con esto tendremos finalizado el ciclo del pedido.

En el caso de que no tenga forma de pago o se la queramos cambiar podemos pulsar sobre asignar forma de pago y si queremos imprimir el documento sobre imprimir doc.

VIDEO CICLO COMPLETO

ASPECTOS A TENER EN CUENTA

  1. Para poder realizar ciertas acciones, tales como recibir los pedidos, o enviar la información de pago de los mismos, deberemos estar conectados a Internet, y estar exactamente en el mismo establecimiento en el que se encuentra el terminal con la aplicación de escritorio de Glop, de lo contrario nos saltará una advertencia indicando que no hay conexión a la red o con el servidor.
  2. Es MUY importante tener en cuenta que al inicio de la aplicación en el caso de no tener la versión actualizada de la App y no haberse aceptado la conexión con el dispositivo desde Glop, los mensajes informativos nos aparecerán en un orden de prioridades, primero el mensaje de versión para descargar la última, y posteriormente, si tiene que aparecer, el que nos indica que la conexión a sido negada o rechazada.
  3. En el caso de querer acceder a la opción ruta/rutas, debemos saber que si no hay conexión a Internet o tenemos una mala cobertura, no se nos permitirá acceder a Google Maps, indicándose con un mensaje de alerta el motivo.
  4. Si las direcciones de los pedidos son erróneas o ilegibles por Google Maps, antes de acceder a este se nos indicará mediante un diálogo que hay direcciones incorrectas, y posteriormente se nos abrirá un diálogo alternativo que nos permite ver, y editar solo las direcciones incorrectas. Cabe destacar que si una vez habiendo pulsado <ACEPTAR> en este diálogo sigue habiendo alguna dirección incorrecta, se repetirá el mismo proceso, hasta que las direcciones sean correctas, entonces podremos acceder a Google Maps.
  5. Las direcciones que se hayan editado, tanto individual, como grupalmente, desaparecerán una vez habiendo accedido a la función de Google Maps desde la aplicación repartidores o una vez habiendo recibido de nuevo los pedidos. Esto se ha realizado así para poder mantener las direcciones iniciales de los pedidos y de esta forma, si hay necesidad de volver a editar una dirección por cualquier tipo de fallo de escritura o equivocación, tengamos una guía o referencia pudiendo ver la dirección principal del pedido.

La aplicación de gestión de reparto permite a los usuarios ser repartidores, ofreciendo vistas como la de pedidos y la principal, donde se elige el repartidor y se organizan las rutas con Google Maps.

  • La configuración de la aplicación requiere una licencia con Delivery, un teléfono Android y conexión a la misma red wifi que el TPV Glop.
  • Es necesario crear repartidores en la configuración de Glop de escritorio para poder acceder a la aplicación de repartidores.
  • Antes de asignar pedidos a repartidores, es crucial crear zonas de reparto en la aplicación.
  • Para crear clientes, es necesario acceder a Menú > Ventas > Clientes y asignarles una zona de reparto para poder crear pedidos para ellos.
  • En la vista de pedidos, se pueden organizar, llamar a clientes, ver direcciones en Google Maps y marcar pedidos como entregados, con opciones de filtrado y funcionalidades detalladas.

Manual de Configuración Restoo

REQUISITOS DE LICENCIA

  • La licencia debe ser Cloud o Business.
  • Debe tener marcado el módulo de Restoo en el apartado API Rest.
  • Previamente se debe configurar el Restoo (Cliente).
  • No se pueden tener habilitada más de una integración de Reservas Online de manera simultánea.

CONFIGURACIÓN DE RESTOO

Como configuración en la plataforma de Restoo tendremos que dirigirnos a la pestaña de mapeo de mesas y unir las mesas de la plataforma con las mesas de Glop mediante los ID’s de las mesas. Link

CREACIÓN DE LA RESERVA

Para crear una reserva desde la plataforma de Restoo simplemente tendremos que clickar en el botón de nueva. Enlace a la plataforma: Link

Seleccionar la fecha de la reserva.

El número de adultos y niños que se sentarán.

Seleccionar el turno y la hora de la reserva.

Y finalmente asignar la mesa en la cual se van a sentar.

GESTIÓN DE LA RESERVA DESDE GLOP

Para acceder a la gestión de reservas desde Glop primero tendremos que acceder al TPV, después en utilidades y para finalizar en Reserva Online.

Una vez estemos ya en la pestaña de Reservas Online, podremos observar un listado con todas las reservas confirmadas o pendientes de confirmar para así poder gestionarlas individualmente.

Estas reservas, podrán ser canceladas desde el botón cancelar, seleccionando una de ellas.

Nota: Cuando una reserva no cuenta con Zona ni Turno la reserva es de Cover Manager, si la reserva cuenta con dichos campos, es una reserva de Glop

Para gestionar la reserva, seleccionaremos una de ellas del listado, pulsaremos sobre el botón gestionar. Tras esto se abrirá la pantalla de ventas con la mesa seleccionada, donde podremos añadir artículos o aparcarla vacía. Si la aparcamos vacía aparecerá de color rojo como mesa reservada y si la aparcamos con articulo estará de color azul como mesa ocupada.

Tras gestionar la reserva, si por algún motivo lo deseamos podemos desvincular la reserva de esa mesa, a través del botón desvincular, de forma que la mesa volverá a aparecer en estado libre para ser ocupada.

Vídeo flujo completo de gestión de reservas


Nota de funcionamiento

En el caso de haber modificado el APIREST original de la instalación en la nube y/o licencia, es necesario borrar los registros de APIREST_BEARER de la tabla TB_TERMINALES para que conecte correctamente con los nuevos datos generados. Al intentar traspasar una mesa de una reserva, la cual en la plataforma de Restoo está asignada a 2 mesas, en glop se realizará correctamente pero este cambio no se reflejará ni en la plataforma de Restoo ni en la Api Rest de Glop.

Manual Usuario – PAC

VERSIÓN DE LANZAMIENTO: 7.9.0

Introducción

El PAC o punto de aviso al cliente es un exe que utilizaremos para avisar al cliente del estado de su pedido. Su utilidad va relacionada directamente con los gestores de comandas y Su Turno.

En el PAC podremos observar si nuestro pedido esta en preparación o para servir, esto se hará a través del ticket impreso en el que se mostrara el numero de Turno, este numero se mostrara en pantalla PAC según en el estado que este. Para identificar el pedido en los gestores de cocina se mostrara la coletilla ST: seguido del numero de Su Turno (el numero equivale a los últimos 2 dígitos del IdTIcket).

Configuración Inicial

¿Requiere licencia de módulo?Si, requiere el módulo PAC
¿Qué tipo de licencia usa la integración?GL y GB

CONFIGURACIÓN DESDE GLOP

Primeramente para poder utilizar y configurar PAC deberemos de disponer de licencia de PAC Windows.

Accederemos a configuraciones, terminales, módulos, PAC.

Configuraremos, colores y tamaño de letra, colores de fondo y los textos a mostrar. También monitor donde se mostrara y si queremos o no mostrar los tickets aparcados en barra.

CONFIGURACION SU TURNO GESTOR DE COMANDAS

Se ha añadido un parámetro en las configuraciones para mostrar el número de Su Turno en los gestores de comandas.

EJEMPLO DE FUNCIONAMIENTO

Hay que tener en cuenta que hasta que todas las líneas de un mismo pedido no estén en el mismo estado no realizara el cambio de preparación a servir en el PAC. Los pedidos que se muestran en el PAC pueden venir desde Glop, Glopdroid, kiosko…

El estado recibido y en preparación se muestran en la columna de de en preparación, el estado para servir se muestra en la columna recoger, destacando siempre el ultimo pedido que ha cambiado a ese estado y el estado servido lo que hace es eliminar el numero de la pantalla.

Resumen:

El PAC es un exe utilizado para informar al cliente sobre el estado de su pedido, mostrando el número de Su Turno y la preparación del pedido.

  • El PAC muestra el estado del pedido y el número de Su Turno, relacionado con gestores de comandas.
  • Se requiere licencia de módulo PAC para la integración, con configuraciones desde GLOP.
  • Es importante que todas las líneas de un pedido estén en el mismo estado para cambiar de preparación a servir en el PAC.
  • Se puede configurar colores, tamaño de letra y otros aspectos visuales en el PAC y en el gestor de comandas.
  • Los pedidos en el PAC pueden provenir de diferentes fuentes como Glop, Glopdroid o kioskos.

Integración de plataforma de Reservas en Glop

Requisitos:

  • La licencia de Glop debe tener el módulo Cloud o Business.
  • Debe tener marcado el módulo de la propia integración en el apartado API Rest en la configuración del sitio del cliente.
  • Previamente, se debe configurar la integración (si fuera necesario).
  • No se pueden tener habilitadas las reservas de Glop (Agenda en comercios) y cualquier otro sistema de reservas de manera simultánea.
  • La plataforma de reservas nos debe asignar un API-Key único para Glop que usaremos para todas las llamadas en el header. La plataforma identificará la reserva a través de este valor y el identificador de la reserva.

Localizaciones: Deliveries | Glop API Rest

  1. Obtención de localizacionesPara poder obtener las reservas y redirigirlas a nuestros terminales, necesitamos que la plataforma integradora de Reservas nos envíe localizaciones/restaurantes a las que van dirigidos las reservas.
    Nosotros hacemos un mapeo entre localizaciones y terminal de Glop de envío de las reservas.

    La plataforma integradora deberá desarrollar un endpoint al cual llamaremos para que nos devuelva las localizaciones. La respuesta debe tener estas características:[ { "id":"96f8adc9-c1dd-42a8-94a1-6b6d669bcce6", "nombre":"Nombre Localización 1" }, { "id":"96f0d827-8b28-4f65-a874-89f67e76a9b4", "nombre":"Nombre Localización 2" } ]El campo id debe ser único para todos las localizaciones existentes. El id de localización lo obtenemos de la llamada explicada aquí.El campo nombre es el nombre de cada localización (restaurante o establecimiento)
    Este endpoint debe ser remitido por la plataforma integradora a joaquin@glop.es.
  2. Nuestro sistema siempre utiliza el id de localización de un JSON de reserva para «llevarlo» hasta el terminal (una vez mapeado).
  3. La plataforma integradora necesita obtener de Glop los identificadores de las mesas para hacer un match entre el salón de Glop y el de la plataforma Obtener mesas por id grupo | Glop API Rest “La solicitud requiere que el Servicio Glop esté activo para responder a esta petición. Esto es necesario para la correcta recuperación de tablas a través de los grupos de terminales.” El ID de grupo se refiere a un establecimiento (Localización) que agrupa al menos un terminal. Un grupo puede contener uno o más terminales. Por ejemplo, si un propietario tiene dos establecimientos, esto implicaría tener dos ID de grupos diferentes: uno con uno o más terminales y el otro con sus propios terminales. Aquí un enlace al endpoint de obtener la lista de grupos de terminales: Obtener lista grupos terminales | Glop API Rest

Mesas: Obtener mesas por id grupo | Glop API Rest

  1. Obtención de mesas
    Para poder asignar las reservas a las mesas equivalentes en los salones de glop, las plataformas integradoras deberán usar este endpoint para recibir los identificadores únicos de cada mesa.
    Nosotros hacemos un mapeo entre el número de mesa en los salones Glop y los identificadores que devolvemos en el endpoint. Para poder realizar esta llamada, el software Glop deberá estar en marcha.

    Estructura endpoint a sistema externo de reservas

    curl --request GET \ --url https://api.glop.es/api/v1/cloud/tables?id_grupo={id_grupo} \ --header 'Accept: application/json' \ --header 'Authorization: Bearer 123'
    • Id_grupo: ID del grupo de terminales sobre el cual queremos obtener las mesas.
    • Authorization: Token de acceso que se obtendrá mediante el endpoint de obtener token.

      Nuestro endpoint devolverá una respuesta con estos parámetros:
    [ { "id_mesa": "12", "numero_mesa": "9", "id_salon": "1", "nombre_salon": "Salon Glop" } ]
    • id_mesa: Identificador único de la mesa.
    • numero_mesa: Número de la mesa en el salón de glop.
    • id_salon: Identificador único del salón al cual pertenece la mesa.
    • nombre_salon: Nombre del salón al cual pertenece la mesa en glop.

Obtener token de acceso: Autorización | Glop API Rest

  1. Obtención del token
    Para poder realizar llamadas a la API de Glop se necesitará obtener el Bearer Token de autorización mediante este endpoint. Para poder obtenerlo necesitaremos tener un sitio configurado con API Rest en App.glop.es.

    Estructura endpoint a sistema externo de reservas

    curl --request POST \ --url https://api.glop.es/api/v1/auth/oauth/token \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "grant_type": "client_credentials", "client_id": "{{client_id_client_user}}", "client_secret": "{{client_secret_client_user}}", "scope": "*" }'
    • client_id: Id de las credenciales de API Rest del sitio.
    • client_secret: Secret de las credenciales de API Rest del sitio.
      Estos valores deberán ser suministrados por el soporte de Glop.

      Nuestro endpoint devolverá una respuesta con estos parámetros:

      { "token_type": "string", "expires_in": 0, "access_token": "string" }El token a usar será el devuelto en el parámetro access_token.

Casos de uso:

  1. Un cliente realiza una reserva desde la plataforma externa (día, fecha, mesa, nombre, email, etc).
    1. La plataforma externa le asigna número de reserva
  2. Nuestro software consulta reservas de hoy + dos días (reservas a dos días vista con las de hoy) (Obtener reservas)
  3. El cliente llega al establecimiento y es llevado a su mesa.
    1. Si el cliente tiene una reserva previa:
      1. Si la reserva tiene una mesa asignada desde la plataforma, la mesa estará disponible para el cliente siempre que se asigne manualmente. Update-Table Sit-Client
      2. Si el establecimiento cambia una mesa (por cualquier motivo), Glop enviará el traspaso de la mesa de la reserva a la plataforma. Update-Table
      3. Al cerrar la cuenta, se enviará la información del ticket a la plataforma Set-Ticket
    2. Si el cliente NO tiene reserva previaWalk-InUpdate-TableSit-Client
      1. Se abrirá una mesa libre en Glop y se enviará petición walk-in (nueva mesa sin reserva) al sistema de reservas indicándole que esa mesa está ocupada
      2. El sistema de reservas nos debe responder con un identificador de reserva
      3. Al cerrar la cuenta, se enviará la información del ticket a la plataforma Set-Ticket

Ciclo completo de una Reserva

Agregado de productos a una Reserva

Endpoints necesarios para la integración con GLOP

Algunos endpoints requieren el parámetro apikey en la cabecera o URL. Este parámetro será único en todas las llamadas realizadas por nuestros terminales a la API de terceros, independientemente del establecimiento que realice la llamada. Los establecimientos se «registrarán» y se «gestionarán» a través del listado de localizaciones y terminales en nuestra configuración de la API.

Obtener Reservas

Descripción

Obtenemos la lista de reservas confirmadas o pendientes de confirmar desde Glop para poder gestionarlas de manera individual, asegurando así una correcta integración entre Glop y la plataforma de reservas. Al enviar una reserva sin mesa, es estrictamente necesario que esta venga con la cadena «SIN».

Estructura endpoint a sistema externo de reservas

GET https://www.{externalreservsmanager}.com/api/restaurant/get_reservs/apikey/{restaurant}/{date_start}/{date_end}

https://www.{externalreservsmanager}.com/api/restaurant/get_reservs/6YR0GeEhok8Ghy1kfNJa/tpv/2024-06-11/2024-06-13
  • restaurant: localizador de restaurante
  • date_start: fecha filtro inicio formato (dd-mm-YYYY)
  • date_end: fecha filtro fin formato (dd-mm-YYYY)

Ejemplo respuesta del sistema externo de reservas

{ "resp": 1, "reservs":[ 
  { 
  "id_reserv": "eytoRR",//Imprescindible, Identificador único de la reserva 
  "product": "1", // Nullable 
  "date_add": "2019-11-26", // Nullable
  "time_add": "12:19:36", // Nullable
  "user_name": "ANONYMOUS", // Nullable 
  "date": "2019-11-27", // Fecha de la Reserva - Nullable
  "for": "2", // Número de comensales de la Reserva - Nullable
  "commentary_restaurant": "", // Comentario asignado a la Reserva - Máximos 255 Carácteres - Nullable 
  "commentary_client": "", // Nullable
  "user_phone": null, // Número de teléfono asignado a la Reserva - Nullable 
  "tables": "67", // Imprescindible, ID de la mesa o mesas a la cual se les asignará la reserva, si no viene el ID, enviar "SIN" 
  "status": "-2", //Contemplamos el Status 1 y -2,</em> -2 = CANCELADA, 1 = CONFIRMADA 
  "source": null, // Nullable 
  "duration": "180", // Nullable
  "camarero": null, // Nullable 
  "is_group": "0", // Nullable
  "id_client": "oGS2wA", // Identificador único del Cliente de la plataforma de reservas 
  "origin": "", // Nullable
  "email": "", // Correo eléctronico asignado a la Reserva - Nullable
  "first_name": "Pepito", // Nombre del cliente que realizó la Reserva - Nullable 
  "last_name": "Perez" // Apellido del cliente que realizó la Reserva - Nullable
  } 
], "page": "0" }
*Nullable: Que puede ser nulo. (null)

Walk-In

Descripción

Asignación de una mesa ad hoc para clientes que llegan sin reserva

Asignamos una mesa de Glop sin previo aviso («walk-in») cuando ubicamos a clientes sin reservas, utilizando Glop. De esta manera, notificamos a la plataforma de reservas que la mesa está ocupada.

Estructura endpoint a sistema externo de reservas

curl --location 'https://www.{externalreservsmanager}.com/api/reserv/walk_in' \ --header 'Content-Type: application/json' \ --header 'apikey: apikey' \ --data '{ "restaurant": "casa-carlos", "hour": "22:00", "people": "3", "id_table": "13" }'
  • restaurant: localizador de restaurante
  • hour: Hora format (HH:mm)
  • people: número de comensales
  • id_table: mesas separadas por coma a reservar para esos comensales

Ejemplo respuesta del sistema externo de reservas

{ "resp": 1, "id_reserv": "kfMxTN" }

Inmediatamente después se hace un Update Table y un Sit Client

Update Table

Descripción

Asignar o traspasar una reserva de una mesa a otra. Asignamos el identificador de la mesa a otra mesa al realizar un traspaso de mesa. Si una reserva está asignada a 2 mesas, esta no podrá ser traspasada.

Estructura endpoint a sistema externo de reservas

curl --location 'https://www.{externalreservsmanager}.com/api/reserv/update_table' \ --header 'Content-Type: application/json' \ --header 'apikey: apikey' \ --data '{ "id_reserv": "rhRa36", "tables": "105" }'
  • id_reserv: identificador de reserva
  • tables: El nuevo identificador de la mesa para la reserva
  • apikey

Ejemplo respuesta del sistema externo de reservas

{ "resp": 1, "message": "Ok" }

Sit Client

Descripción

Asignar a una reserva asiganda a un cliente una mesa especifica en Glop para que la plataforma confirme o indentifique la mesa en la que el cliente esta sentado.

Estructura endpoint a sistema externo de reservas

curl --location 'https://www.{externalreservsmanager}.com/api/reserv/sit_client' \ --header 'Content-Type: application/json' \ --header 'apikey: apikey' \ --data '{ "id_reserv": "9F4G4t" }'
  • id_reserv: reserva a abrir
  • apikey

Ejemplo respuesta del sistema externo de reservas

{ "resp": 1, "message": "Ok" }

Set Ticket

Descripción

Se envía a la plataforma de reserva en el momento de cerrar la venta de una mesa con identificador de reserva indicando que la mesa queda libre e informando de los productos vendidos.

Estructura endpoint a sistema externo de reservas

curl --location 'https://www.{externalreservsmanager}.com/api/reserv/set_ticket' \ --header 'Content-Type: application/json' \ --header 'apikey: apikey' \ --data '{ "id_reserv": "9F4G4t", "id_mesa": "123", "id_terminal": "1", "id_ticket": "2163540", "printDate": "11-06-2024 11:29:03", "status": "PAID", "total": "4.20", "items": [ { "productName": "FANTA LIMON", "amount": "1.00", "unitPrice": "1.40", "totalPrice": "1.40" }, { "productName": "FANTA LIMON", "amount": "1.00", "unitPrice": "1.40", "totalPrice": "1.40" }, { "productName": "FANTA LIMON", "amount": "1.00", "unitPrice": "1.40", "totalPrice": "1.40" } ], "payments": [ { "type": "CONTADO", "amount": "4.20" } ] }'

TBD—————

  • JSON con ticket, e items cobrados

Recordar: Si el array items está vacío la mesa se liberará SIN cobro, se cancela reserva

Ejemplo respuesta del sistema externo de reservas

{ "resp": 1, "message": "Inserted" }

Listado localizaciones

Estructura endpoint a sistema externo de reservas

curl --location 'https://www.{externalreservsmanager}.com/api/restaurant/list/{apikey}'
  • apikey: apiKey genérico para obtener todos los restaurantes que nosotros tenemos con el servicio externo

Ejemplo respuesta del sistema externo de reservas

[ { "id":"96f8adc9-c1dd-42a8-94a1-6b6d669bcce6", "nombre":"Nombre Localización 1" }, { "id":"96f0d827-8b28-4f65-a874-89f67e76a9b4", "nombre":"Nombre Localización 2" } ]

Resumen:

Este documento proporciona información detallada sobre la integración con GLOP para la gestión de reservas y pedidos.

  • Se requiere una licencia Cloud o Business y la configuración del módulo de integración en el apartado API Rest.
  • Es necesario obtener localizaciones para el envío de pedidos y asignar mesas a través de un endpoint creado por la plataforma integradora.
  • Se describen casos de uso desde la realización de reservas hasta el cierre de la mesa con el cobro de un ticket.
  • Se presentan varios endpoints necesarios para la integración con GLOP, como obtener reservas, crear reservas adhoc, asignar mesas, abrir reservas, y enviar tickets.
  • Se detalla la estructura de los endpoints, ejemplos de respuestas y la importancia de ciertos parámetros como el apikey.
Scroll to top

Acceder a WikiGlop