Skip to main content

PBS Planning - Changelog

All notable changes to the PBS Planning documentation will be documented in this file.

The format is based on Keep a Changelog.


[4.8.0] - 2025-12-09

Changed

Terminology Consistency - Project Status

  • Updated project.status terminology: Changed from preliminary to planning for consistency
    • Updated schema.dbml field definition: status varchar [not null, default: 'planning', note: 'planning | confirmed | completed']
    • Updated all schema documentation and comments
    • Updated docs/views.md references
    • Updated docs/database/entities-reference.md
    • Reason: UI prototypes use "Planning" status; schema now matches UI terminology
    • Status flow: planning → confirmed → completed

Technical Notes

  • Schema version: 4.8.0
  • Files changed:
    • schema.dbml (lines 461, 507, 1165, 1287)
    • docs/views.md (line 676)
    • docs/database/entities-reference.md (lines 445, 458, 469)
  • No database migration needed: This is a terminology update; value remains a varchar field

[4.7.1] - 2025-12-02

Changed

Project Notes - Rich Text Support

  • Updated projects.notes field: Added rich text/HTML formatting support
    • Frontend can now use rich text editor (bold, italic, strikethrough, lists, etc.)
    • Field type remains text (stores HTML markup)
    • Consistent with contract_template fields that also support HTML
    • Enables better project documentation with formatted notes

Technical Notes

  • Schema version: 4.7.1
  • Files changed: schema.dbml (line 483)
  • No database migration needed: Field type unchanged, just clarified HTML support

[4.7.0] - 2025-11-28

🎯 Manual PM Confirmation Workflow

This is a MINOR release restoring PM manual confirmation after crew accepts offers.

Changed

Assignment Offers Workflow - Manual PM Confirmation Required

  • Restored PM confirmation step: Crew acceptance no longer creates assignment automatically
    • OLD (v4.6): pending → accepted → assignment created immediately
    • NEW (v4.7): pending → accepted → [PM confirms] → confirmed → assignment created
  • New status: confirmed: Added to assignment_offers.status enum
    • Full status list: pending | accepted | confirmed | declined | negotiating
  • accepted now means "needs PM action": Changed from green (done) to yellow (warning)
    • Visual indicator that PM confirmation is required
    • PM must manually verify and confirm each acceptance

Status Colors Updated (v4.7)

unassigned:Light Grey #e9ecef - No person assigned yet
selected: 👤 Light Blue #d1ecf1 - PM picked person, drafting offer
pending:Blue #cce5ff - Offer sent, awaiting crew response
accepted: 👤✓ Yellow #fff3cd - Crew accepted, PM MUST CONFIRM (action needed!)
negotiating: 👤💬 Purple #e2d9f3 - Crew wants to discuss rates
declined: 👤✕ Red #f8d7da - Crew rejected offer
confirmed:Green #d4edda - PM confirmed booking, assignment created
active: 🎬 Dark Green #c3e6c3 - Project underway, crew working
completed: ✔️ Grey #e2e3e5 - Assignment finished
cancelled: 🚫 Red #f8d7da - Assignment cancelled

Note: Crew response statuses (accepted, negotiating, declined) all use 👤 person icon to visually indicate crew actions.

Why This Change?

Simplicity & PM Control Principles:

  • PM verifies crew response is genuine
  • PM can add internal notes before final confirmation
  • PM checks for conflicts before creating assignment
  • PM stays in control of all bookings (aligns with project principles)
  • Consistent workflow: all offer responses require PM action

Workflow States (Updated v4.7)

  1. Unassigned: Function exists, no person selected
  2. Selected: PM picks person, drafting offer
  3. Pending: Offer sent, awaiting crew response (status='pending')
  4. Accepted: Crew accepts, PM must confirm (status='accepted', ⚠️ Yellow)
  5. Confirmed: PM confirms booking (status='confirmed', ✅ Green) → Assignment created
  6. Negotiating: Crew wants to discuss rates (status='negotiating')
  7. Declined: Crew rejects offer (status='declined')

Updated

Documentation Changes

  • Updated schema.dbml: Version 4.7, updated status workflow notes
  • Updated docs/user-cases/02-admin-staffing.md: UC-05 now shows manual confirmation flow
  • Updated all prototype config.js files: Added 'accepted' status with yellow warning colors

Database Changes

  • Updated assignment_offers.status enum: Added 'confirmed' value
  • Updated workflow: Assignment creation moved from crew acceptance to PM confirmation

Technical Notes

  • Schema version: 4.7
  • Backward compatible: Existing 'confirmed' assignments unaffected (status on assignments table)
  • Prototype version: 1.5
  • Migration: No data migration needed (just enum update)

