┌─────────────────────┐
                │   WRISTBAND SCANNED │
                └──────────┬──────────┘
                           │
                ┌──────────▼──────────┐
                │ Get Checkpoint Dir  │
                └──────────┬──────────┘
                           │
          ┌────────────────┴────────────────┐
          │                                 │
   ┌──────▼──────┐                  ┌──────▼──────┐
   │  Direction  │                  │  Direction  │
   │    = OUT    │                  │    = IN     │
   └──────┬──────┘                  └───────┬─────┘
          │                                 │
          ▼                                 ▼
┌─────────────────┐              ┌─────────────────────┐
│ GRANTED (100%)  │              │ Check Wristband Type│
│ Exit to source  │              │   ∈ allowedTypes?   │
│ zone (no check) │              └──────────┬──────────┘
└─────────────────┘                         │
                                ┌───────────┴───────────┐
                                │                       │
                         ┌──────▼──────┐        ┌───────▼─────┐
                         │    YES      │        │     NO      │
                         └──────┬──────┘        └──────┬──────┘
                                │                      │
                                ▼                      ▼
                      ┌─────────────────┐    ┌─────────────────────┐
                      │ Check Bypass    │    │ DENIED: TYPE_NOT_   |
                      │ Policy?         │    │ ALLOWED             │
                      └────────┬────────┘    │ Message: "Type X    │
                               │             │ not allowed in Y"   │
                     ┌─────────┴─────────┐   └─────────────────────┘
                     │                   │
              ┌──────▼──────┐      ┌─────▼──────┐
              │    YES      │      │     NO     │
              └──────┬──────┘      └──────┬─────┘
                     │                    │
                     ▼                    ▼
           ┌─────────────────┐  ┌─────────────────────┐
           │ GRANTED         │  │ Check Zone Config   │
           │ (bypass active) │  │ exists?             │
           └─────────────────┘  └──────────┬──────────┘
                                           │
                                  ┌────────┴──────────┐
                                  │                   │
                           ┌──────▼──────┐      ┌─────▼──────┐
                           │    YES      │      │     NO     │
                           └──────┬──────┘      └──────┬─────┘
                                  │                    │
                                  ▼                    ▼
                        ┌─────────────────┐  ┌─────────────────────┐
                        │ enterPermission │  │ DENIED: ZONE_CONFIG_│
                        │ = null (undef)? │  │ MISSING             │
                        └─────────┬───────┘  └─────────────────────┘
                                  │
                        ┌─────────┴──────────┐
                        │                    │
                 ┌──────▼──────┐      ┌──────▼──────┐
                 │    YES      │      │     NO      │
                 └──────┬──────┘      └──────┬──────┘
                        │                    │
                        ▼                    ▼
              ┌─────────────────┐  ┌─────────────────────┐
              │ GRANTED         │  │ enterPermission     │
              │ (no capacity    │  │ = true?             │
              │  check needed)  │  └──────────┬──────────┘
              └─────────────────┘             │
                                   ┌──────────┴─────────┐
                                   │                    │
                            ┌──────▼──────┐      ┌──────▼──────┐
                            │    YES      │      │     NO      │
                            └──────┬──────┘      └──────┬──────┘
                                   │                    │
                                   ▼                    ▼
                         ┌─────────────────┐  ┌─────────────────────┐
                         │ GRANTED         │  │ Check Capacity      │
                         │ (permission ok) │  │ (current < max)     │
                         └─────────────────┘  └────────────┬────────┘
                                                           │
                                                 ┌─────────┴─────────┐
                                                 │                   │
                                          ┌──────▼──────┐    ┌───────▼─────┐
                                          │    YES      │    │     NO      │
                                          └──────┬──────┘    └────────┬────┘
                                                 │                    │
                                                 ▼                    ▼
                                       ┌─────────────────┐  ┌─────────────────────┐
                                       │ GRANTED         │  │ DENIED: CAPACITY_   │
                                       │ (XX/YY free)    │  │ FULL                │
                                       └─────────────────┘  │ Message: "Capacity  │
                                                            │ full (XX/YY)"       │
                                                            └─────────────────────┘
Back to top