EntitiesCore
Group / Corporate Membership
Group membership entity for corporate accounts
Group membership entity for corporate accounts
Represents corporate group accounts with seat management.
Fields
Field Registry (from workspace/sources/entity-registry.csv)
| Field | Input Type | Required | Notes |
|---|---|---|---|
| Group Name | Text | Required | model: name, rel: string |
| Group Description | Text | Required | model: description, rel: text |
| Group Registration Date | Date | Required | model: startDate, rel: datetime |
| Group Expiry Date | Date | Required | model: endDate, rel: datetime |
| Group ID | Number | Required | - |
| Price | Number | Required | May need regex here to allow cents; model: price, rel: float |
| Currency | - | - | model: currency, rel: string |
| Number of Seats | Number | Required | model: numberOfSeats, rel: integer |
| Group Admin | Selector | Required | Need the ability to search for name include email, the selector should display as "John Smith - john@email.com" with autocomplete functionality, if left empty it uses the fields below; model: groupAdmin |
| Group Admin First Name | Text | Required | - |
| Group Admin Last Name | Text | Required | - |
| Group Admin Email | Required | - | |
| Membership Plan | Selector | Required | Should be a repeater based on the "number of seats" number which generates fields with a list of the memberships and if the fields are left blank the member can add it in themselves |
| Member First Name | Text | Required | - |
| Member Last Name | Text | Required | - |
| Member Email | Required | - |
Relationships
| Relation | Type | Target Entity |
|---|---|---|
| membershipPlan | ManyToOne | MembershipPlan |
| members | OneToMany | Member |
Business Rules
- Occupied seats cannot exceed total seats
- Admin email must be valid
- Cannot reduce seats below occupied count
Features
Group / Corporate Membership
Acceptance Criteria
Frontend
- Admin/client UI can view and manage
Group / Corporate Membershiprecords where applicable.
Backend / API
- CRUD operations exist for
Group / Corporate Membership(create, read, update, delete/archive).
Permissions
- Access is restricted to appropriate roles (tenant-scoped).
Business Rules
- Fields and relationships documented on this page are enforced for
Group / Corporate Membership.
Error Handling
- Invalid payloads return field-level validation errors.