[4.6.1] - 2025-11-25

🎯 Selected Crew Tracking on Project Functions

This is a PATCH release refining the status workflow architecture based on architectural review.

Added

Selected Crew Tracking on Project Functions

  • Added selected_crew_profile_id field to project_functions table

    • Tracks draft crew selection during planning phase
    • Can change freely until offer is sent
    • Persists across sessions (not UI-only)
    • Enables multi-PM collaboration on same project
  • Added assignment_id field to project_functions table

    • Links function slot to confirmed assignment once crew accepts
    • Provides direct relationship: function → assignment
    • Simplifies grid view queries

Changed

Workflow Architecture Refinement

  • "Selected" state now lives in database on project_functions.selected_crew_profile_id

    • OLD approach (v4.6.0): Described as "UI-only state"
    • NEW approach (v4.6.1): Stored in database for persistence and collaboration
  • Cleaner separation of concerns:

    • project_functions.selected_crew_profile_id = Draft selection (can change freely)
    • assignment_offers table = Only created when offer actually sent
    • project_functions.assignment_id = Link to confirmed booking

Grid View Status Logic (Updated)

// Determine row status:
if (project_function.assignment_id) → show assignment.current_status
else if (has_offer_record) → show offer.status
else if (project_function.selected_crew_profile_id) → show 'selected'
else → show 'unassigned'

Technical Notes

  • Schema: 2 new fields on project_functions table
  • Indexes: Added indexes on selected_crew_profile_id and assignment_id
  • Migration: Both fields nullable, backward compatible

[4.6.0] - 2025-11-25

🎯 Simplified Assignment Status Workflow & Complete Project Activity Logging

This is a MINOR release simplifying the offer acceptance workflow and adding comprehensive project event tracking.

Changed

Assignment Offers Workflow Simplification

  • Removed PM confirmation step: Crew acceptance now creates assignment immediately
    • OLD: pending → accepted → [PM confirms] → converted → assignment created
    • NEW: pending → accepted → assignment created immediately
  • Removed status values: withdrawn and converted from assignment_offers.status
    • Simplified to: pending | accepted | declined | negotiating
  • Declined offers stay visible: When crew declines, offer remains in declined state until PM selects another person
    • PM must explicitly create new offer for different crew member
    • Provides clear audit trail of who declined what

Workflow States (UI + Database)

  1. Unassigned: Function exists, no person selected (no offer record)
  2. Selected: PM picks person, drafting offer (UI-only state, no database record)
  3. Pending: Offer sent, awaiting crew response (status='pending')
  4. Accepted: Crew accepts → Assignment created immediately (status='accepted')
  5. Negotiating: Crew wants to discuss rates (status='negotiating')
  6. Declined: Crew rejects, stays declined until PM selects new person (status='declined')
  7. Confirmed: Assignment created, crew officially booked (assignments.current_status='confirmed')

Added

Project Activity Logs (New Table)

  • Added project_activity_logs table to schema.dbml
    • Complete audit trail for all project-related events
    • Tracks: project changes, function additions, offers, status updates, assignments
    • Flexible JSON changes field for before/after values
    • Human-readable description for timeline display

Tracked Events:

  • Project changes: dates, status, budget, location modifications
  • Function management: roles added/removed/updated
  • Offer lifecycle: created, sent, accepted, declined, negotiating
  • Assignment management: created, updated, cancelled
  • Budget & equipment: items added/modified

Example Event:

{
"event_type": "offer_declined",
"entity_type": "assignment_offer",
"entity_id": "uuid",
"description": "Lisa Berg declined offer for EVS Operator",
"user_name": "Lisa Berg (crew response)",
"changes": {"status": {"old": "pending", "new": "declined"}},
"created_at": "2025-11-25T14:30:00Z"
}

Updated Documentation

  • schema.dbml - Updated version to 4.6, simplified offer status, added project_activity_logs table
  • docs/database/schema.md - Updated workflow diagrams and status descriptions
  • 🔄 docs/user-cases/02-admin-staffing.md - Workflow updates in progress
  • 🔄 docs/views.md - Status badge specifications in progress
  • 🔄 website/static/proto/grid-view/ - Prototype status updates in progress

Migration Notes

  • Database: Remove status values 'withdrawn' and 'converted' from enum constraints
  • Backend: Update offer acceptance logic to create assignments immediately
  • Frontend: Remove PM confirmation step from offer review workflow
  • Frontend: Add project activity timeline view showing all events

[4.5.1] - 2025-11-20

🔧 Prototypes Integration & Build Fix

This is a PATCH release fixing webpack build conflicts and integrating prototypes into documentation navigation.

