septian_airpanaswebsite/flowcharts/full-sistem-flowchart.md

70 KiB
Raw Blame History

Flowchart - Full Sistem Banyu Biru (SATU KESELURUHAN)

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                    BANYU BIRU TICKETING & BOOKING SYSTEM                                     │
│                                       FULL SYSTEM UNIFIED FLOWCHART                                            │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                                                 │
│                                                            ┌─────────────────┐                                  │
│                                                            │      START      │                                  │
│                                                            └────────┬────────┘                                  │
│                                                                     │                                           │
│                                                                     ▼                                           │
│                                                   ┌───────────────────────────┐                              │
│                                                   │  USER ACCESSES WEBSITE    │                              │
│                                                   │  (Buka browser, ketik URL) │                              │
│                                                   └───────────────┬───────────┘                              │
│                                                                       │                                       │
│                                                                       ▼                                       │
│                                                      ┌────────────────────────────┐                          │
│                                                      │  {USER LOGGED IN?}        │                          │
│                                                      │       (Cek Session)       │                          │
│                                                      └─────────────┬──────────────┘                          │
│                                                                    │                                         │
│                                                         ┌─────────┴─────────┐                               │
│                                                         │                   │                               │
│                                                        NO                  YES                              │
│                                                         │                   │                               │
│                                                         ▼                   ▼                               │
│                            ┌─────────────────────────┐     │    ┌─────────────────────────────┐               │
│                            │   SHOW HOME PAGE        │     │    │   {CHECK ROLE}              │               │
│                            │   (Public Content)      │     │    └─────────────┬─────────────┘               │
│                            │   - Banner              │     │                  │                             │
│                            │   - Info Tempat         │     │         ┌────────┴────────┐                    │
│                            │   - Layanan             │     │         │                 │                    │
│                            └────────────┬────────────┘     │        ADMIN           USER                     │
│                                         │                 │         │                 │                     │
│                                         ▼                 │         ▼                 ▼                     │
│                            ┌─────────────────────────┐     │    ┌─────────┐   ┌─────────────┐               │
│                            │  USER CLICKS:          │     │    │DASHBOARD│   │HOME PAGE   │               │
│                            │  - LOGIN               │     │    │(Admin)  │   │(User)      │               │
│                            │  - REGISTER            │     │    └────┬────┘   └──────┬──────┘               │
│                            │  - LIHAT TIKET         │     │         │              │                      │
│                            │  - LIHAT BOOKING       │     │         │              │                      │
│                            └────────────┬────────────┘     │         │              │                      │
│                                         │                 │         │              │                      │
│                                         ▼                 │         │              │                      │
│                            ┌─────────────────────────┐     │    ┌────┴────┐   ┌────┴──────┐                │
│                            │   {ACTION SELECTED?}   │     │    │         │   │           │                │
│                            └────────────┬────────────┘     │    │         │   │           │                │
│                                         │                 │    ▼         ▼   ▼           ▼                │
│                    ┌────────────────────┼────────────────────┐    │         │   │           │                │
│                    │                    │                    │    │         │   │           │                │
│                    ▼                    ▼                    ▼    │         │   │           │                │
│         ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐  │         │   │           │                │
│         │     LOGIN       │  │    REGISTER     │  │    LOGOUT      │  │         │   │           │                │
│         └────────┬────────┘  └────────┬────────┘  └────────┬────────┘  │         │   │           │                │
│                  │                    │                    │           │         │   │           │                │
│                  ▼                    ▼                    ▼           │         │   │           │                │
│    ┌───────────────────┐  ┌───────────────────┐  ┌───────────────────┐  │         │   │           │                │
│    │  INPUT EMAIL &   │  │  INPUT: NAME,     │  │  DESTROY SESSION │  │         │   │           │                │
│    │  PASSWORD        │  │  EMAIL, PASSWORD │  │  CLEAR AUTH      │  │         │   │           │                │
│    └────────┬──────────┘  └────────┬──────────┘  └────────┬──────────┘  │         │   │           │                │
│             │                     │                     │               │         │   │           │                │
│             ▼                     ▼                     ▼               │         │   │           │                │
│    ┌───────────────────┐  ┌───────────────────┐  ┌───────────────────┐  │         │   │           │                │
│    │  VALIDATE &       │  │  VALIDATE &       │  │  REDIRECT TO     │  │         │   │           │                │
│    │  CHECK CREDENTIAL │  │  CHECK EMAIL      │  │  HOME PAGE       │  │         │   │           │                │
│    └────────┬──────────┘  └────────┬──────────┘  └───────────────────┘  │         │   │           │                │
│             │                     │                                        │         │   │           │                │
│             ▼                     ▼                                        │         │   │           │                │
│    ┌───────────────────┐  ┌───────────────────┐                         │         │   │           │                │
│    │  {VALID?}         │  │  {VALID?}         │                         │         │   │           │                │
│    └────────┬──────────┘  └────────┬──────────┘                         │         │   │           │                │
│             │                     │                                        │         │   │           │                │
│      ┌──────┴──────┐       ┌──────┴──────┐                              │         │   │           │                │
│     NO            YES      NO            YES                             │         │   │           │                │
│      │            │        │            │                                │         │   │           │                │
│      ▼            ▼        ▼            ▼                                │         │   │           │                │
│   ┌──────┐  ┌───────────────────┐ ┌──────┐  ┌───────────────────┐      │         │   │           │                │
│   │ERROR │  │  CREATE SESSION   │ │ERROR │  │  HASH PASSWORD    │      │         │   │           │                │
│   └──┬───┘  └────────┬──────────┘ └──┬───┘  └────────┬──────────┘      │         │   │           │                │
│      │              │               │              │                   │         │   │           │                │
│      │              ▼               │              ▼                   │         │   │           │                │
│      │     ┌───────────────────┐   │     ┌───────────────────┐        │         │   │           │                │
│      │     │  {ROLE = ADMIN?}  │   │     │  INSERT TO DB     │        │         │   │           │                │
│      │     └────────┬──────────┘   │     │  CREATE SESSION    │        │         │   │           │                │
│      │              │               │     └────────┬──────────┘        │         │   │           │                │
│      │       ┌──────┴──────┐      │              │                   │         │   │           │                │
│      │      YES           NO      │              │                   │         │   │           │                │
│      │       │            │       │              ▼                   │         │   │           │                │
│      │       ▼            ▼       │     ┌───────────────────┐        │         │   │           │                │
│      │   ┌────────┐  ┌────────┐   │     │  REDIRECT TO      │        │         │   │           │                │
│      │   │DASHBOARD│ │ HOME  │   │     │  HOME             │        │         │   │           │                │
│      │   └────────┘  └────────┘   │     └───────────────────┘        │         │   │           │                │
│      │                            │                                   │         │   │           │                │
│      └────────────────────────────┴───────────────────────────────────┘         │   │           │                │
│                                                                                 │         │   │           │                │
│                                                                                 │         │   │           │                │
│                                                                                 ▼         ▼   ▼           ▼                │
│                                                                        ┌────────────────────────────────────────┐         │
│                                                                        │         ADMIN MENU OPTIONS            │         │
│                                                                        │  ┌──────┬──────┬──────┬──────┬────┐  │         │
│                                                                        │  │ Tiket│ Bank │ Order│Book │QR  │  │         │
│                                                                        │  │ Mgmt │ Akun │ Verif│ing  │Scan│  │         │
│                                                                        │  └──┬───┴──┬───┴──┬───┴────┴────┘  │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     ▼      ▼      ▼     ▼     ▼     │         │
│                                                                        │  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐│         │
│                                                                        │  │CRUD │ │CRUD │ │Verif│ │Verif│ │Scan││         │
│                                                                        │  │Tiket│ │Bank │ │Tiket│ │Book │ │QR  ││         │
│                                                                        │  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘│         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        └─────┼──────┼──────┼─────┼─────┼─────┘         │
│                                                                              │      │      │     │     │               │
│                                                                              │      │      │     │     │               │
│                                                                              ▼      ▼      ▼     ▼     ▼               │
│                                                                        ┌────────────────────────────────────────┐         │
│                                                                        │         USER MENU OPTIONS             │         │
│                                                                        │  ┌──────┬──────┬──────┬──────┬────┐  │         │
│                                                                        │  │Beli  │Upload│Downld│Book │Prof│  │         │
│                                                                        │  │Tiket│Bukti │Tiket│ing  │ile  │  │         │
│                                                                        │  └──┬───┴──┬───┴──┬───┴────┴────┘  │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     ▼      ▼      ▼     ▼     ▼     │         │
│                                                                        │  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐│         │
│                                                                        │  │Buy  │ │Upload│ │Print│ │Book │ │Edit ││         │
│                                                                        │  │Ticket│ │Proof │ │PDF  │ │Date │ │Prof ││         │
│                                                                        │  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘│         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        │     │      │      │     │     │     │         │
│                                                                        └─────┼──────┼──────┼─────┼─────┼─────┘         │
│                                                                              │      │      │     │     │               │
│                                                                              │      │      │     │     │               │
│                                                                              ▼      ▼      ▼     ▼     ▼               │
│                                                                       ┌────────────────────────────────────────────┐  │
│                                                                       │           SHARED DATABASE               │  │
│                                                                       │  ┌─────────┐ ┌─────────┐ ┌─────────┐   │  │
│                                                                       │  │  users  │ │tickets  │ │places  │   │  │
│                                                                       │  │bank_acc│ │ticket_  │ │bookings │   │  │
│                                                                       │  │        │ │orders   │ │         │   │  │
│                                                                       │  └─────────┘ └─────────┘ └─────────┘   │  │
│                                                                       └────────────────────────────────────────────┘  │
│                                                                                                                       │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

