Estructura de Datos

Para una mejor comprensión del uso del API, a continuación, se presenta un resumen de la estructura de datos con la que trabaja Demo. Para facilitar su entendimiento, utilizaremos ejemplos ficticios basados en los proveedores "PTM Theme Park" y "PAC Water Park".

Transacción (Transaction)

Una transacción equivale a una compra o intento de compra. Puede estar compuesta por uno o varios productos (los que haya decidido comprar el cliente), pero todos deben pertenecer a un mismo proveedor (Provider).

Es decir, una transacción solo debe incluir productos de un mismo proveedor. Si un cliente desea comprar productos de dos proveedores distintos, se requerirá generar dos transacciones separadas.

Proveedor (Provider)

Un proveedor agrupa un conjunto de productos dentro de un esquema jerárquico. No tiene más función que organizar los productos dentro del sistema.

Ejemplo de proveedores en Demo:

  • PTM Theme Park
  • PAC Water Park

Categoría de Producto (ProductBase)

Un ProductBase es una categoría o agrupador de productos que permite definir propiedades comunes a un conjunto de productos, como una "descripción". No es estrictamente necesario para realizar una transacción, pero resulta útil para la organización y administración de productos.

Ejemplo de ProductBase en cada proveedor:

  • "Entradas": incluye productos como "Entrada Adulto" y "Entrada Niño".
  • "Ofertas": agrupa productos como "Oferta Adulto" y "Oferta Niño".

Producto (Product)

Un producto es el elemento comercial básico de venta. Puede contener uno o varios tickets o, en algunos casos, ninguno.

Ejemplo de productos en cada proveedor:

  • PTM Theme Park
    • Entrada Adulto
    • Entrada Niño
    • Entrada 3x2 (dos adultos y un niño)
    • Película animada 3D
  • PAC Water Park
    • Entrada Adulto
    • Entrada Niño
    • Entrada Senior
    • Entrada 2x1 Niño

Ticket

Un ticket representa la unidad mínima de venta dentro de un producto. Un producto puede incluir uno o varios tickets, o incluso ninguno (en cuyo caso el cliente recibirá un "bono" sin código de barras, que deberá canjear en el destino).

Ejemplo de tickets en cada proveedor:

  • PTM Theme Park
    • Entrada Adulto → Ticket Adulto
    • Entrada Niño → Ticket Niño
    • Entrada 3x2 → 2 Tickets Adulto + 1 Ticket Niño
    • Película animada 3D → Ticket 3D
  • PAC Water Park
    • Entrada Adulto → Ticket Adulto
    • Entrada Niño → Ticket Niño
    • Entrada Senior → Ticket Senior
    • Entrada 2x1 Niño → 2 Tickets Niño

Algunos tickets pueden formar parte de varios productos. Por ejemplo, en el caso del proveedor PTM, el Ticket Adulto forma parte de los productos Entrada AdultoEntrada 3x2 (en este último caso, con dos tickets de adulto).

Sesión (Session)

Una sesión está definida por su fecha, hora, contenido y, opcionalmente, su capacidad disponible.

Ejemplo de sesiones dentro de Demo:

  • Película animada 3D → Dos sesiones el 1 de enero de 2001, a las 10:00 y a las 16:00.
  • Sala de Cine 3D → Tres sesiones diarias durante todo el año, mostrando películas en distintos horarios.
  • Guía por el túnel → 10 sesiones diarias los fines de semana durante 30 semanas al año.
  • Entrada Adulto del parque acuático → Dos sesiones diarias (mañana y tarde) durante 90 días del verano.

Importante: Un ticket puede no contener sesiones, en cuyo caso la entrada no tendrá una hora de uso específica, sino que se ajustará al horario del destino.

¿Te ha parecido útil este artículo?