Fixed

  • Resolved webpack compilation error: "Multiple assets emit different content to the same filename index.html"
    • Moved prototypes from /prototypes/ to /website/static/proto/
    • Updated docusaurus.config.js to serve prototypes as static files only
    • Removed conflicts between Docusaurus routing and static HTML serving

Changed

  • Prototypes now accessible at /proto/ instead of /prototypes/
    • Prototypes Gallery: /proto/
    • Create Project Wizard: /proto/create-project/
    • Grid View: /proto/grid-view/
  • Added "🎨 Prototypes" to documentation sidebar
    • Created docs/prototypes-overview.md as gateway page
    • Links to prototypes gallery with descriptions of available prototypes
  • Updated all prototype links in documentation to use new /proto/ path

[4.5.0] - 2025-11-20

🎯 Create Project - Equipment, Other Costs & Hotel Estimates

This is a MINOR release expanding the Create Project wizard to include equipment, miscellaneous costs, and hotel cost estimation.

Added

Hotel Cost Estimation (Schema Change)

  • Added target_hotel_rate_cents field to project_functions table
    • Stores estimated hotel cost per night per person for budget planning
    • Optional field (nullable)
  • Added estimated_hotel_nights field to project_functions table
    • Stores expected number of hotel nights per person
    • Optional field (nullable)
  • Budget calculation formula: quantity × estimated_hotel_nights × target_hotel_rate_cents
  • Estimated vs Actual tracking:
    • Estimated: Stored in project_functions during project creation
    • Actual: Tracked in hotel_bookings table when hotels are booked per assignment

Changed

Create Project Wizard Expansion (View 1.6)

  • Updated Create Project wizard from 2 steps to 3 steps
    • Step 1: Basic Information (unchanged)
    • Step 2: Crew Roles (renamed from "Required Roles", now uses two-column layout)
      • Added hotel cost estimate inputs (nights and rate per night)
      • Budget breakdown shows crew day rates and hotel costs separately
    • Step 3: Equipment & Other Costs (NEW)
  • Added equipment management to project creation
    • Company-owned equipment selection from inventory
    • Quantity, days, and daily rate input
    • Automatic cost calculation (quantity × days × rate)
  • Added other costs tracking for miscellaneous expenses
    • Free-text description field
    • Amount and currency input
    • Examples: venue rental, catering, transportation
  • Enhanced budget calculations to include all cost types
    • Crew day rates (work + travel days from Step 2)
    • Hotel costs estimated (from Step 2)
    • Equipment costs (from Step 3)
    • Other costs (from Step 3)
    • Complete budget breakdown with percentage used
  • Updated two-column layout pattern for Steps 2 and 3
    • Left column: Form to add new items
    • Right column: List of added items + budget summary
    • Real-time updates when items added/removed

Database Integration

  • Added project_equipment table usage in UC-03
  • Added project_budget_items table usage in UC-03
  • Updated SQL examples to show equipment and cost creation

Documentation Updates

  • Updated /docs/views.md - View 1.6 Create Project specification
  • Updated /docs/user-cases/01-admin-project-management.md - UC-03 Create Project
  • Updated /prototypes/create-project/index.html - Interactive prototype
  • Updated /prototypes/index.html - Prototype listing

Technical Details

  • Equipment rates auto-fill from company inventory
  • Hotel cost estimates are optional (fields can be left empty)
  • Budget summary shows complete breakdown across all cost categories:
    • Crew day rates (work + travel)
    • Hotel costs (estimated, for planning)
    • Equipment costs
    • Other miscellaneous costs
  • Empty state handling for equipment and cost lists
  • Consistent two-column form pattern across Steps 2 and 3
  • Role cards show cost breakdown when hotel estimates are provided

[4.4.0] - 2025-11-20

🎯 Grid View - Spreadsheet-Style Crew Overview

This is a MINOR release adding a comprehensive grid view mode to the Project Details page, inspired by production managers' current Excel-based workflows.

Added

Grid View Mode for Crew Assignments (View 1.7)

  • Added comprehensive Grid View mode to View 1.7 Project Details > Crew Assignments Tab
    • Purpose: Dense, spreadsheet-like interface for production managers who need at-a-glance overview of entire crew
    • Inspiration: Based on actual Excel crew booking sheet analysis (Idre Freestyle production example)
    • Key Benefits:
      • See 20-30 crew members at once (vs 5-10 in List View)
      • Quick visual scanning of work schedules with daily grid
      • Instant cost overview (offered vs actual)
      • Fast inline editing for common tasks
      • Excel-like keyboard navigation

