suiteRefs top-level constant

List<TemplateRef> const suiteRefs

Extra papers beyond the core seventeen.

Implementation

const List<TemplateRef> suiteRefs = <TemplateRef>[
  const TemplateRef(
    id: 'commerce.purchase-order',
    category: TemplateCategory.commerce,
    className: 'PurchaseOrderTemplate',
    nameEn: 'Purchase order',
    nameAr: 'أمر شراء',
    blurbEn: 'Buyer, supplier, lines, and a needed-by date.',
    blurbAr: 'مشترٍ ومورّد وبنود وتاريخ الحاجة.',
  ),
  const TemplateRef(
    id: 'commerce.sales-order',
    category: TemplateCategory.commerce,
    className: 'SalesOrderTemplate',
    nameEn: 'Sales order',
    nameAr: 'أمر بيع',
    blurbEn: 'Seller, buyer, promised lines.',
    blurbAr: 'بائع ومشترٍ وبنود موعودة.',
  ),
  const TemplateRef(
    id: 'commerce.credit-note',
    category: TemplateCategory.commerce,
    className: 'CreditNoteTemplate',
    nameEn: 'Credit note',
    nameAr: 'إشعار دائن',
    blurbEn: 'Credit against an invoice. Totals stay strings.',
    blurbAr: 'دائن مقابل فاتورة. المجاميع نصوص.',
  ),
  const TemplateRef(
    id: 'commerce.debit-note',
    category: TemplateCategory.commerce,
    className: 'DebitNoteTemplate',
    nameEn: 'Debit note',
    nameAr: 'إشعار مدين',
    blurbEn: 'Extra charge after the original bill.',
    blurbAr: 'قيد إضافي بعد الفاتورة الأصلية.',
  ),
  const TemplateRef(
    id: 'commerce.proforma',
    category: TemplateCategory.commerce,
    className: 'ProformaTemplate',
    nameEn: 'Proforma invoice',
    nameAr: 'فاتورة مبدئية',
    blurbEn: 'Estimate for customs or a deposit. Not a tax invoice.',
    blurbAr: 'تقدير للجمارك أو العربون. ليست فاتورة ضريبية.',
  ),
  const TemplateRef(
    id: 'commerce.service-estimate',
    category: TemplateCategory.commerce,
    className: 'ServiceEstimateTemplate',
    nameEn: 'Service estimate',
    nameAr: 'تقدير خدمة',
    blurbEn: 'Labour and parts before the work starts.',
    blurbAr: 'عمل وقطع قبل بدء الخدمة.',
  ),
  const TemplateRef(
    id: 'commerce.commission',
    category: TemplateCategory.commerce,
    className: 'CommissionNoteTemplate',
    nameEn: 'Commission note',
    nameAr: 'كشف عمولة',
    blurbEn: 'Agent, deals, and a commission total.',
    blurbAr: 'وكيل وصفقات ومجموع عمولة.',
  ),
  const TemplateRef(
    id: 'logistics.bill',
    category: TemplateCategory.logistics,
    className: 'BillOfLadingTemplate',
    nameEn: 'Bill of lading',
    nameAr: 'بوليصة شحن',
    blurbEn: 'Shipper, consignee, and crates. Not a customs filing.',
    blurbAr: 'شاحن ومرسل إليه وصناديق. ليست إقراراً جمركياً.',
  ),
  const TemplateRef(
    id: 'logistics.freight-quote',
    category: TemplateCategory.logistics,
    className: 'FreightQuoteTemplate',
    nameEn: 'Freight quote',
    nameAr: 'عرض شحن',
    blurbEn: 'Lane, weight, and a quoted freight total.',
    blurbAr: 'مسار ووزن ومجموع شحن معروض.',
  ),
  const TemplateRef(
    id: 'education.fee-receipt',
    category: TemplateCategory.education,
    className: 'FeeReceiptTemplate',
    nameEn: 'Fee receipt',
    nameAr: 'إيصال رسوم',
    blurbEn: 'Payer, term, and a received total.',
    blurbAr: 'دافع وفصل ومجموع مقبوض.',
  ),
  const TemplateRef(
    id: 'property.rent-receipt',
    category: TemplateCategory.property,
    className: 'RentReceiptTemplate',
    nameEn: 'Rent receipt',
    nameAr: 'إيصال إيجار',
    blurbEn: 'Landlord, tenant, and the month received.',
    blurbAr: 'مالك ومستأجر والشهر المقبوض.',
  ),
  const TemplateRef(
    id: 'programs.donation',
    category: TemplateCategory.programs,
    className: 'DonationReceiptTemplate',
    nameEn: 'Donation receipt',
    nameAr: 'إيصال تبرع',
    blurbEn: 'Donor, fund, and an acknowledgment total.',
    blurbAr: 'متبرع وصندوق ومجموع إقرار.',
  ),
  const TemplateRef(
    id: 'finance.payment-voucher',
    category: TemplateCategory.finance,
    className: 'PaymentVoucherTemplate',
    nameEn: 'Payment voucher',
    nameAr: 'سند صرف',
    blurbEn: 'Payer, payee, and the amount leaving the account.',
    blurbAr: 'دافع ومستفيد والمبلغ الخارج من الحساب.',
  ),
  const TemplateRef(
    id: 'finance.receipt-voucher',
    category: TemplateCategory.finance,
    className: 'ReceiptVoucherTemplate',
    nameEn: 'Receipt voucher',
    nameAr: 'سند قبض',
    blurbEn: 'Receiver, payer, and the amount coming in.',
    blurbAr: 'قابض ودافع والمبلغ الداخل.',
  ),
  const TemplateRef(
    id: 'commerce.packing-list',
    category: TemplateCategory.commerce,
    className: 'PackingListTemplate',
    nameEn: 'Packing list',
    nameAr: 'قائمة تعبئة',
    blurbEn: 'What is in the crates. No prices.',
    blurbAr: 'محتوى الصناديق. بلا أسعار.',
  ),
  const TemplateRef(
    id: 'commerce.price-list',
    category: TemplateCategory.commerce,
    className: 'PriceListTemplate',
    nameEn: 'Price list',
    nameAr: 'قائمة أسعار',
    blurbEn: 'SKU, unit, and a formatted price.',
    blurbAr: 'رمز ووحدة وسعر منسّق.',
  ),
  const TemplateRef(
    id: 'commerce.goods-received',
    category: TemplateCategory.commerce,
    className: 'GoodsReceivedTemplate',
    nameEn: 'Goods received',
    nameAr: 'إذن استلام',
    blurbEn: 'Ordered versus received on the dock.',
    blurbAr: 'المطلوب مقابل المستلم على الرصيف.',
  ),
  const TemplateRef(
    id: 'commerce.return',
    category: TemplateCategory.commerce,
    className: 'ReturnAuthorizationTemplate',
    nameEn: 'Return authorization',
    nameAr: 'إذن مرتجع',
    blurbEn: 'What may come back, and why.',
    blurbAr: 'ما يُسمح بإرجاعه ولماذا.',
  ),
  const TemplateRef(
    id: 'commerce.consignment',
    category: TemplateCategory.commerce,
    className: 'ConsignmentNoteTemplate',
    nameEn: 'Consignment note',
    nameAr: 'إذن أمانة',
    blurbEn: 'Goods held for the owner, not sold yet.',
    blurbAr: 'بضاعة بحوزة الجهة ولم تُبع بعد.',
  ),
  const TemplateRef(
    id: 'operations.goods-issue',
    category: TemplateCategory.operations,
    className: 'GoodsIssueTemplate',
    nameEn: 'Goods issue',
    nameAr: 'إذن صرف مواد',
    blurbEn: 'Store, requester, and what left the shelf.',
    blurbAr: 'المستودع والطالب وما خرج من الرف.',
  ),
  const TemplateRef(
    id: 'operations.inventory',
    category: TemplateCategory.operations,
    className: 'InventoryCountTemplate',
    nameEn: 'Inventory count',
    nameAr: 'جرد',
    blurbEn: 'Book quantity versus the count on the floor.',
    blurbAr: 'كمية الدفتر مقابل العدّ على الأرض.',
  ),
  const TemplateRef(
    id: 'operations.assets',
    category: TemplateCategory.operations,
    className: 'AssetRegisterTemplate',
    nameEn: 'Asset register',
    nameAr: 'سجل أصول',
    blurbEn: 'Tag, owner, and location of gear.',
    blurbAr: 'وسم وصاحب وموقع للمعدات.',
  ),
  const TemplateRef(
    id: 'operations.visitors',
    category: TemplateCategory.operations,
    className: 'VisitorLogTemplate',
    nameEn: 'Visitor log',
    nameAr: 'سجل زوار',
    blurbEn: 'Who came, when, and who hosted them.',
    blurbAr: 'من جاء ومتى ومن استقبله.',
  ),
  const TemplateRef(
    id: 'operations.roster',
    category: TemplateCategory.operations,
    className: 'ShiftRosterTemplate',
    nameEn: 'Shift roster',
    nameAr: 'جدول ورديات',
    blurbEn: 'Who covers which watch.',
    blurbAr: 'من يغطي أي نوبة.',
  ),
  const TemplateRef(
    id: 'operations.ticket',
    category: TemplateCategory.operations,
    className: 'ServiceTicketTemplate',
    nameEn: 'Service ticket',
    nameAr: 'تذكرة خدمة',
    blurbEn: 'Request, owner, and status word you supply.',
    blurbAr: 'طلب وصاحب وكلمة حالة تكتبها أنت.',
  ),
  const TemplateRef(
    id: 'logistics.pick-list',
    category: TemplateCategory.logistics,
    className: 'PickListTemplate',
    nameEn: 'Pick list',
    nameAr: 'قائمة تجهيز',
    blurbEn: 'Warehouse picks for one shipment.',
    blurbAr: 'تجهيز مستودع لشحنة واحدة.',
  ),
  const TemplateRef(
    id: 'logistics.manifest',
    category: TemplateCategory.logistics,
    className: 'DeliveryManifestTemplate',
    nameEn: 'Delivery manifest',
    nameAr: 'بيان تسليم',
    blurbEn: 'Stops on one run.',
    blurbAr: 'محطات جولة واحدة.',
  ),
  const TemplateRef(
    id: 'logistics.waybill',
    category: TemplateCategory.logistics,
    className: 'WaybillTemplate',
    nameEn: 'Waybill',
    nameAr: 'بوليصة نقل',
    blurbEn: 'One consignment moving between two sites.',
    blurbAr: 'أمانة واحدة بين موقعين.',
  ),
  const TemplateRef(
    id: 'logistics.transfer',
    category: TemplateCategory.logistics,
    className: 'WarehouseTransferTemplate',
    nameEn: 'Warehouse transfer',
    nameAr: 'تحويل مستودع',
    blurbEn: 'Stock moving from one bin to another.',
    blurbAr: 'مخزون ينتقل من رف إلى آخر.',
  ),
  const TemplateRef(
    id: 'logistics.load-sheet',
    category: TemplateCategory.logistics,
    className: 'LoadSheetTemplate',
    nameEn: 'Load sheet',
    nameAr: 'كشف تحميل',
    blurbEn: 'What goes on the vehicle, in load order.',
    blurbAr: 'ما يُحمّل على المركبة وبأي ترتيب.',
  ),
  const TemplateRef(
    id: 'logistics.notice',
    category: TemplateCategory.logistics,
    className: 'ShippingNoticeTemplate',
    nameEn: 'Shipping notice',
    nameAr: 'إشعار شحن',
    blurbEn: 'What left, and when it should arrive.',
    blurbAr: 'ما خرج ومتى يُتوقع وصوله.',
  ),
  const TemplateRef(
    id: 'people.attendance',
    category: TemplateCategory.people,
    className: 'AttendanceSheetTemplate',
    nameEn: 'Attendance sheet',
    nameAr: 'كشف حضور',
    blurbEn: 'Names and a mark word you supply.',
    blurbAr: 'أسماء وكلمة حضور تكتبها أنت.',
  ),
  const TemplateRef(
    id: 'education.register',
    category: TemplateCategory.education,
    className: 'ClassRegisterTemplate',
    nameEn: 'Class register',
    nameAr: 'سجل صف',
    blurbEn: 'Roll and a mark word for the day.',
    blurbAr: 'أسماء وعلامة لليوم.',
  ),
  const TemplateRef(
    id: 'education.transcript',
    category: TemplateCategory.education,
    className: 'TranscriptTemplate',
    nameEn: 'Transcript',
    nameAr: 'سجل أكاديمي',
    blurbEn: 'Subjects and marks the school already formatted.',
    blurbAr: 'مواد ودرجات نسّقتها المدرسة مسبقاً.',
  ),
  const TemplateRef(
    id: 'education.report-card',
    category: TemplateCategory.education,
    className: 'ReportCardTemplate',
    nameEn: 'Report card',
    nameAr: 'كشف درجات',
    blurbEn: 'One term, subjects, and a comment column.',
    blurbAr: 'فصل ومواد وعمود تعليق.',
  ),
  const TemplateRef(
    id: 'property.listing',
    category: TemplateCategory.property,
    className: 'PropertyListingTemplate',
    nameEn: 'Property listing',
    nameAr: 'عرض عقار',
    blurbEn: 'Units, rent, and a status word.',
    blurbAr: 'وحدات وإيجار وكلمة حالة.',
  ),
  const TemplateRef(
    id: 'programs.beneficiaries',
    category: TemplateCategory.programs,
    className: 'BeneficiaryListTemplate',
    nameEn: 'Beneficiary list',
    nameAr: 'كشف مستفيدين',
    blurbEn: 'Names and a share the program already formatted.',
    blurbAr: 'أسماء وحصة نسّقها البرنامج مسبقاً.',
  ),
  const TemplateRef(
    id: 'programs.distribution',
    category: TemplateCategory.programs,
    className: 'FieldDistributionTemplate',
    nameEn: 'Distribution sheet',
    nameAr: 'كشف توزيع',
    blurbEn: 'What left the store for each household.',
    blurbAr: 'ما خرج من المخزن لكل أسرة.',
  ),
  const TemplateRef(
    id: 'programs.workshop',
    category: TemplateCategory.programs,
    className: 'WorkshopRegisterTemplate',
    nameEn: 'Workshop register',
    nameAr: 'سجل ورشة',
    blurbEn: 'Who sat the session.',
    blurbAr: 'من حضر الجلسة.',
  ),
  const TemplateRef(
    id: 'programs.volunteers',
    category: TemplateCategory.programs,
    className: 'VolunteerHoursTemplate',
    nameEn: 'Volunteer hours',
    nameAr: 'ساعات تطوع',
    blurbEn: 'Names and hours already formatted.',
    blurbAr: 'أسماء وساعات منسّقة مسبقاً.',
  ),
  const TemplateRef(
    id: 'data.timesheet',
    category: TemplateCategory.data,
    className: 'TimesheetTemplate',
    nameEn: 'Timesheet',
    nameAr: 'كشف ساعات',
    blurbEn: 'Days, hours, and a project code.',
    blurbAr: 'أيام وساعات ورمز مشروع.',
  ),
  const TemplateRef(
    id: 'data.milestones',
    category: TemplateCategory.data,
    className: 'MilestoneTrackerTemplate',
    nameEn: 'Milestone tracker',
    nameAr: 'متتبع معالم',
    blurbEn: 'Due date and a status word.',
    blurbAr: 'استحقاق وكلمة حالة.',
  ),
  const TemplateRef(
    id: 'data.risks',
    category: TemplateCategory.data,
    className: 'RiskRegisterTemplate',
    nameEn: 'Risk register',
    nameAr: 'سجل مخاطر',
    blurbEn: 'Risk, owner, and a rating word.',
    blurbAr: 'مخاطرة وصاحب وكلمة تقدير.',
  ),
  const TemplateRef(
    id: 'data.issues',
    category: TemplateCategory.data,
    className: 'IssueLogTemplate',
    nameEn: 'Issue log',
    nameAr: 'سجل مشكلات',
    blurbEn: 'Open items with an owner and a status word.',
    blurbAr: 'بنود مفتوحة بصاحب وكلمة حالة.',
  ),
  const TemplateRef(
    id: 'data.comparison',
    category: TemplateCategory.data,
    className: 'ComparisonTemplate',
    nameEn: 'Comparison',
    nameAr: 'مقارنة',
    blurbEn: 'Two options in one table.',
    blurbAr: 'خياران في جدول واحد.',
  ),
  const TemplateRef(
    id: 'data.leaderboard',
    category: TemplateCategory.data,
    className: 'LeaderboardTemplate',
    nameEn: 'Leaderboard',
    nameAr: 'لوحة ترتيب',
    blurbEn: 'Rank and a score the caller already formatted.',
    blurbAr: 'ترتيب ونتيجة نسّقتها أنت مسبقاً.',
  ),
  const TemplateRef(
    id: 'data.exceptions',
    category: TemplateCategory.data,
    className: 'ExceptionReportTemplate',
    nameEn: 'Exception report',
    nameAr: 'تقرير استثناءات',
    blurbEn: 'Rows that missed the rule.',
    blurbAr: 'صفوف خرجت عن القاعدة.',
  ),
  const TemplateRef(
    id: 'finance.profit-loss',
    category: TemplateCategory.finance,
    className: 'ProfitAndLossTemplate',
    nameEn: 'Profit and loss',
    nameAr: 'الأرباح والخسائر',
    blurbEn: 'Income and costs for a period. Totals are strings.',
    blurbAr: 'إيراد وتكلفة لفترة. المجاميع نصوص.',
  ),
  const TemplateRef(
    id: 'finance.balance',
    category: TemplateCategory.finance,
    className: 'BalanceSnapshotTemplate',
    nameEn: 'Balance snapshot',
    nameAr: 'ملخص الميزانية',
    blurbEn: 'A short asset and liability snapshot, not a full audit.',
    blurbAr: 'ملخص أصول وخصوم قصير، وليس تدقيقاً كاملاً.',
  ),
  const TemplateRef(
    id: 'finance.cash-flow',
    category: TemplateCategory.finance,
    className: 'CashFlowTemplate',
    nameEn: 'Cash flow',
    nameAr: 'التدفق النقدي',
    blurbEn: 'Money in and out for the period.',
    blurbAr: 'الداخل والخارج في الفترة.',
  ),
  const TemplateRef(
    id: 'finance.budget-actual',
    category: TemplateCategory.finance,
    className: 'BudgetActualTemplate',
    nameEn: 'Budget versus actual',
    nameAr: 'الميزانية مقابل الفعلي',
    blurbEn: 'Plan, actual, and a variance string.',
    blurbAr: 'خطة وفعلي ونص فرق.',
  ),
  const TemplateRef(
    id: 'finance.aged-receivables',
    category: TemplateCategory.finance,
    className: 'AgedReceivablesTemplate',
    nameEn: 'Aged receivables',
    nameAr: 'أعمار الذمم المدينة',
    blurbEn: 'Who still owes, by bucket.',
    blurbAr: 'من ما زال مديناً، حسب الشريحة.',
  ),
  const TemplateRef(
    id: 'finance.aged-payables',
    category: TemplateCategory.finance,
    className: 'AgedPayablesTemplate',
    nameEn: 'Aged payables',
    nameAr: 'أعمار الذمم الدائنة',
    blurbEn: 'What the house still owes suppliers.',
    blurbAr: 'ما زالت الجهة مدينة به للمورّدين.',
  ),
  const TemplateRef(
    id: 'finance.journal',
    category: TemplateCategory.finance,
    className: 'JournalTemplate',
    nameEn: 'Journal',
    nameAr: 'قيد يومية',
    blurbEn: 'Debit and credit lines. Amounts stay strings.',
    blurbAr: 'سطور مدين ودائن. المبالغ نصوص.',
  ),
  const TemplateRef(
    id: 'finance.petty-cash',
    category: TemplateCategory.finance,
    className: 'PettyCashTemplate',
    nameEn: 'Petty cash',
    nameAr: 'صندوق النثرية',
    blurbEn: 'Small movements and a running balance string.',
    blurbAr: 'حركات صغيرة ورصيد جارٍ كنص.',
  ),
  const TemplateRef(
    id: 'finance.loan-schedule',
    category: TemplateCategory.finance,
    className: 'LoanScheduleTemplate',
    nameEn: 'Loan schedule',
    nameAr: 'جدول سداد',
    blurbEn: 'Installments the caller already split.',
    blurbAr: 'أقساط قسّمها المستدعي مسبقاً.',
  ),
  const TemplateRef(
    id: 'finance.reconciliation',
    category: TemplateCategory.finance,
    className: 'BankReconciliationTemplate',
    nameEn: 'Bank reconciliation',
    nameAr: 'تسوية بنكية',
    blurbEn: 'Book versus bank, with the open items.',
    blurbAr: 'الدفتر مقابل البنك والبنود المفتوحة.',
  ),
  const TemplateRef(
    id: 'finance.tax-summary',
    category: TemplateCategory.finance,
    className: 'TaxSummaryTemplate',
    nameEn: 'Tax summary',
    nameAr: 'ملخص ضريبة',
    blurbEn: 'A caller-formatted tax roll-up. Not a filing.',
    blurbAr: 'تجميع ضريبة منسّق مسبقاً. ليس إقراراً.',
  ),
  const TemplateRef(
    id: 'finance.payroll-summary',
    category: TemplateCategory.finance,
    className: 'PayrollSummaryTemplate',
    nameEn: 'Payroll summary',
    nameAr: 'ملخص رواتب',
    blurbEn: 'Headcount totals. A single payslip stays its own template.',
    blurbAr: 'مجاميع العدد. قسيمة الفرد قالب مستقل.',
  ),
  const TemplateRef(
    id: 'property.tenant-statement',
    category: TemplateCategory.property,
    className: 'TenantStatementTemplate',
    nameEn: 'Tenant statement',
    nameAr: 'كشف مستأجر',
    blurbEn: 'Charges and receipts for one unit.',
    blurbAr: 'قيود ومقبوضات لوحدة واحدة.',
  ),
  const TemplateRef(
    id: 'people.offer',
    category: TemplateCategory.people,
    className: 'OfferLetterTemplate',
    nameEn: 'Offer letter',
    nameAr: 'خطاب عرض',
    blurbEn: 'Role, start, and a paragraph the caller writes.',
    blurbAr: 'دور وبداية وفقرة يكتبها المستدعي.',
  ),
  const TemplateRef(
    id: 'people.appointment',
    category: TemplateCategory.people,
    className: 'AppointmentLetterTemplate',
    nameEn: 'Appointment letter',
    nameAr: 'خطاب تعيين',
    blurbEn: 'Confirms the post after the offer.',
    blurbAr: 'يثبت المنصب بعد العرض.',
  ),
  const TemplateRef(
    id: 'people.experience',
    category: TemplateCategory.people,
    className: 'ExperienceLetterTemplate',
    nameEn: 'Experience letter',
    nameAr: 'شهادة خبرة',
    blurbEn: 'Dates and the work, in the caller\'s words.',
    blurbAr: 'التواريخ والعمل بكلام المستدعي.',
  ),
  const TemplateRef(
    id: 'people.warning',
    category: TemplateCategory.people,
    className: 'WarningNoticeTemplate',
    nameEn: 'Warning notice',
    nameAr: 'إنذار',
    blurbEn: 'A dated notice. The body is the caller\'s text.',
    blurbAr: 'إشعار مؤرّخ. المتن نص المستدعي.',
  ),
  const TemplateRef(
    id: 'people.recommendation',
    category: TemplateCategory.people,
    className: 'RecommendationLetterTemplate',
    nameEn: 'Recommendation',
    nameAr: 'توصية',
    blurbEn: 'A short recommendation the caller writes.',
    blurbAr: 'توصية قصيرة يكتبها المستدعي.',
  ),
  const TemplateRef(
    id: 'people.leave',
    category: TemplateCategory.people,
    className: 'LeaveRequestTemplate',
    nameEn: 'Leave request',
    nameAr: 'طلب إجازة',
    blurbEn: 'Dates and a reason. Approval is a sign slot.',
    blurbAr: 'تواريخ وسبب. الاعتماد فتحة توقيع.',
  ),
  const TemplateRef(
    id: 'people.welcome',
    category: TemplateCategory.people,
    className: 'WelcomeNoteTemplate',
    nameEn: 'Welcome note',
    nameAr: 'رسالة ترحيب',
    blurbEn: 'A first-day note with the practical facts.',
    blurbAr: 'رسالة اليوم الأول مع الوقائع العملية.',
  ),
  const TemplateRef(
    id: 'people.relieving',
    category: TemplateCategory.people,
    className: 'RelievingLetterTemplate',
    nameEn: 'Relieving letter',
    nameAr: 'خطاب إخلاء طرف',
    blurbEn: 'Last day and what was handed back.',
    blurbAr: 'آخر يوم وما أُعيد.',
  ),
  const TemplateRef(
    id: 'people.reference',
    category: TemplateCategory.people,
    className: 'ReferenceLetterTemplate',
    nameEn: 'Reference letter',
    nameAr: 'خطاب تعريف',
    blurbEn: 'Confirms that a person is known to the house.',
    blurbAr: 'يثبت أن الشخص معروف لدى الجهة.',
  ),
  const TemplateRef(
    id: 'education.admission',
    category: TemplateCategory.education,
    className: 'AdmissionLetterTemplate',
    nameEn: 'Admission letter',
    nameAr: 'خطاب قبول',
    blurbEn: 'A place offered, with the start date.',
    blurbAr: 'مقعد معروض مع تاريخ البداية.',
  ),
  const TemplateRef(
    id: 'narrative.announcement',
    category: TemplateCategory.narrative,
    className: 'AnnouncementTemplate',
    nameEn: 'Announcement',
    nameAr: 'إعلان',
    blurbEn: 'A short notice to a named audience.',
    blurbAr: 'إشعار قصير لجمهور مسمّى.',
  ),
  const TemplateRef(
    id: 'narrative.meeting-notice',
    category: TemplateCategory.narrative,
    className: 'MeetingNoticeTemplate',
    nameEn: 'Meeting notice',
    nameAr: 'إشعار اجتماع',
    blurbEn: 'When, where, and why people should come.',
    blurbAr: 'متى وأين ولماذا يحضر الناس.',
  ),
  const TemplateRef(
    id: 'narrative.decision',
    category: TemplateCategory.narrative,
    className: 'DecisionNoteTemplate',
    nameEn: 'Decision note',
    nameAr: 'مذكرة قرار',
    blurbEn: 'The decision, who made it, and when it starts.',
    blurbAr: 'القرار ومن اتخذه ومتى يسري.',
  ),
  const TemplateRef(
    id: 'people.internship',
    category: TemplateCategory.people,
    className: 'InternshipCertificateTemplate',
    nameEn: 'Internship certificate',
    nameAr: 'شهادة تدريب',
    blurbEn: 'Landscape certificate. Body is one paragraph.',
    blurbAr: 'شهادة أفقية. المتن فقرة واحدة.',
  ),
  const TemplateRef(
    id: 'narrative.press',
    category: TemplateCategory.narrative,
    className: 'PressReleaseTemplate',
    nameEn: 'Press release',
    nameAr: 'بيان صحفي',
    blurbEn: 'Headline, a lead, and a quote section.',
    blurbAr: 'عنوان ومقدمة ومقطع اقتباس.',
  ),
  const TemplateRef(
    id: 'narrative.project-status',
    category: TemplateCategory.narrative,
    className: 'ProjectStatusTemplate',
    nameEn: 'Project status',
    nameAr: 'حالة مشروع',
    blurbEn: 'Where the work stands, and what is next.',
    blurbAr: 'أين وقف العمل وما التالي.',
  ),
  const TemplateRef(
    id: 'narrative.policy',
    category: TemplateCategory.narrative,
    className: 'PolicyNoteTemplate',
    nameEn: 'Policy note',
    nameAr: 'ملاحظة سياسة',
    blurbEn: 'The rule, and who it binds.',
    blurbAr: 'القاعدة ومن تلزمه.',
  ),
  const TemplateRef(
    id: 'narrative.executive',
    category: TemplateCategory.narrative,
    className: 'ExecutiveSummaryTemplate',
    nameEn: 'Executive summary',
    nameAr: 'ملخص تنفيذي',
    blurbEn: 'A one-page brief for someone who will not read the pack.',
    blurbAr: 'إحاطة صفحة لمن لن يقرأ الحزمة.',
  ),
  const TemplateRef(
    id: 'narrative.after-action',
    category: TemplateCategory.narrative,
    className: 'AfterActionTemplate',
    nameEn: 'After-action review',
    nameAr: 'مراجعة ما بعد العمل',
    blurbEn: 'What happened, what to keep, what to change.',
    blurbAr: 'ما حدث وما يُبقى وما يُغيّر.',
  ),
  const TemplateRef(
    id: 'narrative.newsletter',
    category: TemplateCategory.narrative,
    className: 'NewsletterTemplate',
    nameEn: 'Newsletter',
    nameAr: 'نشرة',
    blurbEn: 'Two short items and a date.',
    blurbAr: 'خبران قصيران وتاريخ.',
  ),
  const TemplateRef(
    id: 'narrative.proposal',
    category: TemplateCategory.narrative,
    className: 'ProposalTemplate',
    nameEn: 'Proposal',
    nameAr: 'مقترح',
    blurbEn: 'The ask, the work, and a next step.',
    blurbAr: 'الطلب والعمل والخطوة التالية.',
  ),
  const TemplateRef(
    id: 'operations.safety',
    category: TemplateCategory.operations,
    className: 'SafetyBriefingTemplate',
    nameEn: 'Safety briefing',
    nameAr: 'إحاطة سلامة',
    blurbEn: 'Hazards and the rule for this watch.',
    blurbAr: 'مخاطر وقاعدة هذه النوبة.',
  ),
  const TemplateRef(
    id: 'operations.incident',
    category: TemplateCategory.operations,
    className: 'IncidentReportTemplate',
    nameEn: 'Incident report',
    nameAr: 'بلاغ حادث',
    blurbEn: 'What happened, who saw it, what changed.',
    blurbAr: 'ما حدث ومن رآه وما تغيّر.',
  ),
  const TemplateRef(
    id: 'operations.handover',
    category: TemplateCategory.operations,
    className: 'HandoverNoteTemplate',
    nameEn: 'Handover',
    nameAr: 'محضر تسليم',
    blurbEn: 'What the next watch must know.',
    blurbAr: 'ما يجب أن تعرفه النوبة التالية.',
  ),
  const TemplateRef(
    id: 'operations.change',
    category: TemplateCategory.operations,
    className: 'ChangeRequestTemplate',
    nameEn: 'Change request',
    nameAr: 'طلب تغيير',
    blurbEn: 'What changes, why, and who approves.',
    blurbAr: 'ما يتغيّر ولماذا ومن يعتمد.',
  ),
  const TemplateRef(
    id: 'education.syllabus',
    category: TemplateCategory.education,
    className: 'SyllabusTemplate',
    nameEn: 'Syllabus',
    nameAr: 'منهج',
    blurbEn: 'Weeks and what is covered.',
    blurbAr: 'أسابيع وما يُغطى.',
  ),
  const TemplateRef(
    id: 'education.assignment',
    category: TemplateCategory.education,
    className: 'AssignmentBriefTemplate',
    nameEn: 'Assignment brief',
    nameAr: 'موجز واجب',
    blurbEn: 'The task, the due date, and what good looks like.',
    blurbAr: 'المهمة والاستحقاق وكيف يبدو العمل الجيد.',
  ),
  const TemplateRef(
    id: 'education.progress',
    category: TemplateCategory.education,
    className: 'ProgressReportTemplate',
    nameEn: 'Progress report',
    nameAr: 'تقرير تقدم',
    blurbEn: 'How the term is going, in two sections.',
    blurbAr: 'كيف يسير الفصل في مقطعين.',
  ),
  const TemplateRef(
    id: 'property.lease',
    category: TemplateCategory.property,
    className: 'LeaseSummaryTemplate',
    nameEn: 'Lease summary',
    nameAr: 'ملخص عقد',
    blurbEn: 'The points a tenant needs. Not the full deed.',
    blurbAr: 'ما يحتاجه المستأجر. ليس العقد الكامل.',
  ),
  const TemplateRef(
    id: 'programs.grant',
    category: TemplateCategory.programs,
    className: 'GrantReportTemplate',
    nameEn: 'Grant report',
    nameAr: 'تقرير منحة',
    blurbEn: 'What the grant paid for, and what is left.',
    blurbAr: 'ما دفعته المنحة وما تبقّى.',
  ),
  const TemplateRef(
    id: 'programs.brief',
    category: TemplateCategory.programs,
    className: 'ProgramBriefTemplate',
    nameEn: 'Program brief',
    nameAr: 'إحاطة برنامج',
    blurbEn: 'Who the program serves this week.',
    blurbAr: 'من يخدمه البرنامج هذا الأسبوع.',
  ),
  const TemplateRef(
    id: 'operations.permit',
    category: TemplateCategory.operations,
    className: 'WorkPermitTemplate',
    nameEn: 'Work permit',
    nameAr: 'تصريح عمل',
    blurbEn: 'Checks that must be true before the job starts.',
    blurbAr: 'علامات يجب أن تصدق قبل بدء العمل.',
  ),
  const TemplateRef(
    id: 'operations.audit',
    category: TemplateCategory.operations,
    className: 'AuditFindingsTemplate',
    nameEn: 'Audit findings',
    nameAr: 'ملاحظات تدقيق',
    blurbEn: 'Findings with a mark and a note.',
    blurbAr: 'ملاحظات بعلامة وتعليق.',
  ),
  const TemplateRef(
    id: 'property.move-in',
    category: TemplateCategory.property,
    className: 'MoveInChecklistTemplate',
    nameEn: 'Move-in checklist',
    nameAr: 'قائمة استلام وحدة',
    blurbEn: 'What the tenant and the office both mark.',
    blurbAr: 'ما يعلّمه المستأجر والمكتب معاً.',
  ),
  const TemplateRef(
    id: 'property.maintenance',
    category: TemplateCategory.property,
    className: 'MaintenanceRequestTemplate',
    nameEn: 'Maintenance request',
    nameAr: 'طلب صيانة',
    blurbEn: 'What is wrong, and the mark after the visit.',
    blurbAr: 'ما العطل والعلامة بعد الزيارة.',
  ),
  const TemplateRef(
    id: 'data.scorecard',
    category: TemplateCategory.data,
    className: 'ScorecardTemplate',
    nameEn: 'Scorecard',
    nameAr: 'بطاقة أداء',
    blurbEn: 'A few scores and a small chart.',
    blurbAr: 'درجات قليلة ورسم صغير.',
  ),
  const TemplateRef(
    id: 'data.survey',
    category: TemplateCategory.data,
    className: 'SurveyResultsTemplate',
    nameEn: 'Survey results',
    nameAr: 'نتائج استبيان',
    blurbEn: 'Answers rolled up. The chart is optional data.',
    blurbAr: 'إجابات مجمّعة. الرسم بيانات اختيارية.',
  ),
  const TemplateRef(
    id: 'data.capacity',
    category: TemplateCategory.data,
    className: 'CapacityReportTemplate',
    nameEn: 'Capacity report',
    nameAr: 'تقرير طاقة',
    blurbEn: 'How full the rooms and the store are.',
    blurbAr: 'امتلاء الغرف والمخزن.',
  ),
  const TemplateRef(
    id: 'programs.impact',
    category: TemplateCategory.programs,
    className: 'ImpactSheetTemplate',
    nameEn: 'Impact sheet',
    nameAr: 'ورقة أثر',
    blurbEn: 'A few results the program can stand behind.',
    blurbAr: 'نتائج قليلة يقف البرنامج خلفها.',
  ),
  const TemplateRef(
    id: 'operations.daily-site',
    category: TemplateCategory.operations,
    className: 'DailySiteReportTemplate',
    nameEn: 'Daily site report',
    nameAr: 'تقرير موقع يومي',
    blurbEn: 'The day\'s numbers on one sheet.',
    blurbAr: 'أرقام اليوم في ورقة واحدة.',
  ),
  const TemplateRef(
    id: 'people.profile',
    category: TemplateCategory.people,
    className: 'EmployeeProfileTemplate',
    nameEn: 'Employee profile',
    nameAr: 'بطاقة موظف',
    blurbEn: 'Facts and a few counts. Not an HR system.',
    blurbAr: 'وقائع وأعداد قليلة. ليس نظام موارد بشرية.',
  ),
  const TemplateRef(
    id: 'operations.maintenance',
    category: TemplateCategory.operations,
    className: 'MaintenanceLogTemplate',
    nameEn: 'Maintenance log',
    nameAr: 'سجل صيانة',
    blurbEn: 'Recent jobs as metrics plus a short chart of hours.',
    blurbAr: 'أعمال حديثة كمؤشرات ورسم قصير للساعات.',
  ),
];