The idea
Separate event data from registration data. An event has a title, start time with a time zone, venue and capacity. A registration links an attendee to the event and records a status such as confirmed or cancelled. Use stable identifiers rather than attendee names as keys. Document how cancelled registrations affect capacity.
Worked example
A fictional workshop has capacity 20 and starts at 10:00 in Africa/Accra. Each registration stores the event ID, an attendee contact and its status. A cancellation frees a place only according to the defined policy. Two attendees with the same name remain distinct records.
Try it
Draw a two-table model for events and registrations. Include IDs, a time zone, capacity and status. Explain why a person's name is a poor unique identifier and write your cancellation rule.