Column Groups (A-F)

  • A. Crew Info (frozen columns): Row #, Favorite star, Name, Function, Team, Role Note, Status
  • B. Logistics: Accommodation assignment, Travel method with icons and status
  • C. Work Schedule: Daily grid with visual indicators (■ work day, □ travel day), summary counts (W/T/Total)
  • D. Financial: Day Rate, Travel Rate, Crew Total, Hotel costs, Travel costs, Other expenses, TOTAL per crew
  • E. Admin Tasks: Travel booked ✓, Hotel booked ✓, Roadbook sent ✓, Invoice handled ✓ (checkboxes)
  • F. Actual Costs (hidden by default): Act. Days, Act. Rate, Act. Total, Variance, Invoice # (for post-production)

Grid Features

  • View Mode Toggle: List View (default) / Grid View / Timeline View (post-MVP)
  • Header Controls: Quick filters, date range display, crew count, bulk actions
  • Row Interactions: Click to open detail modal, hover for quick actions, right-click context menu, double-click inline edit, drag to reorder
  • Row Grouping: Optional grouping by Function/Team/Status with collapsible groups and subtotals
  • Footer Row: Sticky summary with total calculations and budget comparison (Offered vs Actual)
  • Column Visibility Controls: Show/hide column groups, save as personal preference
  • Keyboard Navigation: Tab, Enter, Esc, Ctrl+C/V, Ctrl+F, Arrow keys (Excel-like)
  • Export Options: Excel (.xlsx), PDF, Copy to clipboard

Visual Design

  • Density: Compact 32px row height for information density
  • Zebra striping: Alternating row colors for readability
  • Monospace numbers: For proper alignment
  • Color coding: Work days (blue), Travel days (gray), Status badges (green/yellow), Budget warnings (red)
  • Frozen columns: Subtle shadow when scrolling horizontally
  • Performance: Virtualized scrolling for 100+ crew, debounced inline editing, client-side calculations

Responsive Behavior

  • Desktop only: Requires 1280px+ width
  • Mobile fallback: Grid View unavailable, falls back to List View
  • Horizontal/vertical scroll: For many dates (>14) or crew (>20)

Stakeholder Questions

  • Added 8 questions for stakeholders about Grid View preferences:
    • Daily work schedule grid usefulness
    • Accommodation display (roommates vs room code)
    • Actual Costs column visibility priority
    • Must-have vs nice-to-have columns
    • Meal per diem tracking
    • Countdown timer display
    • Color-coding for conflicts
    • Export format preferences

Changed

  • Restructured Crew Assignments Tab in View 1.7
    • Split into three view modes: List View (default), Grid View (new), Timeline View (post-MVP)
    • List View retains all existing functionality (card-based layout with detailed info)
    • Added explicit comparison: List View shows 5-10 crew (more detail) vs Grid View 20-30 crew (more overview)

[4.3.2] - 2025-11-19

📊 KPI Dashboard Placeholder & Final Consistency Fixes

This is a PATCH release adding KPI dashboard placeholder and achieving 100% documentation consistency.

Added

Project KPIs & Dashboard Metrics Placeholder

  • Added KPI dashboard section to View 1.7 (Project Details)

    • Purpose: At-a-glance project health and progress indicators
    • Placement: Below project header, above tabs
    • Status: Needs stakeholder input to finalize metrics
    • Suggested metrics: Crew staffing %, budget utilization %, admin tasks %, timeline status, financial summary
    • Visual design options provided for stakeholder decision
    • Questions for stakeholders documented inline
  • Added Question 4b to Open Questions document

    • Comprehensive KPI discussion questions for stakeholders
    • 6 key question areas: metrics priority, visual presentation, trends, real-time vs cached, role-based, status-based
    • Suggested MVP approach: 6 simple metrics cards
    • Cross-reference to View 1.7 for context

Changed

Documentation Consistency Fixes (100% Consistency Achieved!)

  • Updated README.md

    • Fixed line 147: Updated from 18 tables to complete 27 tables list
    • Fixed lines 200-207: Updated status section with current statistics (27 tables, 32 views, 16 user cases)
    • Removed outdated v3.0 reference
    • Added link to changelog for version history
  • Updated CLAUDE.md

    • Fixed line 394: Updated from "18 tables, 840 lines" to "27 tables, 1,300+ lines"
    • Fixed line 397: Updated from "17 views" to "32 views"
    • Fixed line 398: Updated from "29 questions" to "60+ questions across 3 sessions"
    • Added new completed items: Post-MVP features, Post-planning tasks, Single source of truth
  • Fixed all broken schema.dbml links (5 files)

    • docs/user-cases/01-admin-project-management.md:727
    • docs/user-cases/02-admin-staffing.md:1409
    • docs/user-cases/03-admin-operations.md:979
    • docs/user-cases/04-staff-workflows.md:1147
    • docs/user-cases/README.md:176
    • All changed from ../schema.dbml (broken) to /database/schema (human-readable docs)
  • Updated docs/user-cases/README.md

    • Removed "Version: 2.0" reference (consistency with versioning policy)
    • Updated "Last Updated" to November 19, 2025
    • Fixed Related Documents section with current links
    • Removed references to deprecated files (ENTITIES_REFERENCE.md, DATABASE.md, SCHEMA_CHANGES.md)

