The basic concept of PlaceCal is to connect people who run events within their community to people within communities looking for things to do.
A high level view of how it works looks like this:

Entities
- Neighbourhoods are hierarchical, so wider area neighbourhoods can contain narrower scoped neighbourhoods. This information comes from the UK government.
Sites manifest as domains in PlaceCal- so a Birmingham site would have birmingham.placecal.org
- Site admins can assign neighbourhoods to their site.
- Partners are people who run activities. They have an address which we use to look up the corresponding neighbourhood.
- Events represent a point-in-time that a Partner is running an activitity, so basically a Date/Time.
Relationships
Sites contain many Neighbourhoods.
Partners have many Events. The events are created in PlaceCal from a Calendar that imports the event data from the Partners online calendar source (meetup, eventbrite, facebook, ICS and XML).
Users
Broadly there are two types of user:
- Public Users: people who visit x.placecal.org to see events/partners in their area
- Partner Admins: people who create Partners so they can import events to provide activities on sites for public users.
Ultimate data flow
Sites have two sets of data
- Partners (in the sites neighbourhoods) that are pulled by Partner -> Address -> Neighbourhood -> Site
- Events (happening in Site neighbourhoods) that are pulled by Event -> Partner -> Address -> Neighbourhood -> Site