Bristol Harbour FC crest

Bristol Harbour FC

Membership Rules Engine

A static visual simulation of the business rules implemented in the Spring Boot backend: store discounts, ticket sale windows and Promotion Final allocation.

Visual companion

What this demo represents

This GitHub Pages demo helps visitors understand the rules implemented in the backend without running the Spring Boot application locally.

Official club store

Home Shirt

Bristol Harbour FC navy home shirt

£75

Navy home shirt with a charcoal cross and gold detailing.

Store discounts

Discount simulator

Run the simulator to see the discount result.

Normal home match

Ticket sale windows

Bristol Harbour FC vs Northampton Cobblers FC

Run the simulator to check the sale window rule.

Promotion Final

Wembley allocation

Bristol Harbour FC vs Birmingham Forge FC

Wembley Stadium, London · 35,000 tickets

Run the simulator to check final allocation rules.

Promotion Final sample

Reduced allocation view

The backend rule uses 35,000 tickets. This visual demo uses a reduced allocation of 3 tickets so the confirmed and waiting list behavior is easy to see.

Confirmed

    Waiting list

      Try these examples

      Test scenarios

      Use the buttons in each simulator to load these examples automatically.

      Store discountPremium member receives 20% discount.
      Invalid accessWrong access code returns INVALID_MEMBER_ACCESS.
      Ticket windowStandard member before sale window returns NOT_YET_AVAILABLE.
      Promotion FinalSeason Ticket Holders are assigned by seniority.

      Manual testing data

      Demo member records

      These fictional records mirror the seed data loaded by Flyway in the backend. Use them to test the simulators manually or through the quick scenario buttons.

      Member number Access code Type Active Useful for
      BHFC-12000 120000 SEASON_TICKET_HOLDER Yes Promotion Final confirmed example
      BHFC-1001 111111 SEASON_TICKET_HOLDER Yes Normal match already included
      BHFC-18050 180500 SEASON_TICKET_HOLDER Yes Promotion Final seniority example
      BHFC-27000 270000 SEASON_TICKET_HOLDER Yes Waiting list sample
      BHFC-36035 360350 SEASON_TICKET_HOLDER Yes Waiting list / high member number example
      BHFC-1900 190000 SEASON_TICKET_HOLDER No Inactive member rejection
      BHFC-2045 482910 PREMIUM_MEMBER Yes 20% store discount / final not eligible
      BHFC-3107 739204 STANDARD_MEMBER Yes 10% discount / ticket window example
      BHFC-4880 105377 FREE_MEMBER Yes 0% discount / final sale window example