Verified

Documentation Statistics Confirmed

  • Tables: 27 (verified in schema.dbml)
  • Views: 32 (verified by count)
    • Chapter 1 (Backend): 20 views (1.1-1.20)
    • Chapter 2 (Crew Portal): 7 views (2.1-2.7)
    • Chapter 3 (Auth & Admin): 5 views (3.1-3.5)
  • User Cases: 16 (UC-01 to UC-16)
  • Q&A Decisions: 60+ across 3 sessions
  • Total Documentation: ~16,000+ lines

Impact:

  • 100% consistency achieved across all documentation
  • Zero broken links (build warnings resolved)
  • Single source of truth fully established
  • Ready for stakeholder review with accurate statistics

[4.3.1] - 2025-11-19

📝 Documentation Consistency & Version Simplification

This is a PATCH release focused on documentation consistency and establishing single source of truth for versioning.

Changed

Version Management Simplification

  • Removed version badges from all documentation files (except changelog.md)
    • Updated docs/overview.md - Removed version badge, changed to "Last Updated" format
    • Updated docs/views.md - Removed version number
    • Updated docs/database/schema.md - Removed version number
    • Updated docs/reference/progress.md - Complete rewrite to be version-agnostic
    • Updated docs/reference/api-requirements.md - Removed version number
    • Updated docs/reference/open-questions.md - Removed version number
    • Updated docs/reference/feature-analysis-brainstorm.md - Removed version number
    • Updated docs/reference/qa-answers.md - Removed version reference
  • Established changelog.md as ONLY place for version tracking
  • Updated CLAUDE.md with comprehensive versioning instructions

Schema Consistency Fixes

  • Fixed table name references in user cases: profilescrew_profiles
    • Fixed docs/user-cases/01-admin-project-management.md (line 411)
    • Fixed docs/user-cases/02-admin-staffing.md (SQL comment)
    • Fixed docs/user-cases/04-staff-workflows.md (INSERT and UPDATE statements)

Added

v4.3 Dual Role Features to UI

  • Added dual role UI elements to docs/views.md:
    • Admin User Profile (1.20): "Switch to Crew Portal" link when users.crew_profile_id is set
    • Crew Dashboard (2.3): "Switch to Admin Portal" link in navigation menu for dual role users
    • Full portal switching workflow documentation

New Reference Documents

  • Created docs/reference/post-mvp-features.md

    • Comprehensive list of all post-MVP features
    • Organized by category (Automation, Financial, Mobile, etc.)
    • Priority ratings (High/Medium/Low)
    • Features from brainstorming session
    • Features from audit
    • Features from Q&A sessions
  • Created docs/reference/post-planning-tasks.md

    • Complete checklist for post-planning phase
    • Tasks before development starts
    • Development environment setup
    • Testing strategy
    • UI/UX tasks
    • Security & compliance
    • Deployment & DevOps
    • Launch preparation

Documentation Updates

  • Updated CLAUDE.md with version control section

    • Added "Version Control & Changelog" section
    • Clear rules for when to update changelog
    • Semantic versioning guidelines
    • Examples of proper versioning workflow
    • Updated consistency checklists to include changelog updates
  • Updated website/sidebars.js

    • Added post-mvp-features.md to navigation
    • Added post-planning-tasks.md to navigation

Documentation Impact

  • Files updated: 13
  • New files created: 2
  • Total documentation: ~8,000+ lines (from ~6,000)
  • Version strategy: Simplified to single source of truth (changelog.md)

Why This Matters

Consistency: All SQL examples now use correct table names ✅ Clarity: Version history in one place only (no conflicts) ✅ Completeness: All v4.3 features documented in UI specs ✅ Planning: Clear roadmap for post-MVP and post-planning phases ✅ Developer Experience: Better onboarding with task checklists


[4.3.0] - 2025-11-16

🔗 Dual Role Support

This is a MINOR release adding support for admin users who also work as crew members.

Added

Admin/Crew Dual Role Linking

  • Added: crew_profile_id field on users table (uuid, nullable, references crew_profiles.id)
  • Links admin accounts to crew profiles when admin also works as crew
  • Solves email constraint issue: Same email can exist in both systems when linked
  • Example use case: Production Lead Johan is both admin and crew member
  • Login flow: Admin sees "Switch to Crew Portal" link when crew_profile_id is set
  • Maintains architectural separation: System users vs crew users
  • No changes to existing crew multi-company architecture

