# Ticket Validity Check ```mermaid flowchart TD start([Ticket Found, Event Found]) eventDateIsToday(Checks if Event Date is Today) todayIsAfterEvent(Checks if Event was before Today) twoHoursEarly(Checks if its less than 2 hours to event start) fiveHoursAgo(Checks if Event started less than 5 hours ago) returnsInvalid([Ticket is Invalid]) returnsExpired([Ticket is Expired]) returnsExpired2([Ticket is Expired]) returnsEarly([Ticket is Early]) returnsValid([Ticket is Valid]) start --> eventDateIsToday -- yes --- todayIsAfterEvent eventDateIsToday -- no --- returnsInvalid todayIsAfterEvent -- yes --- returnsExpired2 todayIsAfterEvent --> twoHoursEarly -- no --- returnsEarly twoHoursEarly -- yes --- fiveHoursAgo fiveHoursAgo -- yes --- returnsValid fiveHoursAgo -- no --- returnsExpired ```