I'm creating a License Type using Commerce License. It will allow a user that owns a group to purchase seats on that group for other users. Therefore, at purchase time, I need to associate a group owned by the user with the license or order somehow. Then, later, I will have routes that can be used by the license owner to assign that group seat to a user.
My question is, where do I actually store this information? I think I just need two fields: the group for which a seat is purchased (required), and the user the seat currently belongs to (nullable).
Here are some potential places I could put the fields:
- License type
- Subscription type
- Order Item type
- Order type
- Product Variation type
- Product type
All six of these configuration entities are involved in each order for a new seat, which has my mind a bit boggled as I don't understand the intention of each of these. How can I determine how to create this architecture? Is ordering a seat a new type of order? Or just a new type of order item? Should the group type go on the product variation? Why not put everything on the license itself? I'd appreciate any guidance from the more experienced.