Preskoči na sadržaj

Flow: Delegiranje kvote putem weba (nositelj kvote) (upravljanje pod-kvotama)

Actor

Nositelj kvote s ovlastima za kreiranje pod-kvota (can_create_subquotas = TRUE) putem web portala

Preconditions

  • Nositelj kvote je već preuzeo barem dio ulaznica putem HNS mobilne aplikacije
  • Parent kvota nositelja ima can_create_subquotas = TRUE
  • Nositelj kvote je primio link za pristup web portalu putem emaila
  • Nositelj kvote ima raspoloživ saldo za delegiranje (ukupno dodijeljeno - već preuzeto - već delegirano)

Flow Steps

  1. Zaprimanje linka za pristup web portalu

    • Nositelj kvote prima email
    • Email sadrži:
    • Potvrdu detalja kvote
    • Obavijest o mogućnosti delegiranja (pod-kvote)
    • Uputu: "Otvorite web portal na desktopu kako biste kreirali pod-kvote"
    • Link na portal, uz napomenu da koristi iste vjerodajnice kao HNS mobilna aplikacija
    • Predmet emaila: "Manage Your Ticket Allocation - Create Subquotas"
  2. Pristup web portalu

    • Nositelj kvote otvara email u desktop pregledniku
    • Klikne link za pristup web portalu i otvara web portal za upravljanje pod-kvotama
    • Prijavljuje se istim vjerodajnicama kao u HNS mobilnoj aplikaciji
    • Provjerava da parent kvota ima can_create_subquotas = TRUE
  3. Pregled dashboarda alokacije

    • Dashboard prikazuje sažetak alokacije:
    • Total Allocated: originalna količina dodijeljena od administratora
    • Already Claimed: ulaznice koje je nositelj preuzeo putem mobilne aplikacije
    • Delegated to Subquotas: zbroj svih kreiranih pod-kvota
    • Available Balance: Total - Claimed - Delegated
    • Prikazuje detalje parent kvote:
    • Naziv utakmice, datum, lokacija
    • Dodijeljeni sektori (npr. D1, C1, B2)
    • Datum isteka s odbrojavanjem
    • Informacije o popustu/cijeni
    • Prikazuje tablicu popisa pod-kvota (ako postoje):
    • Stupci: Ime primatelja, Email, Količina, Status, Broj preuzetih, Datum kreiranja, Akcije
    • Oznake statusa: Pending (žuto), Claimed (zeleno), Partially Claimed (plavo), Expired (sivo), Retracted (crveno)
  4. Kreiranje pod-kvote

    • Nositelj kvote klikne gumb "Create Subquota"
    • Prikazuje se forma s poljima:
    • Email primatelja (obavezno, validacija formata)
    • Ime primatelja (obavezno, za personalizaciju)
    • Količina (obavezno, numerički, mora biti ≤ dostupnog salda)
    • Interna napomena (opcionalno, npr. "Team member allocation")
    • Validacija u realnom vremenu:
    • Provjera formata emaila
    • Provjera količine u odnosu na dostupni saldo
    • Detekcija duplikata emaila (za aktivne pod-kvote unutar iste parent kvote)
    • Nositelj kvote klikne "Create Subquota" (submit)
  5. Sustav obrađuje pod-kvotu

    • Sustav validira da količina ne prelazi dostupni saldo
    • Pod-kvota nasljeđuje iz parent kvote:
    • Iste sektore (D1, C1, B2)
    • Isti kod popusta
    • Isti algoritam alokacije (NM ili REDOM)
    • Isti ili raniji datum isteka (ne može biti kasnije od parent isteka)
    • Ako je email adresa registrirani korisnik, šalje se push notifikacija (vidi Flow: Admin Quota Creation točke 3 i 5)
    • Email se šalje primatelju pod-kvote kao potvrda kreiranja
    • Pod-kvota se kreira sa statusom: "Pending"
    • Dostupni saldo se odmah ažurira: Available Balance = Available Balance - Subquota Quantity
  6. Slanje email pozivnice primatelju pod-kvote

    • Sustav šalje email primatelju pod-kvote s:
    • Personaliziranim pozdravom (ime primatelja)
    • Detaljima alokacije (količina, sektori, utakmica, isteka)
    • Deeplinkom na HNS mobilnu aplikaciju
    • Uputama za preuzimanje putem HNS mobilne aplikacije
    • Napomenom: "Allocated by [Parent Quota Holder Name]"
    • Push notifikacija se šalje u HNS aplikaciju (ako je instalirana):
    • "Imate dodijeljeno [X] ulaznica za [Utakmicu]. Preuzmite do [Datum]"
  7. Potvrda kreiranja pod-kvote

    • Web portal prikazuje poruku o uspjehu
    • Pod-kvota se pojavljuje u tablici dashboarda sa statusom "Pending"
    • Ukupni brojevi na dashboardu ažuriraju se u realnom vremenu
    • Radnja se bilježi u audit trailu
  8. Praćenje statusa pod-kvota

    • Dashboard prikazuje promjene statusa:
    • "Pending" → "Claimed"
    • Broj preuzetih se ažurira kako primatelji preuzimaju ulaznice

