Entity Management

Manage companies, users, events, partners, and speakers

Last updated: June 13, 2026 Reading time: 6 minutes File size: 8.97 KB

Implemented

Last Updated: 2026-06-13

Overview

Entity management is the foundation of the BATbern platform. As an Organizer, you can create, read, update, and delete (CRUD) all core entities needed for successful conference planning.

Core Entities

BATbern organizes information into five core entity types:

๐Ÿข Companies

Architectural firms participating in BATbern conferences.

Key Features:

  • Swiss UID validation (CHE-xxx.xxx.xxx format)
  • Company logo upload to S3
  • Employee tracking
  • Location and contact information
  • Autocomplete search

Status: Implemented

Learn more โ†’

๐Ÿ‘ฅ Users

Individuals with platform accounts (Organizers, Speakers, Attendees, Partners, Admins).

Key Features:

  • 5 roles (ORGANIZER, SPEAKER, PARTNER, ATTENDEE, ADMIN) with different permissions
  • Login via email/password or โ€œContinue with Googleโ€ (SSO, Epic 12)
  • Additional email aliases (receive-at + send-as, Story 10-32)
  • GDPR-compliant profile management
  • Role promotion/demotion workflows
  • Password reset and email verification
  • JIT provisioning + user sync from Cognito to PostgreSQL

Status: Implemented

Learn more โ†’

๐Ÿ“… Events

BATbern conferences and their lifecycle management.

Key Features:

  • 3 event types (Full-Day, Afternoon, Evening)
  • Timeline management (dates, registration windows)
  • Session tracking
  • Speaker assignments
  • 9-state event workflow, per-speaker workflow, task system

Status: Implemented

Learn more โ†’

๐Ÿค Partners

Organizations collaborating with BATbern.

Key Features:

  • Partner directory with tier badges (Diamond, Platinum, Gold, Silver, Bronze)
  • Contact management
  • Meeting coordination during events
  • Engagement metrics
  • Public-facing showcase

Status: Implemented

Learn more โ†’

๐ŸŽค Speakers

Presenters for BATbern conference sessions.

Key Features:

  • Speaker profile management (unified into event-management, Epic 11 / ADR-009)
  • 8-state per-speaker workflow tracking
  • Cognito authentication (email/password or โ€œContinue with Googleโ€) โ€” magic link removed
  • Content collection (โ‰ค1000 characters)
  • Speaker company self-service with organizer review
  • Session assignments

Status: Implemented

Learn more โ†’

Common Operations

All entities support standard CRUD operations:

Create ยฉ

Navigate to Entity List

Click the entity type in the left sidebar (e.g., โ€œCompaniesโ€).

Click โ€œCreate Newโ€

Click the โ€œ+ Create New Companyโ€ button (top-right).

Fill Form

Complete all required fields (marked with *).

Save

Click โ€œSaveโ€ or โ€œSave & Continueโ€ to create the entity.

Read ยฎ

List View: Browse all entities in paginated tables

๐Ÿข Companies (237)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
[๐Ÿ” Search companies...                   ]

Company Name          | Swiss UID    | Actions
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Mรผller Architekten AG | CHE-123.456  | ๐Ÿ‘๏ธ ๐Ÿ“ ๐Ÿ—‘๏ธ

Detail View: View complete entity information

Click the ๐Ÿ‘๏ธ View icon to see read-only details.

Update (U)

Click Edit

Click the ๐Ÿ“ Edit icon in the table row.

Modify Fields

Update any editable fields.

Save Changes

Click โ€œSave Changesโ€ to persist updates.

Delete (D)

Click Delete

Click the ๐Ÿ—‘๏ธ Delete icon in the table row.

Confirm

A confirmation dialog appears:

Are you sure you want to delete โ€œMรผller Architekten AGโ€? This action cannot be undone.

Click Delete (red button) to confirm.

Search & Filter

Implemented

All entity lists support powerful search and filtering:

Simple Search:

๐Ÿ” [Mรผller]

Searches across all text fields (name, email, description, etc.)

Advanced Filters (JSON syntax):

canton:ZH
employees:>100
verified:true

See entity-specific documentation for available filter fields.

Resource Expansion

Implemented

Optimize API requests by expanding related entities:

GET /api/events/123?expand=speakers,partners

Returns event with embedded speaker and partner data in a single request, reducing round trips.

Available expansions (entity-specific):

  • Events: expand=speakers,partners,sessions
  • Companies: expand=employees,events
  • Speakers: expand=company,sessions

Data Validation

All entities enforce validation rules:

Swiss UID Format

Implemented

Companies must provide a valid Swiss UID:

  • Format: CHE-123.456.789
  • Validation: Real-time format checking
  • Required: Yes for Swiss companies

Example:

  • โœ… Valid: CHE-123.456.789
  • โŒ Invalid: CHE123456789 (missing dots)
  • โŒ Invalid: ABC-123.456.789 (wrong prefix)

Email Validation

All email fields validate format:

  • Format: user@domain.tld
  • Required: Yes for user accounts
  • Unique: Email addresses must be unique per user

File Upload Validation

Implemented

File uploads (logos, attachments) enforce limits:

  • Max Size: 2MB
  • Allowed Types: PNG, JPG, SVG (images); PDF (documents)
  • Upload Method: Presigned S3 URLs (no backend proxying)

See File Uploads Feature for details.

Data Privacy (GDPR)

Implemented

BATbern complies with GDPR requirements:

User Rights

Users can:

  • โœ… Access: View all personal data held by the platform
  • โœ… Rectify: Update incorrect or incomplete data
  • โœ… Erase: Request deletion of their account and data (โ€œRight to be Forgottenโ€)
  • โœ… Export: Download personal data in machine-readable format (JSON)
  • โœ… Object: Opt-out of non-essential data processing

Data Retention

  • Active Users: Data retained indefinitely while account is active
  • Deleted Users: Personal data erased within 30 days of deletion request
  • Audit Logs: Retained for 7 years for compliance (anonymized after user deletion)

Planned

Future releases will include:

  • Granular consent preferences
  • Cookie consent management
  • Marketing communication opt-in/out

Audit Logging

Planned

All entity changes are logged for accountability:

2025-03-15 14:23:45 | UPDATED | User: organizer@batbern.ch
  Company "Mรผller Architekten AG"
  Changed: employees (42 โ†’ 45)

Audit logs include:

  • Timestamp: When the change occurred
  • Action: CREATE, UPDATE, DELETE
  • User: Who made the change
  • Entity: What was changed
  • Changes: Field-level diff

Performance Considerations

Pagination

All list views paginate results:

  • Default: 25 items per page
  • Options: 10, 25, 50, 100
  • Performance: Large result sets (1000+) may take longer to load

Caching

Implemented

API responses are cached for performance:

  • Cache Duration: 5 minutes for read operations
  • Cache Invalidation: Automatic on UPDATE/DELETE operations
  • Cache Provider: Caffeine in-memory cache (local dev), ElastiCache (AWS)

Bulk Operations

Planned

Future releases will support:

  • Bulk user import from CSV
  • Bulk speaker invitation
  • Bulk session assignment

Whatโ€™s Next?

Choose an entity type to learn more:

  1. New to BATbern? Start with Companies to register architectural firms
  2. Planning an event? Jump to Events to create your first conference
  3. Managing speakers? See Speakers for outreach and coordination