UNIFIED FLOW - DETAIL

START
  │
  ▼
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│  USER OPENS WEBSITE                                                                                          │
│  (URL: domain.com)                                                                                           │
└────────────────────────────────────────────────────────┬────────────────────────────────────────────────────┘
                                                         │
                                                         ▼
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│  {IS USER LOGGED IN?}                                                                                         │
│  (Check session/auth cookie)                                                                                  │
└──────────────────────────┬───────────────────────────────────────────────────────────────────────────────────┘
                           │
            ┌──────────────┴──────────────┐
            │                             │
           NO                            YES
            │                             │
            ▼                             ▼
┌─────────────────────┐    ┌───────────────────────────────────────────────────────────────────────────────┐
│  SHOW PUBLIC PAGE   │    │  {WHAT IS THE USER ROLE?}                                                     │
│  - Home banner      │    └────────────────────────────┬────────────────────────────────────────────────────┘
│  - Info tempat      │                             │
│  - Menu: Login     │              ┌────────────────┴────────────────┐
│    Register         │              │                             │
│                     │            ▼                             ▼
│  ┌─────────────────┴─────────┐   │                                                                       
│  │ USER CLICKS:             │   │                                                                       
│  │ - Login                  │   │                                                                       
│  │ - Register               │   │                                                                       
│  └────────────┬────────────┘   │                                                                       
│               │                │                                                                       
│               ▼                │                                                                       
│  ┌─────────────────────────┐   │    ┌──────────────────────┐              ┌──────────────────────┐       
│  │ LOGIN PROCESS:         │   │    │    ADMIN USER        │              │    REGULAR USER       │       
│  │ 1. Show login form     │   │    │                      │              │                      │       
│  │ 2. Input email/pass    │   │    │  ┌──────────────┐   │              │  ┌──────────────┐    │       
│  │ 3. Validate            │   │    │  │ ADMIN        │   │              │  │ USER        │    │       
│  │ 4. Check DB            │   │    │  │ DASHBOARD    │   │              │  │ HOME PAGE   │    │       
│  │ 5. Create session      │   │    │  │              │   │              │  │              │    │       
│  │ 6. Redirect            │   │    │  │  ┌────────┐ │   │              │  │  ┌────────┐ │    │       
│  └───────────┬───────────┘   │    │  │  │Statistics│ │   │              │  │  │MyTicket│ │    │       
│              │               │    │  │  │ - Total │ │   │              │  │  │MyBookg │ │    │       
│              │               │    │  │  │ - Revenue│ │   │              │  │  │Profile │ │    │       
│              │               │    │  │  └────────┘ │   │              │  │  │Logout  │ │    │       
│              │               │    │  │              │   │              │  │  └────────┘ │    │       
│              ▼               │    │  │  ┌────────┐ │   │              │  │              │    │       
│  ┌─────────────────────────┐ │    │  │  │CRUD    │ │   │              │  │  ┌────────┐ │    │       
│  │ REGISTER PROCESS:      │ │    │    │  │Tikets  │ │   │              │  │  │BUY     │ │    │       
│  │ 1. Show register form  │ │    │    │  └────────┘ │   │              │  │  │TICKET  │ │    │       
│  │ 2. Input data          │ │    │    │              │   │              │  │  └────────┘ │    │       
│  │ 3. Validate            │ │    │    │  ┌────────┐ │   │              │  │              │    │       
│  │ 4. Hash password       │ │    │    │  │CRUD    │ │   │              │  │  ┌────────┐ │    │       
│  │ 5. Insert DB           │ │    │    │  │Bank    │ │   │              │  │  │BOOKING │ │    │       
│  │ 6. Create session      │ │    │    │  └────────┘ │   │              │  │  │PENDOPO │ │    │       
│  │ 7. Redirect            │ │    │    │              │   │              │  │  └────────┘ │    │       
│  └───────────┬───────────┘ │    │    │  ┌────────┐ │   │              │  │              │    │       
│              │               │    │    │  │VERIFY  │ │   │              │  │              │    │       
│              │               │    │    │  │Orders  │ │   │              │  │              │    │       
│              │               │    │    │  └────────┘ │   │              │  │              │    │       
│              │               │    │    │              │   │              │  │              │    │       
│              │               │    │    │  ┌────────┐ │   │              │  │              │    │       
│              │               │    │    │  │VERIFY  │ │   │              │  │              │    │       
│              │               │    │    │  │Bookings│ │   │              │  │              │    │       
│              │               │    │    │  └────────┘ │   │              │  │              │    │       
│              │               │    │    │              │   │              │  │              │    │       
│              │               │    │    │  ┌────────┐ │   │              │  │              │    │       
│              │               │    │    │  │QR      │ │   │              │  │              │    │       
│              │               │    │    │  │Scanner │ │   │              │  │              │    │       
│              │               │    │    │  └────────┘ │   │              │  │              │    │       
│              │               │    │    │              │   │              │  │              │    │       
│              │               │    │    │  ┌────────┐ │   │              │  │              │    │       
│              │               │    │    │  │CRUD    │ │   │              │  │              │    │       
│              │               │    │    │  │Admins  │ │   │              │  │              │    │       
│              │               │    │    │  └────────┘ │   │              │  │              │    │       
│              │               │    │    └──────┬───────┘   │              └──┼──────────────┘    │       
│              │               │    │           │           │                 │                    │       
│              └───────────────┼───┴───────────┴───────────┘                 │                    │       
│                              │                                            │                    │       
│                              ▼                                            │                    │       
│              ┌─────────────────────────────────────────────────────────────┴────────────────────┘       
│              │                                                                                              │
│              ▼                                                                                              │
│    ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐  
│    │  BUY TICKET FLOW                                                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │ 1. USER SELECTS: Visit Date, Ticket Type, Quantity (1-20)                                     │   │  
│    │  │ 2. SYSTEM CALCULATES: Total Price = qty × ticket_price                                         │   │  
│    │  │ 3. USER CLICKS: "Lanjutkan Pembayaran"                                                        │   │  
│    │  │ 4. SYSTEM GENERATES: Order Code (AT-XXXXX), Ticket Codes (AT-XXXXX), QR Codes                │   │  
│    │  │ 5. SYSTEM SAVES: ticket_order + ticket_order_items to DB                                      │   │  
│    │  │ 6. USER SEES: Payment page with bank account info                                             │   │  
│    │  │ 7. USER TRANSFERS: Money to bank account                                                      │   │  
│    │  │ 8. USER UPLOADS: Payment proof (jpg/png/pdf, max 5MB)                                        │   │  
│    │  │ 9. SYSTEM SAVES: Payment proof to /public/payment-proofs/                                    │   │  
│    │  │ 10. USER WAITS: For admin verification                                                        │   │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │  BOOKING FLOW                                                                               │   │  
│    │  │  ┌─────────────────────────────────────────────────────────────────────────────────────┐   │  │  
│    │  │  │ 1. USER SELECTS: Booking Date                                                            │   │  │  
│    │  │  │ 2. SYSTEM CHECKS: Is date available? (AJAX)                                            │   │  │  
│    │  │  │ 3. USER FILLS: Visitor Name, Phone, Address, Notes                                        │   │  │  
│    │  │  │ 4. USER CLICKS: "Booking Sekarang"                                                       │   │  │  
│    │  │  │ 5. SYSTEM GENERATES: Booking Code (AB-XXXXX)                                            │   │  │  
│    │  │  │ 6. SYSTEM SAVES: booking to DB (status=pending)                                         │   │  │  
│    │  │  │ 7. USER SEES: Payment page with bank account info                                        │   │  │  
│    │  │  │ 8. USER TRANSFERS: Money to bank account                                                 │   │  │  
│    │  │  │ 9. USER UPLOADS: Payment proof                                                           │   │  │  
│    │  │  │ 10. USER WAITS: For admin verification                                                    │   │  │  
│    │  │  └─────────────────────────────────────────────────────────────────────────────────────┘   │  │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │  ADMIN VERIFICATION FLOW                                                                    │   │  
│    │  │  ┌─────────────────────────────────────────────────────────────────────────────────────┐   │  │  
│    │  │  │ 1. ADMIN OPENS: Order Tiket / Booking menu                                             │   │  │  
│    │  │  │ 2. ADMIN SEES: List of pending payments                                                  │   │  │  
│    │  │  │ 3. ADMIN CLICKS: "Detail" on an order                                                    │   │  │  
│    │  │  │ 4. ADMIN SEES: Customer info, items, payment proof                                       │   │  │  
│    │  │  │ 5. ADMIN DECIDES:                                                                         │   │  │  
│    │  │  │    ┌────────────────┬────────────────┐                                                    │   │  │  
│    │  │  │    │    KONFIRMASI  │     TOLAK      │                                                    │   │  │  
│    │  │  │    ├────────────────┼────────────────┤                                                    │   │  │  
│    │  │  │    │ - Update status│ - Input reason │                                                    │   │  │  
│    │  │  │    │   = 'confirmed'│ - Update status│                                                    │   │  │  
│    │  │  │    │ - Set confirm │   = 'rejected' │                                                    │   │  │  
│    │  │  │    │   _at = now() │                 │                                                    │   │  │  
│    │  │  │    └────────────────┴────────────────┘                                                    │   │  │  
│    │  │  └─────────────────────────────────────────────────────────────────────────────────────┘   │  │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │  QR SCANNER FLOW (Admin)                                                                   │   │  
│    │  │  ┌─────────────────────────────────────────────────────────────────────────────────────┐   │  │  
│    │  │  │ 1. ADMIN OPENS: Verifikasi Tiket page                                                 │   │  │  
│    │  │  │ 2. ADMIN CHOOSES: Scan QR / Input Manual                                               │   │  │  
│    │  │  │ 3. SYSTEM READS: QR Code / Manual Input                                                │   │  │  
│    │  │  │ 4. SYSTEM QUERIES: ticket_order_items by ticket_code                                   │   │  │  
│    │  │  │ 5. SYSTEM CHECKS: Is ticket valid? (not used)                                          │   │  │  
│    │  │  │ 6. SYSTEM SHOWS: Ticket info + Valid/Used status                                      │   │  │  
│    │  │  │ 7. ADMIN CLICKS: "Tandai Sudah Dipakai" (if valid)                                    │   │  │  
│    │  │  │ 8. SYSTEM UPDATES: is_used = true, used_at = now()                                    │   │  │  
│    │  │  └─────────────────────────────────────────────────────────────────────────────────────┘   │  │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │  DOWNLOAD TICKET FLOW (User after confirmed)                                                │   │  
│    │  │  ┌─────────────────────────────────────────────────────────────────────────────────────┐   │  │  
│    │  │  │ 1. USER OPENS: My Tickets / Download page                                              │   │  │  
│    │  │  │ 2. USER CLICKS: Download/Print button                                                   │   │  │  
│    │  │  │ 3. SYSTEM GENERATES: PDF with QR Code                                                  │   │  │  
│    │  │  │ 4. USER DOWNLOADS/PRINTS: Ticket PDF                                                    │   │  │  
│    │  │  └─────────────────────────────────────────────────────────────────────────────────────┘   │  │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐   │  
│    │  │  PROFILE & HISTORY FLOW                                                                    │   │  
│    │  │  ┌─────────────────────────────────────────────────────────────────────────────────────┐   │  │  
│    │  │  │ USER CAN: View/Edit Profile, Change Password, View Ticket History, View Booking   │   │  │  
│    │  │  └─────────────────────────────────────────────────────────────────────────────────────┘   │  │  
│    │  └─────────────────────────────────────────────────────────────────────────────────────────────┘   │  
│    │                                              │                                                     │  
│    │                                              ▼                                                     │  
│    │                              ┌─────────────────────────────────────────────┐                      │  
│    │                              │            LOGOUT PROCESS                  │                      │  
│    │                              │  1. User clicks Logout                     │                      │  
│    │                              │  2. System destroys session               │                      │  
│    │                              │  3. System redirects to home page        │                      │  
│    │                              └─────────────────────┬───────────────────────┘                      │  
│    │                                                    │                                               │  
│    └────────────────────────────────────────────────────┘                                               │  
│                                                         │                                               │  
│                                                         ▼                                               │  
│                                                    ┌────────┐                                          │  
│                                                    │  END   │                                          │  
│                                                    └────────┘                                          │  
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