Alternative Flows

A1: Povlačenje neiskorištene pod-kvote

  • Nositelj kvote otvara popis pod-kvota na dashboardu
  • Identificira pod-kvotu sa statusom "Pending" (još nije preuzeta nijedna ulaznica)
  • Klikne "Retract" u stupcu Akcije
  • Sustav traži potvrdu: "Are you sure you want to retract this subquota? [Sub-recipient Name] will be notified."
  • Nositelj kvote potvrđuje povlačenje
  • Sustav:
  • Mijenja status pod-kvote u "Retracted"
  • Vraća količinu u dostupni saldo parent kvote
  • Šalje email o otkazivanju primatelju
  • Bilježi povlačenje u audit trailu s vremenskom oznakom
  • Dashboard se odmah ažurira s novim dostupnim saldom

A2: Nije moguće povući preuzetu pod-kvotu

  • Nositelj kvote pokušava povući pod-kvotu sa statusom "Claimed" ili "Partially Claimed"
  • Sustav prikazuje grešku: "Cannot retract subquota. Sub-recipient has already claimed [X] tickets."
  • Gumb za povlačenje je onemogućen za pod-kvote s preuzetim ulaznicama
  • Tooltip objašnjava: "Subquotas can only be retracted if no tickets have been claimed"

A3: Nedovoljan dostupni saldo

  • Nositelj kvote pokušava kreirati pod-kvotu s količinom većom od dostupnog salda
  • Sustav prikazuje grešku: "Insufficient balance. Available: [X], Requested: [Y]"
  • Gumb za slanje forme ostaje onemogućen dok se ne unese valjana količina
  • Validacija u realnom vremenu prikazuje grešku ispod polja za količinu
  • Predložena akcija: "Reduce quantity or retract unused subquotas to free up balance"

A6: Primatelj pod-kvote preuzima putem mobilne aplikacije

  • Primatelj prima email pozivnicu i otvara deep link
  • Otvara HNS mobilnu aplikaciju i slijedi standardni flow preuzimanja kvote (vidi flow-mobile-quota-claiming.md)
  • Kako primatelj preuzima ulaznice:
  • Dashboard nositelja se ažurira u realnom vremenu
  • Status pod-kvote se mijenja iz "Pending" u "Partially Claimed" ili "Claimed"
  • Broj preuzetih se povećava
  • Preuzete ulaznice se oduzimaju od količine pod-kvote
  • Preostale nepreuzete ulaznice ostaju dostupne do isteka

A7: Istek pod-kvota

  • Dosegnut je datum isteka parent kvote
  • Sustav automatski isteče sve pod-kvote ispod parent kvote
  • Status pod-kvote se mijenja u "Expired"
  • Nepreuzete ulaznice iz pod-kvota vraćaju se u opći inventar
  • Primatelji pod-kvota dobivaju obavijest o isteku
  • Nositelj vidi istekle pod-kvote na dashboardu sa oznakom "Expired"
  • Nakon isteka više nije moguće preuzimanje

A8: Kaskadno istjecanje parent kvote

  • Parent kvota isteče (dosegnut rok)
  • Sustav automatski kaskadno isteče sve pod-kvote
  • Sve pod-kvote sa statusom "Pending" ili "Partially Claimed" prelaze u "Expired"
  • Nepreuzete ulaznice iz parent kvote i svih pod-kvota vraćaju se u opći inventar
  • Web portal prikazuje "Expired" stanje za cijelu alokaciju
  • Dashboard prikazuje završni sažetak iskorištenosti:
  • Total allocated
  • Claimed by parent
  • Claimed via subquotas
  • Expired unclaimed

Post-Flow Actions

Integracija s mobilnom aplikacijom:

  • Primatelji pod-kvota preuzimaju isključivo putem HNS mobilne aplikacije
  • Primatelji pod-kvota nemaju pristup web portalu (preuzimanje samo na mobitelu)
  • Nositelj kvote koristi web za delegiranje, a mobilnu aplikaciju za vlastito preuzimanje

Last Updated: November 2025