Documentation Updates

  • Updated schema.dbml to version 4.3 with dual role support
  • Updated docs/database/schema.md with dual role explanation
  • Added detailed Note section in users table schema explaining dual role workflow
  • Clarified Q12b implementation in architectural documentation

Technical Implementation

  • Database: Foreign key constraint from users.crew_profile_id to crew_profiles.id
  • Authentication: Admin login checks for crew_profile_id to show portal switching
  • Access Control: Admin retains admin permissions + can access crew data for their linked profile
  • Email Constraints: Same email allowed in both tables when properly linked

[4.2.0] - 2025-11-13

🏢 Company Website Field

This is a PATCH release adding company website field for logo scraping.

Added

Company Website Support

  • Added: website field on companies table (varchar, nullable)
  • Company website URL input in registration form (1.1 Company Registration)
  • Company website URL input in Company Settings (1.18 Company Settings)
  • Used for automatic logo scraping and company information retrieval
  • Updated UC-01 Company Setup workflow and SQL examples
  • Updated API documentation for POST /admin/companies endpoint

Documentation Updates

  • Updated schema.dbml to version 4.2
  • Updated docs/database/schema.md with company website description
  • Updated docs/views.md registration and settings forms
  • Updated docs/user-cases/01-admin-project-management.md with website field
  • Updated docs/reference/api-requirements.md with website parameter
  • Clarified admin avatar upload as Post-MVP feature (crew photos remain MVP requirement)

[4.1.0] - 2025-11-11

🔧 Administrative Workflow Enhancements

This is a MINOR release with workflow improvements and frontend features.

Added

Favorite Crew System

  • Added: is_favorite field on company_crew table (boolean, default: false)
  • Star/favorite crew members for easier filtering
  • Company-specific favorites (each company has own list)
  • Filter option: "Show Favorites Only" in crew directory
  • Star icon visible in crew directory and all crew-related views
  • Simple toggle on/off functionality

Administrative Task Tracking

  • Added: travel_status field on assignments - Manual tracking ('not_booked' / 'booked')
  • Added: hotel_status field on assignments - Manual tracking ('not_booked' / 'booked')
  • Added: roadbook_status field on assignments - Manual tracking ('not_sent' / 'sent')
  • Added: invoice_status field on assignments - Manual tracking ('not_handled' / 'handled') - Freelancers only
  • Project grid view with admin checkboxes for workflow tracking
  • All checkboxes are manual (no auto-detection)
  • Helps admins track completion of all tasks per crew member
  • Filter by task completion status

Contract Acceptance Workflow

  • Added: contract_accepted_at field on assignment_offers (timestamp)
  • Required contract acceptance for freelancers when accepting offers
  • Contract text displayed in acceptance modal
  • Checkbox: "I accept the contract terms and conditions"
  • Cannot accept offer without checking contract acceptance
  • Timestamp recorded when accepted
  • Staff (direct booking) bypass contract workflow

Custom Data Storage

  • Added: custom_data field on projects table (json, nullable)
  • Flexible storage for future features
  • Use cases: useful links, custom fields, integration data
  • Future-proof schema for extensions without migrations

Frontend Features (No Schema Changes)

  • Travel copy helpers (pure JavaScript):
    • "Copy from Another Crew" button - Pre-fills travel form with another crew's details
    • "Create Return Trip" button - Auto-reverses route and dates
    • Saves time when booking travel for groups
    • Priority: crew-to-crew copy > reverse trip

Changed

UI Enhancements

  • Crew directory filter enhanced with "Favorites" option
  • Project crew grid now includes administrative task checkboxes
  • Offer acceptance modal includes contract display and acceptance checkbox
  • Star icons visible throughout admin interface

Documentation Updates

  • Enhanced: views.md - Updated all views with v4.1 features (favorite stars, admin checkboxes, contract acceptance)
  • Enhanced: schema.md - Added 4 new design decisions (12-15)
  • Enhanced: Q&A Answers - Session 3 added (10 Q&A pairs covering brainstorm features)
  • New: Feature Analysis - Complete analysis of brainstormed features with decisions

Schema Statistics

  • Tables: 25 (no new tables)
  • New Fields: 7 (+5.6% fields)
  • Lines: 1,238 → 1,269 (+31 lines, +2.5%)
  • Documentation: ~5,500 → ~6,000+ lines (+9%)

Migration Notes

  • Breaking changes: No - all changes are additive
  • SQL migration: Simple ALTER TABLE statements to add new columns
  • User cases: Minor updates needed for new workflows
  • Impact: Low - existing functionality unchanged, only additions

