cultura-del-sur / ticketera-popular

0 stars 0 forks source link

Pensar logica release de tickets de evento #13

Closed limonrojo-nm closed 1 year ago

limonrojo-nm commented 1 year ago

Liberación de tickets

Habilitación de venta de tickets

Cambio de cantidad de tickets disponibles

Generación de tickets

get_random_string(length=128)


- El token se genera recien al momento de finalizar la compra
limonrojo-nm commented 1 year ago

@pablop94

pablop94 commented 1 year ago

Lo que veo es que al no haber release de tickets, este se parece mucho a #10, si no es igual no? En este sentido si te parece, unifiquemos lo mejor de los dos análisis y sigamos la discusión por un solo canal.

Discutimos un rato y vamos a optar por tener el modelo EventTicketType con los siguientes campos:

class EventTicketType:
    event = Event()
    released_quantity = PositiveInteger()
    available_quantity = PositiveInteger()
    is_available_for_sale = BooleanField()

Podriamos para la reserva y el ticket propiamente dichos, hacer lo sugerido en #25, es decir, tener los siguientes dos modelos:

TicketReservation
  event = ForeignKey(Event)
  customer = ForeignKey(Customer)
  timeout = DateTimeField
  status = CharField(active|stale|completed)
Ticket
  event = ForeignKey(Event)
  customer = ForeignKey(Customer)
  reservation = ForeignKey(TicketReservation)

tener dos modelos permite por un lado no tener campos nulos en muchos objetos y separa los conceptos, además los TicketReservation pueden ser borrados en caso de ser stale