Description
Given the nature of the assemblage of recent requests for new event statuses (#317, #332, #338), I think having event type be something separate and orthogonal to event status is almost certainly the way to go for this. @weihang7 alluded to this on #338.
The event types can be something along the lines of "full/external/billable event" (i.e., something to call the "typical case"), "rental" (#332), "social" (#317), and the like. The existing event statuses would then further indicate how far along a typical event or rental is in the overall process. For social events, some statuses make more sense than others (i.e., it makes sense for one to be cancelled, but not billed). How (or whether) this would be enforced or displayed is debatable, though I don't see any compelling need to add additional statuses beyond what already exists.
So, it seems rental
could be changed from a Boolean to some sort of enumerable to implement this part. As for the stoplight metaphor, typical events and rentals would follow the colors of their status, while social events could perhaps be special (although maybe they should follow the traditional colors if they're cancelled).