Design Decisions

Approved for v4.1:

  1. Favorite crew filtering - Enhances crew selection workflow
  2. Admin task tracking - Essential for managing project completion
  3. Contract acceptance - Legal requirement for freelancer bookings
  4. Travel copy helpers - Significant time savings for bulk operations
  5. Custom data storage - Future-proofs schema for extensions

Deferred to Post-MVP:

  1. QR codes for WhatsApp groups
  2. Structured accreditation system
  3. Useful links UI (schema support added, UI later)
  4. Proximity-based location search

[4.0.0] - 2025-11-11

🎉 Major Update - Multi-Company Crew Support

This is a BREAKING CHANGE release with significant schema restructuring.

Added

Multi-Company Crew System

  • New Table: crew_users - Crew member accounts (one email = one account across all companies)
  • New Table: crew_profiles - Crew profiles (can exist without accounts, claimed later)
  • New Table: company_crew - Many-to-many junction with company-specific private notes
  • New Table: crew_availability - Availability tracking (employed staff only)
  • Account claiming workflow - admin creates profiles, crew registers and claims later
  • Complete data isolation between companies
  • Employment tracking (employer_id on crew_users - only ONE employer allowed)

Equipment Management

  • New Table: company_equipment - Company-owned equipment inventory (OB-vans, GFX servers, etc.)
  • New Table: project_equipment - Equipment bookings with availability tracking
  • Equipment availability conflict detection (prevents double-booking)
  • Per-project rate adjustments (adjustable from equipment defaults)

Global Functions System

  • New Table: global_functions - System-wide function library
  • Enhanced: functions_catalog - References global functions OR custom company functions
  • Company-specific fees even for global functions
  • Clear distinction between global and custom functions

Budget & Financial

  • New Table: project_budget_items - Generic budget line items (rentals, venue costs, catering)
  • New Table: exchange_rates - Manual currency conversion rates per company
  • Multi-currency support throughout (per-booking currencies)
  • Currency conversion in reporting (to company base currency)
  • Economic reporting with full breakdowns

Communication & Audit

  • New Table: communication_logs - Full audit trail of all emails/requests sent
  • Communication status tracking (sent, delivered, opened, responded, failed)
  • Communication history view per project and per crew member

Enhanced Crew Management

  • Added: capabilities field on crew_profiles - Free-text, crew-editable skills description
  • Added: private_notes field on company_crew - Company-specific confidential notes (GDPR-sensitive)
  • Added: employer_id field on crew_users - Employment tracking (staff vs freelancer)
  • Staff-only availability tracking (freelancers manage own conflicts)

Enhanced Assignment Management

  • Added: role_note field on assignments - Per-booking description (e.g., "Main", "Backup")
  • Added: team_label field on assignments - Simple team assignment (e.g., "Camera A")
  • Added: start_date and end_date fields on assignments - Actual booking dates (can be outside project dates)
  • Currency fields on all financial records

Enhanced Project Management

  • Added: base_currency field on companies - Company default currency
  • Added: general_contract_template field on companies - Company-wide contract template (rich text)
  • Added: contract_template field on projects - Project-specific contract customization
  • Project dates are informational (bookings can be outside main event dates)

UI & Documentation

  • 19 complete view specifications (up from 17) - all updated for v4.0
  • New View: Equipment Management - Complete equipment inventory UI
  • New View: Global Functions Management - Function catalog management
  • New View: Add/Invite Crew - Enhanced crew onboarding with multi-company handling
  • New View: Communication History - Audit trail viewing
  • All existing views updated with v4.0 features

Documentation

  • New: V4.0 Migration Guide - Complete guide for updating user cases
  • Enhanced: Database Schema Documentation - 11 key design decisions documented
  • Enhanced: Q&A Answers - Session 2 added (21 new Q&A pairs)
  • Enhanced: Views Documentation - 1,382 lines (up from 786, +76%)

Changed

Breaking Changes

  • Crew data model completely restructured for multi-company support
  • profiles table renamed to crew_profiles (conceptual change)
  • users table now only for admin users (crew use crew_users)
  • Availability tracking now staff-only (linked to employment)
  • Currency storage changed to cents with currency code fields

Enhanced Workflows

  • Crew can work for multiple companies with one account
  • Crew profiles can exist without accounts (claimed later)
  • Project dates are soft (availability warnings, not blocking)
  • Assignment dates can be outside project dates (pre-visits, post-production, etc.)
  • Multi-currency bookings with manual exchange rates

