Before your ticketing platform can be used, you need to setup and manage your (and your clients) organizational structure.
To tackle multi-tenancy we offer two levels that can be configured: organizers & organizations.
Organizers & organizations
- Organizer: the instance(not an actual user!) that is organizing an event. The organizer has an official name, bank account number, VAT and currency.
- The organizer has 1 or more operators that can login and configure/sell events on the platform.
- The organizer has 2 or more distributions (= sale channels) in which he can sell his events.
- The organizer only has 1 currency to ensure integrity in his reports.
- Organization: the holding company to which an organizer belongs. The organization is a structural entity that defines the uniqueness of a customer. Below an example:
- Organization: Fancy theme parks
- Organizer: Fun park
- Organizer: Water park
- Organizer: Rollercoaster park
- Organization: football club ABC
- Organizer: football club ABC
- Organization: Fancy theme parks
- Customer John Doe has bought a ticket for Fun parks and is registered in the Fancy theme parks organization
- Customer John Doe wants to buy a ticket for Water park, he can use the same account as he used for Fun parks. Both purchases are coupled to the same account and the customer is only known once.
- Customer John Doe wants to buy a ticket for football club ABC, he can not use the same account as for Fun/Water park. He’s the same customer, and Fancy theme parks is in the same database; but both are unrelated to eachother.
- Organizers are used to split events, permissions, currencies, reporting
- Organizations are used to define the user profile uniqueness.
- An admin has to think how to do his setup. 2 examples:
- Self service: every organizer has its own organization. The organizer own his data and customers. A customer creates a separate account for each organizer. The customer might not even know that it is the same platform.
- Full service: the admin’s organization owns all customers. All organizers on the platform are assigned to the same organization (the one of the admin). A customer needs to use the same account for every organizer/event.
Upon the creation of your admin account, your own organization has been created.
When creating an organizer, the organizationId is a required field. So you’ll be adding an organizer to an existing organization, or create a new organization first. (Don’t forget to use a countries query to know the correct countryId as well).
An operator is a user that can login and work for 1 or more organizers. An operator has a set of permissions and can in some occasions have admin privileges (= all permissions for the whole platform). There are 2 type of permissions links an operator can have:
- Sale permissions
- The operator is linked to 1 or more distributions. He can sell and manage tickets for all events in these distributions
- Configuration permissions
- The operator is linked to 1 or more organizers. He can configure and manage events for these organizers
The logged in operator can fetch his team members. His team members are other operators that are linked to the same organizer(s) OR distribution(s) as the logged in operator.
A team member is an operator, but is typed as a team member because of security. You can fetch the team member’s mutual organizers and distributions. Those are the resources you also have access to. You can’t fetch any data that the team member has access to but you don’t.
You can assign any of your team members to any of your organizers/distributions that they are not assigned to yet. The only condition is that you have configuration permission to the resource that you are assigning.
In our back-office, registering publicly creates one operator and one linked organizer. But sometimes you want to add an extra operator to existing organizers. This can be achieved using the invite function. The invite needs an e-mail and some configuration/sale permissions and will add the operator accordingly.
Now that your hierarchical structure is ready to go, it’s time to configure fees on it. Checkout our fee blogpost to set this up.