export type SessionStatus = "Pending" | "Booked" | "Completed"; export type PaymentStatus = "Not Ready" | "Ready for Payment" | "Exported"; const STORAGE_KEY = "cpx_session_payment_status"; export const getStoredPaymentStatuses = (): Record => { if (typeof window === "undefined") return {}; try { const stored = localStorage.getItem(STORAGE_KEY); return stored ? JSON.parse(stored) : {}; } catch { return {}; } }; export const setStoredPaymentStatus = (sessionId: string, status: PaymentStatus): void => { if (typeof window === "undefined") return; try { const current = getStoredPaymentStatuses(); current[sessionId] = status; localStorage.setItem(STORAGE_KEY, JSON.stringify(current)); } catch { console.error("Failed to store payment status"); } }; export const getSessionsWithStoredStatus = (): Session[] => { const stored = getStoredPaymentStatuses(); return INITIAL_SESSIONS.map(session => ({ ...session, paymentStatus: stored[session.id] || session.paymentStatus })); }; export interface Session { id: string; workOrderId: string; projectId: string; projectBcId: string; projectTitle: string; date: string; startTime: string; endTime: string; episode?: string; jobTaskCode: string; jobTaskName: string; rateDescription: string; vendorNumber: string; uom: string; unitRate: number; bookedUnits: number; billableUnits: number; paymentType: string; calculatedTotal: number; rateSource: "Standard" | "Person-Specific"; rateCardId: string; status: SessionStatus; paymentStatus: PaymentStatus; resourceId: string; resourceName: string; location?: string; currency?: string; notes?: string; } export interface WorkOrder { id: string; projectId: string; projectBcId: string; projectTitle: string; resourceIds: string[]; resourceNames: string[]; workOrderDate: string; startTime: string; endTime: string; firstSessionDate: string; lastSessionDate: string; status: SessionStatus; totalExpectedCost: number; totalActualCost: number; sessions: Session[]; contentType?: string; jobChannel?: string; } export const INITIAL_SESSIONS: Session[] = [ // January 2026 - Current month sessions // WO-2026-001: Sarah Connor on Jan 2 - continuous schedule 09:00-17:00 with sessions for 2 projects { id: "SES-001", workOrderId: "WO-2026-001", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-02", startTime: "09:00", endTime: "12:00", episode: "Ep 1", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1001", uom: "Hour", unitRate: 85.00, bookedUnits: 3, billableUnits: 3, paymentType: "Freelance Payroll", calculatedTotal: 255.00, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "TAL-001", resourceName: "Sarah Connor", location: "Los Angeles", currency: "USD", notes: "Main character recording" }, { id: "SES-002", workOrderId: "WO-2026-001", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-02", startTime: "12:00", endTime: "14:00", episode: "Ep 1", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1001", uom: "Hour", unitRate: 85.00, bookedUnits: 2, billableUnits: 2, paymentType: "Freelance Payroll", calculatedTotal: 170.00, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "TAL-001", resourceName: "Sarah Connor", location: "Los Angeles", currency: "USD" }, { id: "SES-003", workOrderId: "WO-2026-001", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-02", startTime: "14:00", endTime: "17:00", episode: "Ep 2", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1001", uom: "Hour", unitRate: 85.00, bookedUnits: 3, billableUnits: 3, paymentType: "Freelance Payroll", calculatedTotal: 255.00, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Not Ready", resourceId: "TAL-001", resourceName: "Sarah Connor", location: "Los Angeles", currency: "USD" }, // WO-2026-002: Mike Mixer on Jan 7 - continuous schedule 09:00-17:00 { id: "SES-004", workOrderId: "WO-2026-002", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-07", startTime: "09:00", endTime: "13:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - 5.1 Surround Premium", vendorNumber: "VND-1005", uom: "Hour", unitRate: 120.00, bookedUnits: 4, billableUnits: 4, paymentType: "Invoice", calculatedTotal: 480.00, rateSource: "Person-Specific", rateCardId: "RC-PS-001", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR", notes: "5.1 surround mix" }, { id: "SES-005", workOrderId: "WO-2026-002", projectId: "PRJ-2026-003", projectBcId: "BC-OM-2026-003", projectTitle: "Ocean's Mystery", date: "2026-01-07", startTime: "13:00", endTime: "15:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - Documentary Standard", vendorNumber: "VND-1005", uom: "Hour", unitRate: 100.00, bookedUnits: 2, billableUnits: 2, paymentType: "Invoice", calculatedTotal: 200.00, rateSource: "Standard", rateCardId: "RC002", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR" }, { id: "SES-006", workOrderId: "WO-2026-002", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-07", startTime: "15:00", endTime: "17:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - Mastering Standard", vendorNumber: "VND-1005", uom: "Hour", unitRate: 150.00, bookedUnits: 2, billableUnits: 2, paymentType: "Invoice", calculatedTotal: 300.00, rateSource: "Standard", rateCardId: "RC002", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR" }, // WO-2026-003: John Wick on Jan 9 - continuous schedule 09:00-17:00 (single project) { id: "SES-007", workOrderId: "WO-2026-003", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-09", startTime: "09:00", endTime: "12:00", episode: "Ep 1-3", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - ADR Per Loop (Animation)", vendorNumber: "VND-1002", uom: "Loop", unitRate: 25.00, bookedUnits: 30, billableUnits: 28, paymentType: "Freelance Payroll", calculatedTotal: 700.00, rateSource: "Standard", rateCardId: "RC003", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "TAL-002", resourceName: "John Wick", location: "New York", currency: "USD" }, { id: "SES-008", workOrderId: "WO-2026-003", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-09", startTime: "12:00", endTime: "14:00", episode: "Ep 4", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - ADR Per Loop (Animation)", vendorNumber: "VND-1002", uom: "Loop", unitRate: 25.00, bookedUnits: 20, billableUnits: 20, paymentType: "Freelance Payroll", calculatedTotal: 500.00, rateSource: "Standard", rateCardId: "RC003", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "TAL-002", resourceName: "John Wick", location: "New York", currency: "USD" }, { id: "SES-009", workOrderId: "WO-2026-003", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-09", startTime: "14:00", endTime: "17:00", episode: "Ep 5-6", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - ADR Per Loop (Animation)", vendorNumber: "VND-1002", uom: "Loop", unitRate: 25.00, bookedUnits: 45, billableUnits: 45, paymentType: "Freelance Payroll", calculatedTotal: 1125.00, rateSource: "Standard", rateCardId: "RC003", status: "Completed", paymentStatus: "Not Ready", resourceId: "TAL-002", resourceName: "John Wick", location: "New York", currency: "USD" }, // WO-2026-004: Anna Director on Jan 6 - continuous schedule 08:00-17:00 with 2 projects { id: "SES-010", workOrderId: "WO-2026-004", projectId: "PRJ-2026-003", projectBcId: "BC-OM-2026-003", projectTitle: "Ocean's Mystery", date: "2026-01-06", startTime: "08:00", endTime: "12:00", jobTaskCode: "A1410", jobTaskName: "Director", rateDescription: "Director - Documentary Premium", vendorNumber: "VND-1010", uom: "Hour", unitRate: 95.00, bookedUnits: 4, billableUnits: 4, paymentType: "Fixed Term Payroll", calculatedTotal: 380.00, rateSource: "Person-Specific", rateCardId: "RC-PS-002", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-001", resourceName: "Anna Director", location: "Munich", currency: "EUR" }, { id: "SES-011", workOrderId: "WO-2026-004", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-06", startTime: "12:00", endTime: "14:00", jobTaskCode: "A1410", jobTaskName: "Director", rateDescription: "Director - Feature Film Standard", vendorNumber: "VND-1010", uom: "Hour", unitRate: 110.00, bookedUnits: 2, billableUnits: 2, paymentType: "Fixed Term Payroll", calculatedTotal: 220.00, rateSource: "Standard", rateCardId: "RC006", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-001", resourceName: "Anna Director", location: "Munich", currency: "EUR" }, { id: "SES-012", workOrderId: "WO-2026-004", projectId: "PRJ-2026-003", projectBcId: "BC-OM-2026-003", projectTitle: "Ocean's Mystery", date: "2026-01-06", startTime: "14:00", endTime: "17:00", jobTaskCode: "A1410", jobTaskName: "Director", rateDescription: "Director - Documentary Premium", vendorNumber: "VND-1010", uom: "Hour", unitRate: 95.00, bookedUnits: 3, billableUnits: 3, paymentType: "Fixed Term Payroll", calculatedTotal: 285.00, rateSource: "Person-Specific", rateCardId: "RC-PS-002", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-001", resourceName: "Anna Director", location: "Munich", currency: "EUR" }, // WO-2026-005: Ellen Ripley on Jan 13 - continuous schedule 09:00-14:00 { id: "SES-013", workOrderId: "WO-2026-005", projectId: "PRJ-2026-004", projectBcId: "BC-SP-2026-004", projectTitle: "Space Pioneers", date: "2026-01-13", startTime: "09:00", endTime: "11:30", episode: "Pilot", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1003", uom: "Hour", unitRate: 85.00, bookedUnits: 2.5, billableUnits: 2.5, paymentType: "Freelance Payroll", calculatedTotal: 212.50, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Ready for Payment", resourceId: "TAL-003", resourceName: "Ellen Ripley", location: "Los Angeles", currency: "USD" }, { id: "SES-014", workOrderId: "WO-2026-005", projectId: "PRJ-2026-004", projectBcId: "BC-SP-2026-004", projectTitle: "Space Pioneers", date: "2026-01-13", startTime: "11:30", endTime: "14:00", episode: "Pilot", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1003", uom: "Hour", unitRate: 85.00, bookedUnits: 2.5, billableUnits: 2.5, paymentType: "Freelance Payroll", calculatedTotal: 212.50, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Exported", resourceId: "TAL-003", resourceName: "Ellen Ripley", location: "Los Angeles", currency: "USD" }, // WO-2026-006: Eddie Edit on Jan 2 - continuous schedule 08:00-18:00 with multiple projects { id: "SES-015", workOrderId: "WO-2026-006", projectId: "PRJ-2026-001", projectBcId: "BC-GG-2026-001", projectTitle: "The Galactic Guardian", date: "2026-01-02", startTime: "08:00", endTime: "12:00", jobTaskCode: "A1240", jobTaskName: "Editor", rateDescription: "Editor - Standard Hourly Rate", vendorNumber: "VND-1009", uom: "Hour", unitRate: 65.00, bookedUnits: 4, billableUnits: 4, paymentType: "Staff Payroll", calculatedTotal: 260.00, rateSource: "Standard", rateCardId: "RC004", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-009", resourceName: "Eddie Edit", location: "Berlin", currency: "EUR" }, { id: "SES-016", workOrderId: "WO-2026-006", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-02", startTime: "12:00", endTime: "15:00", jobTaskCode: "A1240", jobTaskName: "Editor", rateDescription: "Editor - Standard Hourly Rate", vendorNumber: "VND-1009", uom: "Hour", unitRate: 65.00, bookedUnits: 3, billableUnits: 3, paymentType: "Staff Payroll", calculatedTotal: 195.00, rateSource: "Standard", rateCardId: "RC004", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-009", resourceName: "Eddie Edit", location: "Berlin", currency: "EUR" }, { id: "SES-017", workOrderId: "WO-2026-006", projectId: "PRJ-2026-003", projectBcId: "BC-OM-2026-003", projectTitle: "Ocean's Mystery", date: "2026-01-02", startTime: "15:00", endTime: "18:00", jobTaskCode: "A1240", jobTaskName: "Editor", rateDescription: "Editor - Documentary Rate", vendorNumber: "VND-1009", uom: "Hour", unitRate: 70.00, bookedUnits: 3, billableUnits: 3, paymentType: "Staff Payroll", calculatedTotal: 210.00, rateSource: "Standard", rateCardId: "RC004", status: "Completed", paymentStatus: "Not Ready", resourceId: "PER-009", resourceName: "Eddie Edit", location: "Berlin", currency: "EUR" }, // WO-2026-007: Quality Quinn on Jan 15 - continuous schedule 10:00-16:00 { id: "SES-018", workOrderId: "WO-2026-007", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-15", startTime: "10:00", endTime: "13:00", jobTaskCode: "A1330", jobTaskName: "QC Specialist", rateDescription: "QC Specialist - Per Episode Rate", vendorNumber: "VND-1008", uom: "Episode", unitRate: 200.00, bookedUnits: 3, billableUnits: 0, paymentType: "Invoice", calculatedTotal: 0, rateSource: "Standard", rateCardId: "RC005", status: "Pending", paymentStatus: "Not Ready", resourceId: "PER-003", resourceName: "Quality Quinn", location: "London", currency: "GBP" }, { id: "SES-019", workOrderId: "WO-2026-007", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", date: "2026-01-15", startTime: "13:00", endTime: "16:00", jobTaskCode: "A1330", jobTaskName: "QC Specialist", rateDescription: "QC Specialist - Per Episode Rate", vendorNumber: "VND-1008", uom: "Episode", unitRate: 200.00, bookedUnits: 3, billableUnits: 0, paymentType: "Invoice", calculatedTotal: 0, rateSource: "Standard", rateCardId: "RC005", status: "Pending", paymentStatus: "Not Ready", resourceId: "PER-003", resourceName: "Quality Quinn", location: "London", currency: "GBP" }, // December 2025 - Last month sessions // WO-2025-008: Sarah Connor on Dec 15 - continuous schedule 09:00-15:00 { id: "SES-020", workOrderId: "WO-2025-008", projectId: "PRJ-2025-001", projectBcId: "BC-GG2-2025-001", projectTitle: "The Galactic Guardian S2", date: "2025-12-15", startTime: "09:00", endTime: "12:00", episode: "Ep 7", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1001", uom: "Hour", unitRate: 85.00, bookedUnits: 3, billableUnits: 3, paymentType: "Freelance Payroll", calculatedTotal: 255.00, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Exported", resourceId: "TAL-001", resourceName: "Sarah Connor", location: "Los Angeles", currency: "USD" }, { id: "SES-021", workOrderId: "WO-2025-008", projectId: "PRJ-2025-001", projectBcId: "BC-GG2-2025-001", projectTitle: "The Galactic Guardian S2", date: "2025-12-15", startTime: "12:00", endTime: "15:00", episode: "Ep 8", jobTaskCode: "A1510", jobTaskName: "Actor", rateDescription: "Actor - Standard Adult Hourly (OTT/Broadcast)", vendorNumber: "VND-1001", uom: "Hour", unitRate: 85.00, bookedUnits: 3, billableUnits: 3, paymentType: "Freelance Payroll", calculatedTotal: 255.00, rateSource: "Standard", rateCardId: "RC001", status: "Completed", paymentStatus: "Exported", resourceId: "TAL-001", resourceName: "Sarah Connor", location: "Los Angeles", currency: "USD" }, // WO-2025-009: Mike Mixer on Dec 18 - continuous schedule 09:00-17:00 { id: "SES-022", workOrderId: "WO-2025-009", projectId: "PRJ-2025-001", projectBcId: "BC-GG2-2025-001", projectTitle: "The Galactic Guardian S2", date: "2025-12-18", startTime: "09:00", endTime: "13:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - 5.1 Surround Premium", vendorNumber: "VND-1005", uom: "Hour", unitRate: 120.00, bookedUnits: 4, billableUnits: 4, paymentType: "Invoice", calculatedTotal: 480.00, rateSource: "Person-Specific", rateCardId: "RC-PS-001", status: "Completed", paymentStatus: "Exported", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR" }, { id: "SES-023", workOrderId: "WO-2025-009", projectId: "PRJ-2025-002", projectBcId: "BC-WT-2025-002", projectTitle: "Winter Tales", date: "2025-12-18", startTime: "13:00", endTime: "15:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - Streaming Standard", vendorNumber: "VND-1005", uom: "Hour", unitRate: 100.00, bookedUnits: 2, billableUnits: 2, paymentType: "Invoice", calculatedTotal: 200.00, rateSource: "Standard", rateCardId: "RC002", status: "Completed", paymentStatus: "Exported", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR" }, { id: "SES-024", workOrderId: "WO-2025-009", projectId: "PRJ-2025-001", projectBcId: "BC-GG2-2025-001", projectTitle: "The Galactic Guardian S2", date: "2025-12-18", startTime: "15:00", endTime: "17:00", jobTaskCode: "A1320", jobTaskName: "Mix Engineer", rateDescription: "Mix Engineer - Mastering Standard", vendorNumber: "VND-1005", uom: "Hour", unitRate: 150.00, bookedUnits: 2, billableUnits: 2, paymentType: "Invoice", calculatedTotal: 300.00, rateSource: "Standard", rateCardId: "RC002", status: "Completed", paymentStatus: "Exported", resourceId: "PER-005", resourceName: "Mike Mixer", location: "Berlin", currency: "EUR" }, // WO-2025-010: Anna Director on Dec 20 - continuous schedule 09:00-15:00 { id: "SES-025", workOrderId: "WO-2025-010", projectId: "PRJ-2025-002", projectBcId: "BC-WT-2025-002", projectTitle: "Winter Tales", date: "2025-12-20", startTime: "09:00", endTime: "12:00", jobTaskCode: "A1410", jobTaskName: "Director", rateDescription: "Director - Streaming Standard", vendorNumber: "VND-1010", uom: "Hour", unitRate: 95.00, bookedUnits: 3, billableUnits: 3, paymentType: "Fixed Term Payroll", calculatedTotal: 285.00, rateSource: "Person-Specific", rateCardId: "RC-PS-002", status: "Completed", paymentStatus: "Exported", resourceId: "PER-001", resourceName: "Anna Director", location: "Munich", currency: "EUR" }, { id: "SES-026", workOrderId: "WO-2025-010", projectId: "PRJ-2025-002", projectBcId: "BC-WT-2025-002", projectTitle: "Winter Tales", date: "2025-12-20", startTime: "12:00", endTime: "15:00", jobTaskCode: "A1410", jobTaskName: "Director", rateDescription: "Director - Streaming Standard", vendorNumber: "VND-1010", uom: "Hour", unitRate: 95.00, bookedUnits: 3, billableUnits: 3, paymentType: "Fixed Term Payroll", calculatedTotal: 285.00, rateSource: "Person-Specific", rateCardId: "RC-PS-002", status: "Completed", paymentStatus: "Exported", resourceId: "PER-001", resourceName: "Anna Director", location: "Munich", currency: "EUR" }, ]; export const INITIAL_WORK_ORDERS: WorkOrder[] = [ { id: "WO-2026-001", projectId: "MULTI", projectBcId: "MULTI", projectTitle: "Multiple Projects", resourceIds: ["TAL-001"], resourceNames: ["Sarah Connor"], workOrderDate: "2026-01-02", startTime: "09:00", endTime: "17:00", firstSessionDate: "2026-01-02", lastSessionDate: "2026-01-02", status: "Completed", totalExpectedCost: 680.00, totalActualCost: 680.00, sessions: [], contentType: "Feature Film", jobChannel: "Theatrical" }, { id: "WO-2026-002", projectId: "MULTI", projectBcId: "MULTI", projectTitle: "Multiple Projects", resourceIds: ["PER-005"], resourceNames: ["Mike Mixer"], workOrderDate: "2026-01-07", startTime: "09:00", endTime: "17:00", firstSessionDate: "2026-01-07", lastSessionDate: "2026-01-07", status: "Completed", totalExpectedCost: 980.00, totalActualCost: 980.00, sessions: [], contentType: "Feature Film", jobChannel: "Theatrical" }, { id: "WO-2026-003", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", resourceIds: ["TAL-002"], resourceNames: ["John Wick"], workOrderDate: "2026-01-09", startTime: "09:00", endTime: "17:00", firstSessionDate: "2026-01-09", lastSessionDate: "2026-01-09", status: "Completed", totalExpectedCost: 2325.00, totalActualCost: 2325.00, sessions: [], contentType: "TV Series", jobChannel: "Streaming" }, { id: "WO-2026-004", projectId: "MULTI", projectBcId: "MULTI", projectTitle: "Multiple Projects", resourceIds: ["PER-001"], resourceNames: ["Anna Director"], workOrderDate: "2026-01-06", startTime: "08:00", endTime: "17:00", firstSessionDate: "2026-01-06", lastSessionDate: "2026-01-06", status: "Completed", totalExpectedCost: 885.00, totalActualCost: 885.00, sessions: [], contentType: "Documentary", jobChannel: "Streaming" }, { id: "WO-2026-005", projectId: "PRJ-2026-004", projectBcId: "BC-SP-2026-004", projectTitle: "Space Pioneers", resourceIds: ["TAL-003"], resourceNames: ["Ellen Ripley"], workOrderDate: "2026-01-13", startTime: "09:00", endTime: "14:00", firstSessionDate: "2026-01-13", lastSessionDate: "2026-01-13", status: "Completed", totalExpectedCost: 425.00, totalActualCost: 425.00, sessions: [], contentType: "TV Series", jobChannel: "Streaming" }, { id: "WO-2026-006", projectId: "MULTI", projectBcId: "MULTI", projectTitle: "Multiple Projects", resourceIds: ["PER-009"], resourceNames: ["Eddie Edit"], workOrderDate: "2026-01-02", startTime: "08:00", endTime: "18:00", firstSessionDate: "2026-01-02", lastSessionDate: "2026-01-02", status: "Completed", totalExpectedCost: 665.00, totalActualCost: 665.00, sessions: [], contentType: "Feature Film", jobChannel: "Theatrical" }, { id: "WO-2026-007", projectId: "PRJ-2026-002", projectBcId: "BC-CN-2026-002", projectTitle: "Cyber Nights", resourceIds: ["PER-003"], resourceNames: ["Quality Quinn"], workOrderDate: "2026-01-15", startTime: "10:00", endTime: "16:00", firstSessionDate: "2026-01-15", lastSessionDate: "2026-01-15", status: "Pending", totalExpectedCost: 1200.00, totalActualCost: 0, sessions: [], contentType: "TV Series", jobChannel: "Streaming" }, { id: "WO-2025-008", projectId: "PRJ-2025-001", projectBcId: "BC-GG2-2025-001", projectTitle: "The Galactic Guardian S2", resourceIds: ["TAL-001"], resourceNames: ["Sarah Connor"], workOrderDate: "2025-12-15", startTime: "09:00", endTime: "15:00", firstSessionDate: "2025-12-15", lastSessionDate: "2025-12-15", status: "Completed", totalExpectedCost: 510.00, totalActualCost: 510.00, sessions: [], contentType: "Feature Film", jobChannel: "Theatrical" }, { id: "WO-2025-009", projectId: "MULTI", projectBcId: "MULTI", projectTitle: "Multiple Projects", resourceIds: ["PER-005"], resourceNames: ["Mike Mixer"], workOrderDate: "2025-12-18", startTime: "09:00", endTime: "17:00", firstSessionDate: "2025-12-18", lastSessionDate: "2025-12-18", status: "Completed", totalExpectedCost: 980.00, totalActualCost: 980.00, sessions: [], contentType: "Feature Film", jobChannel: "Theatrical" }, { id: "WO-2025-010", projectId: "PRJ-2025-002", projectBcId: "BC-WT-2025-002", projectTitle: "Winter Tales", resourceIds: ["PER-001"], resourceNames: ["Anna Director"], workOrderDate: "2025-12-20", startTime: "09:00", endTime: "15:00", firstSessionDate: "2025-12-20", lastSessionDate: "2025-12-20", status: "Completed", totalExpectedCost: 570.00, totalActualCost: 570.00, sessions: [], contentType: "TV Series", jobChannel: "Streaming" }, ]; export const JOB_TASKS = ["Voice Recording", "Audio Mixing", "Audio Mastering", "ADR Recording", "Voice Direction", "Audio Editing", "Quality Control"]; export const CONTENT_TYPES = ["Feature Film", "TV Series", "Documentary", "Animation", "Commercial", "Video Game"]; export const JOB_CHANNELS = ["Theatrical", "Streaming", "Broadcast", "Home Video", "Digital"]; export const PAYMENT_TYPES = ["Staff Payroll", "Freelance Payroll", "Fixed Term Payroll", "Invoice", "Buyout"]; export const PROJECTS = ["The Galactic Guardian", "The Galactic Guardian S2", "Cyber Nights", "Ocean's Mystery", "Space Pioneers", "Winter Tales"]; export const RESOURCES = ["Sarah Connor", "John Wick", "Ellen Ripley", "Mike Mixer", "Anna Director", "Eddie Edit", "Quality Quinn"];