SUPER SIMPLE UNIFIED FLOW (One Page)

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                              SISTEM PARKIRAN & BOOKING WISATA BANYU BIRU                  │
│                                                    (FULL FLOWCHART)                                        │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                                                 │
│                                                             ┌───────┐                                         │
│                                                             │ START │                                         │
│                                                             └───┬───┘                                         │
│                                                                 │                                             │
│                                                                 ▼                                             │
│                                                      ┌──────────────────────┐                                │
│                                                      │ USER BUKA WEBSITE    │                                │
│                                                      └──────────┬───────────┘                                │
│                                                                 │                                             │
│                                                                 ▼                                             │
│                                                 ┌───────────────────────────┐                               │
│                                                 │    SUDAH LOGIN?           │                               │
│                                                 │    (Cek Session)          │                               │
│                                                 └─────┬──────────────┬──────┘                               │
│                                               ┌───────┴──────┐  ┌───────┴────────┐                         │
│                                              NO              │ NO              │YES                         │
│                                              │               │                 │                           │
│                                              ▼               ▼                 ▼                           │
│                                    ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────┐        │
│                                    │ TAMPILKAN HAL. │ │TAMPILKAN HAL.  │ │ CEK ROLE:           │        │
│                                    │ PUBLIK         │ │ LOGIN/REGISTER │ │ ADMIN / USER        │        │
│                                    │ (Banner, Info) │ │                │ └─────────┬───────────┘        │
│                                    └────────┬────────┘ └────────┬────────┘           │                     │
│                                           │                    │                 ┌───┴───┐                  │
│                                           │                    │                 │       │                  │
│                                           │                    │               ADMIN   USER                │
│                                           │                    │                 │       │                  │
│                                           │                    │                 ▼       ▼                   │
│                                           │                    │           ┌─────────┐ ┌─────────┐         │
│                                           │                    │           │DASHBOARD│ │HOME     │         │
│                                           │                    │           │ADMIN    │ │USER     │         │
│                                           │                    │           └────┬────┘ └────┬────┘         │
│                                           │                    │                │         │               │
│                                           │                    │         ┌───────┴───────┴───────┐         │
│                                           │                    │         │                       │         │
│                                           │                    │         ▼                       ▼         │
│                                           │                    │    ┌──────────┐           ┌──────────┐  │
│                                           │                    │    │ADMIN MENU│           │USER MENU │  │
│                                           │                    │    │──────────│           │──────────│  │
│                                           │                    │    │•Tiket    │           │•Beli Tiket│  │
│                                           │                    │    │•Bank     │           │•Booking  │  │
│                                           │                    │    │•Order    │           │•My Tiket │  │
│                                           │                    │    │•Booking  │           │•My Book  │  │
│                                           │                    │    │•QR Scan  │           │•Profile  │  │
│                                           │                    │    │•Admin    │           │•Logout   │  │
│                                           │                    │    │•Logout   │           │          │  │
│                                           │                    │    └────┬─────┘           └────┬─────┘  │
│                                           │                    │         │                       │         │
│                                           │                    │         │         ┌─────────────┘         │
│                                           │                    │         │         │                       │
│                                           │                    │         ▼         ▼                       │
│                                           │                    │    ┌─────────────────────────┐          │
│                                           │                    │    │    DATABASE (MySQL)     │          │
│                                           │                    │    │    ─────────────────────│          │
│                                           │                    │    │  • users               │          │
│                                           │                    │    │  • tickets             │          │
│                                           │                    │    │  • ticket_orders       │          │
│                                           │                    │    │  • ticket_order_items  │          │
│                                           │                    │    │  • places              │          │
│                                           │                    │    │  • bookings            │          │
│                                           │                    │    │  • bank_accounts       │          │
│                                           │                    │    └─────────────────────────┘          │
│                                           │                    │                │                         │
│                                           │                    │                │                         │
│                                           └────────────────────┴────────────────┘                         │
│                                                                 │                                         │
│                                                                 ▼                                         │
│    ┌─────────────────────────────────────────────────────────────────────────────────────────────────┐    │
│    │  ALUR LENGKAP (Dari Login sampai Logout):                                                     │    │
│    │                                                                                                  │    │
│    │  1. USER LOGIN → 2. PILIH MENU → 3. LAKUKAN AKSI → 4. ADMIN VERIFIKASI → 5. SELESAI → LOGOUT  │    │
│    │                                                                                                  │    │
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────┐   │    │
│    │  │  JIKA USER MEMILIH "BELI TIKET":                                                           │   │    │
│    │  │  ─────────────────────────────────────────────────────────────────────────────────────────  │   │
│    │  │  User Pilih Tanggal → Pilih Tiket → Pilih Jumlah → Hitung Total → Bayar → Upload Bukti  │   │
│    │  │       ↓                                                                                      │   │
│    │  │  Admin Verifikasi (Terima/Tolak) → User Download Tiket → Scan QR saat datang               │   │
│    │  └────────────────────────────────────────────────────────────────────────────────────────────┘   │    │
│    │                                                                                                  │    │
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────┐   │    │
│    │  │  JIKA USER MEMILIH "BOOKING PENDOPO":                                                     │   │    │
│    │  │  ─────────────────────────────────────────────────────────────────────────────────────────  │   │
│    │  │  User Pilih Tanggal → Cek Ketersediaan → Isi Data → Booking → Bayar → Upload Bukti       │   │
│    │  │       ↓                                                                                      │   │
│    │  │  Admin Verifikasi (Terima/Tolak) → BookingConfirmed                                        │   │
│    │  └────────────────────────────────────────────────────────────────────────────────────────────┘   │    │
│    │                                                                                                  │    │
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────┐   │    │
│    │  │  JIKA ADMIN MEMILIH "VERIFIKASI":                                                          │   │    │
│    │  │  ─────────────────────────────────────────────────────────────────────────────────────────  │   │
│    │  │  Admin Lihat Daftar Pending → Klik Detail → Periksa Bukti → Konfirmasi / Tolak            │   │
│    │  │       ↓                                                                                      │   │
│    │  │  Status diUpdate → User Dapat/notifikasi                                                   │   │
│    │  └────────────────────────────────────────────────────────────────────────────────────────────┘   │    │
│    │                                                                                                  │    │
│    │  ┌─────────────────────────────────────────────────────────────────────────────────────────┐   │    │
│    │  │  JIKA ADMIN MEMILIH "QR SCANNER":                                                          │   │    │
│    │  │  ─────────────────────────────────────────────────────────────────────────────────────────  │   │
│    │  │  Admin Scan QR / Input Manual → Sistem Cek Validitas → Tampilkan Hasil (Valid/Used)    │   │
│    │  │       ↓                                                                                      │   │
│    │  │  Jika Valid → Tandai Sudah Dipakai                                                        │   │
│    │  └────────────────────────────────────────────────────────────────────────────────────────────┘   │    │
│    │                                                                                                  │    │
│    └─────────────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                              │
│                                                             │                                               │
│                                                             ▼                                               │
│                                                      ┌───────┐                                           │
│                                                      │  END │                                           │
│                                                      └───────┘                                           │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

KETERANGAN:

Aktor:

  • GUEST = Pengunjung yang belum login
  • USER = Pengunjung yang sudah login (membeli tiket/booking)
  • ADMIN = Petugas yang mengelola sistem

Menu Admin:

Menu Fungsi
Dashboard Lihat statistik & chart
Tiket CRUD data tiket
Rekening Bank CRUD rekening bank
Order Tiket Verifikasi pembayaran tiket
Booking Verifikasi pembayaran booking
QR Scanner Scan & verifikasi ticket
Admin CRUD admin lain

Menu User:

Menu Fungsi
Beli Tiket Pembelian tiket masuk
Booking Pemesanan pendopo
Tiket Saya Lihat riwayat & download
Booking Saya Lihat riwayat booking
Profil Edit profil & password

Status:

  • pending = Menunggu verifikasi
  • confirmed = Diterima/confirmed
  • rejected = Ditolak

Dibuat: 9 Maret 2026 Sistem: Banyu Biru Ticketing & Booking System Tipe: Unified Flowchart (Semua jadi satu)