Schema Statistics

  • Tables: 18 → 25 (+7 new tables, +39%)
  • Lines: 840 → 1,238 (+398 lines, +47%)
  • Documentation: ~3,300 → ~5,500+ lines (+67%)

Migration Notes

  • Breaking changes: Yes - requires data migration for crew profiles
  • SQL migration: Manual migration required from v3.0
  • User cases: Need updating (14-21 hours estimated)
  • See V4.0 Migration Guide for details

[3.0.0] - 2025-10-23

🎯 MVP Specification Complete

First complete specification release after comprehensive Q&A session.

Added

Core Features

  • Multi-tenant architecture with company isolation
  • Dual subdomain system (backend.pbs.com + crew.pbs.com)
  • Complete assignment lifecycle tracking
  • Dual booking modes (offers + direct booking)
  • Invite-only registration system

Database Schema

  • 18 tables covering complete MVP scope
  • PostgreSQL with UUID primary keys
  • Multi-tenant isolation via company_id
  • Polymorphic document attachments

User Cases

  • 16 complete user cases (UC-01 to UC-16)
  • 5 user personas (Susanne, Ken, Jonas, Lisa, Johan)
  • Complete UI journeys with SQL examples
  • Business rules and validations documented

Documentation

  • 17 view specifications with complete UI details
  • Database schema documentation
  • Q&A session with 29 decisions documented
  • Project principles and core values

Assignment Management

  • Offer creation and management
  • Acceptance/decline/negotiation flows
  • Direct booking for employees
  • Financial tracking (planned vs actual)
  • Project completion workflow
  • Financial finalization with locking

Operations

  • Travel booking tracking (flights, trains, etc.)
  • Hotel booking management
  • Road book generation from structured data
  • Document management (contracts, travel docs, road books)
  • Report generation (crew lists, meal lists, budget reports)

Staff Portal

  • Profile management
  • Assignment viewing
  • Offer responses (one-click accept)
  • Document downloads
  • Mobile-first responsive design

Design Decisions

  • No automated email notifications for MVP (manual workflow)
  • Fixed status workflows (not customizable)
  • Invite-only registration (no public forms)
  • Simplified project status (draft → active → completed)
  • Company-wide admin access to all projects

Technical Specifications

  • Separate subdomains with role-based access
  • Personal message override on offers
  • Soft expiration on offers (can respond after deadline)
  • Conflict detection with override capability
  • Financial completion with actual vs planned tracking

[2.0.0] - 2025-10-15 (Initial Planning)

Added

  • Initial project structure
  • Basic personas defined
  • Preliminary database schema
  • Core workflow concepts

Notes

  • Early planning phase
  • Pre-Q&A session
  • Multiple iterations before finalization

[1.0.0] - 2025-10-01 (Project Inception)

Added

  • Project repository created
  • Initial README
  • Basic project concept
  • Team formation

Version History Summary

VersionDateDescriptionBreaking ChangesTablesLines
4.1.02025-11-11Administrative workflow enhancements❌ No251,269
4.0.02025-11-11Multi-company crew support✅ Yes251,238
3.0.02025-10-23MVP specification complete❌ No18840
2.0.02025-10-15Initial planning❌ No15~600
1.0.02025-10-01Project inception---

Upcoming Changes

Planned for v4.1 (Future)

  • User case updates for v4.0
  • UI mockup generation
  • Technology stack selection
  • Sprint planning

Planned for v5.0 (Post-MVP)

  • Automated email notifications
  • Real-time collaboration features
  • Advanced analytics and dashboards
  • Public crew registration forms
  • API for third-party integrations
  • Contract PDF generation
  • Invoicing system integration

How to Read This Changelog

Version Format: MAJOR.MINOR.PATCH

  • MAJOR: Breaking changes, significant restructuring (e.g., 3.0 → 4.0)
  • MINOR: New features, enhancements (e.g., 4.0 → 4.1)
  • PATCH: Bug fixes, documentation corrections (e.g., 4.1 → 4.1.1)

Change Categories:

  • Added: New features, tables, documentation
  • Changed: Modifications to existing features
  • Deprecated: Features being phased out
  • Removed: Features removed in this version
  • Fixed: Bug fixes, corrections
  • Security: Security-related changes

Breaking Changes: Marked with ⚠️ or explicitly noted in "Breaking Changes" section


Contributors

Version 4.0:

  • Stakeholder meeting feedback (2025-11-11)
  • Multi-company requirements integration
  • Equipment and budget tracking requirements
  • Currency and internationalization requirements

Version 3.0:

  • Q&A Session 1 (2025-10-23)
  • Initial MVP requirements gathering
  • User persona development
  • Workflow documentation

Last Updated: 2025-11-11 Current Version: 4.1.0 Next Review: As needed for development