@tstdl/base 0.92.138 → 0.92.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/document-management/api/document-management.api.d.ts +40 -0
  2. package/document-management/api/document-management.api.js +20 -0
  3. package/document-management/server/api/document-management.api.d.ts +2 -0
  4. package/document-management/server/api/document-management.api.js +34 -32
  5. package/document-management/server/configure.d.ts +2 -0
  6. package/document-management/server/configure.js +9 -0
  7. package/document-management/server/drizzle/{0000_magical_madame_hydra.sql → 0000_moaning_luckman.sql} +4 -15
  8. package/document-management/server/drizzle/meta/0000_snapshot.json +25 -96
  9. package/document-management/server/drizzle/meta/_journal.json +2 -2
  10. package/document-management/server/index.d.ts +1 -0
  11. package/document-management/server/index.js +1 -0
  12. package/document-management/server/module.d.ts +3 -2
  13. package/document-management/server/module.js +2 -6
  14. package/document-management/server/services/document-category-type.service.d.ts +0 -1
  15. package/document-management/server/services/document-category-type.service.js +7 -7
  16. package/document-management/server/services/document-file.service.js +2 -2
  17. package/document-management/server/services/document-management-ai.service.js +5 -1
  18. package/document-management/server/services/document-management-ancillary.service.d.ts +2 -83
  19. package/document-management/server/services/document-management-ancillary.service.js +1 -23
  20. package/document-management/server/services/document-management-authorization.service.d.ts +85 -0
  21. package/document-management/server/services/document-management-authorization.service.js +28 -0
  22. package/document-management/server/services/document-management.service.d.ts +9 -2
  23. package/document-management/server/services/document-management.service.js +59 -6
  24. package/document-management/server/services/document-property.service.d.ts +7 -3
  25. package/document-management/server/services/document-property.service.js +8 -4
  26. package/document-management/server/services/document-workflow.service.js +2 -2
  27. package/document-management/server/services/enum-type-key.d.ts +1 -0
  28. package/document-management/server/services/enum-type-key.js +1 -0
  29. package/document-management/server/services/index.d.ts +1 -0
  30. package/document-management/server/services/index.js +1 -0
  31. package/document-management/service-models/enriched/enriched-document-category.view.d.ts +1 -0
  32. package/document-management/service-models/enriched/enriched-document-category.view.js +8 -0
  33. package/document-management/service-models/enriched/enriched-document.view.d.ts +3 -1
  34. package/document-management/service-models/enriched/enriched-document.view.js +2 -0
  35. package/examples/document-management/categories-and-types.d.ts +357 -312
  36. package/examples/document-management/categories-and-types.js +690 -350
  37. package/examples/document-management/main.d.ts +18 -16
  38. package/examples/document-management/main.js +27 -20
  39. package/file/mime-type.d.ts +2 -1
  40. package/file/mime-type.js +10 -18
  41. package/file/mime-types.js +1 -2
  42. package/http/server/http-server-response.js +2 -2
  43. package/package.json +3 -2
  44. package/schema/converters/openapi-converter.js +15 -12
@@ -1,363 +1,703 @@
1
+ import { DocumentPropertyDataType } from '../../document-management/index.js';
1
2
  import { defineEnum } from '../../enumeration/index.js';
3
+ /**
4
+ * TstdlDocumentCategory defines the categories for documents within property management and housing cooperatives.
5
+ * It includes top-level categories and their respective subcategories.
6
+ * Each category is represented as a key in PascalCase (English) and a value in kebab-case (English).
7
+ */
2
8
  export const TstdlDocumentCategory = defineEnum('TstdlDocumentCategory', {
3
- // Top-Level Kategorien
4
- PersoenlicheDokumente: 'persoenliche-dokumente',
5
- Finanzen: 'finanzen',
6
- ArbeitBeruf: 'arbeit-beruf',
7
- HausWohnung: 'haus-wohnung',
8
- Fahrzeuge: 'fahrzeuge',
9
- HobbyFreizeit: 'hobby-freizeit',
10
- DigitalesLizenzen: 'digitales-lizenzen',
11
- Sonstiges: 'sonstiges',
12
- // Persönliche Dokumente Unterkategorien
13
- Ausweisdokumente: 'ausweisdokumente',
14
- VertraegePrivat: 'vertraege-privat',
15
- Versicherungsvertraege: 'versicherungsvertraege', // Unterkategorie von Verträge (Privat)
16
- KfzVersicherung: 'kfz-versicherung', // Unterkategorie von Versicherungsverträge
17
- ZeugnisseZertifikate: 'zeugnisse-zertifikate',
18
- Gesundheit: 'gesundheit',
19
- KorrespondenzPrivat: 'korrespondenz-privat',
20
- // Finanzen Unterkategorien
21
- Bankunterlagen: 'bankunterlagen',
22
- Steuerunterlagen: 'steuerunterlagen',
23
- Investitionen: 'investitionen',
24
- AktienWertpapiere: 'aktien-wertpapiere', // Unterkategorie von Investitionen
25
- ImmobilienFinanzen: 'immobilien-finanzen', // Unterkategorie von Investitionen
26
- RechnungenBezahlt: 'rechnungen-bezahlt',
27
- // Arbeit & Beruf Unterkategorien
28
- ArbeitsvertraegeVereinbarungen: 'arbeitsvertraege-vereinbarungen',
29
- Projekte: 'projekte',
30
- ProjektAlpha: 'projekt-alpha', // Unterkategorie von Projekte
31
- ProjektBeta: 'projekt-beta', // Unterkategorie von Projekte
32
- WeiterbildungSchulung: 'weiterbildung-schulung',
33
- Bewerbungsunterlagen: 'bewerbungsunterlagen',
34
- // Haus & Wohnung Unterkategorien
35
- HandwerkerRechnungen: 'handwerker-rechnungen', // Allgemeine Kategorie
36
- Sanitaerarbeiten: 'sanitaerarbeiten', // Unterkategorie von HandwerkerRechnungen
37
- Elektroarbeiten: 'elektroarbeiten', // Unterkategorie von HandwerkerRechnungen
38
- Malerarbeiten: 'malerarbeiten', // Unterkategorie von HandwerkerRechnungen
9
+ // Top-Level Categories (max 8)
10
+ Administration: 'administration',
11
+ Finance: 'finance',
12
+ Maintenance: 'maintenance',
13
+ TenantAndMemberManagement: 'tenant-and-member-management',
14
+ LegalMatters: 'legal-matters',
15
+ Meetings: 'meetings',
16
+ PropertyDevelopment: 'property-development',
17
+ ServiceProviders: 'service-providers',
18
+ // Subcategories (mapped to top-level parents, max 8 per parent)
19
+ // Under Administration
20
+ Contracts: 'contracts',
21
+ GeneralCorrespondence: 'general-correspondence',
22
+ // Under Finance
23
+ Invoices: 'invoices',
24
+ AnnualStatements: 'annual-statements',
25
+ Budgeting: 'budgeting',
26
+ BankStatements: 'bank-statements',
27
+ // Under Maintenance
28
+ RepairAndMaintenance: 'repair-and-maintenance',
29
+ Inspections: 'inspections',
30
+ DamageManagement: 'damage-management',
31
+ // Under TenantAndMemberManagement
32
+ TenantFiles: 'tenant-files',
33
+ MemberFiles: 'member-files',
34
+ CorrespondenceTenantMember: 'correspondence-tenant-member',
35
+ Applications: 'applications',
36
+ HandoverProtocols: 'handover-protocols',
37
+ // Under LegalMatters
38
+ Litigation: 'litigation',
39
+ LegalConsultation: 'legal-consultation',
40
+ ResolutionsAndBylaws: 'resolutions-and-bylaws',
41
+ // Under Meetings
42
+ MeetingDocumentation: 'meeting-documentation',
43
+ // Under PropertyDevelopment
44
+ Planning: 'planning',
45
+ ConstructionProjects: 'construction-projects',
46
+ Permits: 'permits',
47
+ // Under ServiceProviders
48
+ ProviderContracts: 'provider-contracts',
49
+ ProviderCorrespondence: 'provider-correspondence',
50
+ // Sub-subcategories (mapped to subcategory parents, max 5 per parent)
51
+ // Under Contracts
52
+ RentalAgreements: 'rental-agreements',
53
+ PurchaseAgreements: 'purchase-agreements',
54
+ WorkContracts: 'work-contracts',
55
+ // Under AnnualStatements
56
+ FinancialStatements: 'financial-statements',
57
+ OperatingAndHeatingCosts: 'operating-and-heating-costs',
58
+ // Under RepairAndMaintenance
59
+ MaintenancePlans: 'maintenance-plans',
39
60
  });
61
+ /**
62
+ * Top-level categories and their parent-child relationships.
63
+ * Top-level categories are mapped to null.
64
+ * Subcategories are mapped to their respective parent category.
65
+ */
40
66
  export const TstdlCategoryParents = {
41
- [TstdlDocumentCategory.PersoenlicheDokumente]: null,
42
- [TstdlDocumentCategory.Finanzen]: null,
43
- [TstdlDocumentCategory.ArbeitBeruf]: null,
44
- [TstdlDocumentCategory.HausWohnung]: null,
45
- [TstdlDocumentCategory.Fahrzeuge]: null,
46
- [TstdlDocumentCategory.HobbyFreizeit]: null,
47
- [TstdlDocumentCategory.DigitalesLizenzen]: null,
48
- [TstdlDocumentCategory.Sonstiges]: null,
49
- // Persönliche Dokumente Unterkategorien
50
- [TstdlDocumentCategory.Ausweisdokumente]: TstdlDocumentCategory.PersoenlicheDokumente,
51
- [TstdlDocumentCategory.VertraegePrivat]: TstdlDocumentCategory.PersoenlicheDokumente,
52
- [TstdlDocumentCategory.Versicherungsvertraege]: TstdlDocumentCategory.VertraegePrivat,
53
- [TstdlDocumentCategory.KfzVersicherung]: TstdlDocumentCategory.Versicherungsvertraege,
54
- [TstdlDocumentCategory.ZeugnisseZertifikate]: TstdlDocumentCategory.PersoenlicheDokumente,
55
- [TstdlDocumentCategory.Gesundheit]: TstdlDocumentCategory.PersoenlicheDokumente,
56
- [TstdlDocumentCategory.KorrespondenzPrivat]: TstdlDocumentCategory.PersoenlicheDokumente,
57
- // Finanzen Unterkategorien
58
- [TstdlDocumentCategory.Bankunterlagen]: TstdlDocumentCategory.Finanzen,
59
- [TstdlDocumentCategory.Steuerunterlagen]: TstdlDocumentCategory.Finanzen,
60
- [TstdlDocumentCategory.Investitionen]: TstdlDocumentCategory.Finanzen,
61
- [TstdlDocumentCategory.AktienWertpapiere]: TstdlDocumentCategory.Investitionen,
62
- [TstdlDocumentCategory.ImmobilienFinanzen]: TstdlDocumentCategory.Investitionen,
63
- [TstdlDocumentCategory.RechnungenBezahlt]: TstdlDocumentCategory.Finanzen,
64
- // Arbeit & Beruf Unterkategorien
65
- [TstdlDocumentCategory.ArbeitsvertraegeVereinbarungen]: TstdlDocumentCategory.ArbeitBeruf,
66
- [TstdlDocumentCategory.Projekte]: TstdlDocumentCategory.ArbeitBeruf,
67
- [TstdlDocumentCategory.ProjektAlpha]: TstdlDocumentCategory.Projekte,
68
- [TstdlDocumentCategory.ProjektBeta]: TstdlDocumentCategory.Projekte,
69
- [TstdlDocumentCategory.WeiterbildungSchulung]: TstdlDocumentCategory.ArbeitBeruf,
70
- [TstdlDocumentCategory.Bewerbungsunterlagen]: TstdlDocumentCategory.ArbeitBeruf,
71
- // Haus & Wohnung Unterkategorien
72
- [TstdlDocumentCategory.HandwerkerRechnungen]: TstdlDocumentCategory.HausWohnung,
73
- [TstdlDocumentCategory.Sanitaerarbeiten]: TstdlDocumentCategory.HandwerkerRechnungen,
74
- [TstdlDocumentCategory.Elektroarbeiten]: TstdlDocumentCategory.HandwerkerRechnungen,
75
- [TstdlDocumentCategory.Malerarbeiten]: TstdlDocumentCategory.HandwerkerRechnungen,
67
+ // Top-Level Categories
68
+ [TstdlDocumentCategory.Administration]: null,
69
+ [TstdlDocumentCategory.Finance]: null,
70
+ [TstdlDocumentCategory.Maintenance]: null,
71
+ [TstdlDocumentCategory.TenantAndMemberManagement]: null,
72
+ [TstdlDocumentCategory.LegalMatters]: null,
73
+ [TstdlDocumentCategory.Meetings]: null,
74
+ [TstdlDocumentCategory.PropertyDevelopment]: null,
75
+ [TstdlDocumentCategory.ServiceProviders]: null,
76
+ // Subcategories
77
+ [TstdlDocumentCategory.Contracts]: TstdlDocumentCategory.Administration,
78
+ [TstdlDocumentCategory.GeneralCorrespondence]: TstdlDocumentCategory.Administration,
79
+ [TstdlDocumentCategory.Invoices]: TstdlDocumentCategory.Finance,
80
+ [TstdlDocumentCategory.AnnualStatements]: TstdlDocumentCategory.Finance,
81
+ [TstdlDocumentCategory.Budgeting]: TstdlDocumentCategory.Finance,
82
+ [TstdlDocumentCategory.BankStatements]: TstdlDocumentCategory.Finance,
83
+ [TstdlDocumentCategory.RepairAndMaintenance]: TstdlDocumentCategory.Maintenance,
84
+ [TstdlDocumentCategory.Inspections]: TstdlDocumentCategory.Maintenance,
85
+ [TstdlDocumentCategory.DamageManagement]: TstdlDocumentCategory.Maintenance,
86
+ [TstdlDocumentCategory.TenantFiles]: TstdlDocumentCategory.TenantAndMemberManagement,
87
+ [TstdlDocumentCategory.MemberFiles]: TstdlDocumentCategory.TenantAndMemberManagement,
88
+ [TstdlDocumentCategory.CorrespondenceTenantMember]: TstdlDocumentCategory.TenantAndMemberManagement,
89
+ [TstdlDocumentCategory.Applications]: TstdlDocumentCategory.TenantAndMemberManagement,
90
+ [TstdlDocumentCategory.HandoverProtocols]: TstdlDocumentCategory.TenantAndMemberManagement,
91
+ [TstdlDocumentCategory.Litigation]: TstdlDocumentCategory.LegalMatters,
92
+ [TstdlDocumentCategory.LegalConsultation]: TstdlDocumentCategory.LegalMatters,
93
+ [TstdlDocumentCategory.ResolutionsAndBylaws]: TstdlDocumentCategory.LegalMatters,
94
+ [TstdlDocumentCategory.MeetingDocumentation]: TstdlDocumentCategory.Meetings,
95
+ [TstdlDocumentCategory.Planning]: TstdlDocumentCategory.PropertyDevelopment,
96
+ [TstdlDocumentCategory.ConstructionProjects]: TstdlDocumentCategory.PropertyDevelopment,
97
+ [TstdlDocumentCategory.Permits]: TstdlDocumentCategory.PropertyDevelopment,
98
+ [TstdlDocumentCategory.ProviderContracts]: TstdlDocumentCategory.ServiceProviders,
99
+ [TstdlDocumentCategory.ProviderCorrespondence]: TstdlDocumentCategory.ServiceProviders,
100
+ // Sub-subcategories
101
+ [TstdlDocumentCategory.RentalAgreements]: TstdlDocumentCategory.Contracts,
102
+ [TstdlDocumentCategory.PurchaseAgreements]: TstdlDocumentCategory.Contracts,
103
+ [TstdlDocumentCategory.WorkContracts]: TstdlDocumentCategory.Contracts,
104
+ [TstdlDocumentCategory.FinancialStatements]: TstdlDocumentCategory.AnnualStatements,
105
+ [TstdlDocumentCategory.OperatingAndHeatingCosts]: TstdlDocumentCategory.AnnualStatements,
106
+ [TstdlDocumentCategory.MaintenancePlans]: TstdlDocumentCategory.RepairAndMaintenance,
76
107
  };
108
+ /**
109
+ * Labels for each document category.
110
+ * This object maps each category to a human-readable label in German.
111
+ */
77
112
  export const TstdlDocumentCategoryLabels = {
78
- // Top-Level Labels
79
- [TstdlDocumentCategory.PersoenlicheDokumente]: 'Persönliche Dokumente',
80
- [TstdlDocumentCategory.Finanzen]: 'Finanzen',
81
- [TstdlDocumentCategory.ArbeitBeruf]: 'Arbeit & Beruf',
82
- [TstdlDocumentCategory.HausWohnung]: 'Haus & Wohnung',
83
- [TstdlDocumentCategory.Fahrzeuge]: 'Fahrzeuge',
84
- [TstdlDocumentCategory.HobbyFreizeit]: 'Hobby & Freizeit',
85
- [TstdlDocumentCategory.DigitalesLizenzen]: 'Digitales & Lizenzen',
86
- [TstdlDocumentCategory.Sonstiges]: 'Sonstiges',
87
- // Persönliche Dokumente Unterkategorien Labels
88
- [TstdlDocumentCategory.Ausweisdokumente]: 'Ausweisdokumente',
89
- [TstdlDocumentCategory.VertraegePrivat]: 'Verträge (Privat)',
90
- [TstdlDocumentCategory.Versicherungsvertraege]: 'Versicherungsverträge',
91
- [TstdlDocumentCategory.KfzVersicherung]: 'Kfz-Versicherung',
92
- [TstdlDocumentCategory.ZeugnisseZertifikate]: 'Zeugnisse und Zertifikate',
93
- [TstdlDocumentCategory.Gesundheit]: 'Gesundheit',
94
- [TstdlDocumentCategory.KorrespondenzPrivat]: 'Korrespondenz',
95
- // Finanzen Unterkategorien Labels
96
- [TstdlDocumentCategory.Bankunterlagen]: 'Bankunterlagen',
97
- [TstdlDocumentCategory.Steuerunterlagen]: 'Steuerunterlagen',
98
- [TstdlDocumentCategory.Investitionen]: 'Investitionen',
99
- [TstdlDocumentCategory.AktienWertpapiere]: 'Aktien / Wertpapiere',
100
- [TstdlDocumentCategory.ImmobilienFinanzen]: 'Immobilien (Finanzen)',
101
- [TstdlDocumentCategory.RechnungenBezahlt]: 'Rechnungen (bezahlt)',
102
- // Arbeit & Beruf Unterkategorien Labels
103
- [TstdlDocumentCategory.ArbeitsvertraegeVereinbarungen]: 'Arbeitsverträge & Vereinbarungen',
104
- [TstdlDocumentCategory.Projekte]: 'Projekte',
105
- [TstdlDocumentCategory.ProjektAlpha]: 'Projekt Alpha',
106
- [TstdlDocumentCategory.ProjektBeta]: 'Projekt Beta',
107
- [TstdlDocumentCategory.WeiterbildungSchulung]: 'Weiterbildung & Schulung',
108
- [TstdlDocumentCategory.Bewerbungsunterlagen]: 'Bewerbungsunterlagen',
109
- // Haus & Wohnung Unterkategorien Labels
110
- [TstdlDocumentCategory.HandwerkerRechnungen]: 'Handwerkerrechnungen',
111
- [TstdlDocumentCategory.Sanitaerarbeiten]: 'Sanitärarbeiten',
112
- [TstdlDocumentCategory.Elektroarbeiten]: 'Elektroarbeiten',
113
- [TstdlDocumentCategory.Malerarbeiten]: 'Malerarbeiten',
113
+ // Top-Level Categories
114
+ [TstdlDocumentCategory.Administration]: 'Allgemeine Verwaltung',
115
+ [TstdlDocumentCategory.Finance]: 'Finanzen',
116
+ [TstdlDocumentCategory.Maintenance]: 'Instandhaltung',
117
+ [TstdlDocumentCategory.TenantAndMemberManagement]: 'Mieter- und Mitgliederverwaltung',
118
+ [TstdlDocumentCategory.LegalMatters]: 'Rechtliches',
119
+ [TstdlDocumentCategory.Meetings]: 'Sitzungen',
120
+ [TstdlDocumentCategory.PropertyDevelopment]: 'Immobilienentwicklung',
121
+ [TstdlDocumentCategory.ServiceProviders]: 'Dienstleister',
122
+ // Subcategories
123
+ [TstdlDocumentCategory.Contracts]: 'Verträge',
124
+ [TstdlDocumentCategory.GeneralCorrespondence]: 'Allgemeine Korrespondenz',
125
+ [TstdlDocumentCategory.Invoices]: 'Rechnungen',
126
+ [TstdlDocumentCategory.AnnualStatements]: 'Jahresabrechnungen',
127
+ [TstdlDocumentCategory.Budgeting]: 'Budgetierung',
128
+ [TstdlDocumentCategory.BankStatements]: 'Kontoauszüge',
129
+ [TstdlDocumentCategory.RepairAndMaintenance]: 'Reparatur und Instandhaltung',
130
+ [TstdlDocumentCategory.Inspections]: 'Inspektionen',
131
+ [TstdlDocumentCategory.DamageManagement]: 'Schadensmanagement',
132
+ [TstdlDocumentCategory.TenantFiles]: 'Mieterakten',
133
+ [TstdlDocumentCategory.MemberFiles]: 'Mitgliederakten',
134
+ [TstdlDocumentCategory.CorrespondenceTenantMember]: 'Mieter-/Mitglieder-Korrespondenz',
135
+ [TstdlDocumentCategory.Applications]: 'Bewerbungen',
136
+ [TstdlDocumentCategory.HandoverProtocols]: 'Übergabeprotokolle',
137
+ [TstdlDocumentCategory.Litigation]: 'Rechtsstreitigkeiten',
138
+ [TstdlDocumentCategory.LegalConsultation]: 'Rechtsberatung',
139
+ [TstdlDocumentCategory.ResolutionsAndBylaws]: 'Beschlüsse und Satzungen',
140
+ [TstdlDocumentCategory.MeetingDocumentation]: 'Sitzungsdokumentation',
141
+ [TstdlDocumentCategory.Planning]: 'Planung',
142
+ [TstdlDocumentCategory.ConstructionProjects]: 'Bauprojekte',
143
+ [TstdlDocumentCategory.Permits]: 'Genehmigungen',
144
+ [TstdlDocumentCategory.ProviderContracts]: 'Dienstleisterverträge',
145
+ [TstdlDocumentCategory.ProviderCorrespondence]: 'Dienstleister-Korrespondenz',
146
+ // Sub-subcategories
147
+ [TstdlDocumentCategory.RentalAgreements]: 'Mietverträge',
148
+ [TstdlDocumentCategory.PurchaseAgreements]: 'Kaufverträge',
149
+ [TstdlDocumentCategory.WorkContracts]: 'Werkverträge',
150
+ [TstdlDocumentCategory.FinancialStatements]: 'Finanzabschlüsse',
151
+ [TstdlDocumentCategory.OperatingAndHeatingCosts]: 'Betriebs- und Heizkostenabrechnungen',
152
+ [TstdlDocumentCategory.MaintenancePlans]: 'Wartungspläne',
114
153
  };
154
+ /**
155
+ * TstdlDocumentType defines the types for documents within property management and housing cooperatives.
156
+ * Each type is associated with a specific category.
157
+ * Each type is represented as a key in PascalCase (English) and a value in kebab-case (English).
158
+ */
115
159
  export const TstdlDocumentType = defineEnum('TstdlDocumentType', {
116
- // Persönliche Dokumente
117
- Personalausweis: 'personalausweis',
118
- Reisepass: 'reisepass',
119
- Fuehrerschein: 'fuehrerschein',
120
- Geburtsurkunde: 'geburtsurkunde',
121
- Mietvertrag: 'mietvertrag',
122
- Handyvertrag: 'handyvertrag',
123
- HaftpflichtversicherungPolice: 'haftpflichtversicherung-police',
124
- HausratversicherungPolice: 'hausratversicherung-police',
125
- KfzVersicherungPolice: 'kfz-versicherung-police',
126
- KfzVersicherungSchadensmeldung: 'kfz-versicherung-schadensmeldung',
127
- KrankenversicherungPolice: 'krankenversicherung-police',
128
- Arztbrief: 'arztbrief',
129
- Impfpass: 'impfpass',
130
- Roentgenbilder: 'roentgenbilder',
131
- RezeptArchiviert: 'rezept-archiviert',
132
- WichtigerBriefPrivat: 'wichtiger-brief-privat',
133
- EmailArchiviertPrivat: 'email-archiviert-privat',
134
- Schulzeugnis: 'schulzeugnis',
135
- Universitaetsabschluss: 'universitaetsabschluss',
136
- ArbeitszeugnisPrivat: 'arbeitszeugnis-privat',
137
- Weiterbildungszertifikat: 'weiterbildungszertifikat',
138
- // Finanzen
139
- KontoauszugGirokonto: 'kontoauszug-girokonto',
140
- KontoauszugSparkonto: 'kontoauszug-sparkonto',
141
- Kreditkartenabrechnung: 'kreditkartenabrechnung',
142
- Darlehensvertrag: 'darlehensvertrag',
143
- Steuererklaerung: 'steuererklaerung', // Jahreszahlen sind Instanzen des Typs
144
- BelegSteuererklaerung: 'beleg-steuererklaerung',
145
- Steuerbescheid: 'steuerbescheid',
146
- AktienKaufbeleg: 'aktien-kaufbeleg',
147
- AktienVerkaufsbeleg: 'aktien-verkaufsbeleg',
148
- Depotuebersicht: 'depotuebersicht',
149
- Grundbuchauszug: 'grundbuchauszug',
150
- NotarvertragImmobilie: 'notarvertrag-immobilie',
151
- Haushaltsrechnung: 'haushaltsrechnung', // Strom, Gas, Wasser
152
- OnlineBestellungRechnung: 'online-bestellung-rechnung',
153
- // Arbeit & Beruf
154
- AktuellerArbeitsvertrag: 'aktueller-arbeitsvertrag',
155
- Gehaltsabrechnung: 'gehaltsabrechnung',
156
- ZusatzvereinbarungArbeit: 'zusatzvereinbarung-arbeit',
157
- ProjektAlphaPlanung: 'projekt-alpha-planung',
158
- ProjektAlphaBericht: 'projekt-alpha-bericht',
159
- ProjektAlphaPraesentation: 'projekt-alpha-praesentation',
160
- ProjektBetaKonzept: 'projekt-beta-konzept',
161
- ProjektBetaKorrespondenz: 'projekt-beta-korrespondenz',
162
- TeilnahmebescheinigungSchulung: 'teilnahmebescheinigung-schulung',
163
- Schulungsunterlage: 'schulungsunterlage',
164
- Lebenslauf: 'lebenslauf',
165
- AnschreibenBewerbung: 'anschreiben-bewerbung',
166
- ReferenzBewerbung: 'referenz-bewerbung',
167
- // Haus & Wohnung
168
- GrundrissPlan: 'grundriss-plan',
169
- Nebenkostenabrechnung: 'nebenkostenabrechnung',
170
- Uebergabeprotokoll: 'uebergabeprotokoll',
171
- AnleitungGarantieGeraet: 'anleitung-garantie-geraet',
172
- AngebotSanitaer: 'angebot-sanitaer',
173
- RechnungSanitaer: 'rechnung-sanitaer',
174
- AngebotElektro: 'angebot-elektro',
175
- RechnungElektro: 'rechnung-elektro',
176
- AngebotMaler: 'angebot-maler',
177
- RechnungMaler: 'rechnung-maler',
178
- // Fahrzeuge
179
- Fahrzeugschein: 'fahrzeugschein',
180
- Fahrzeugbrief: 'fahrzeugbrief',
181
- VersicherungsnachweisFahrzeug: 'versicherungsnachweis-fahrzeug',
182
- TUEVBericht: 'tuev-bericht',
183
- WerkstattrechnungFahrzeug: 'werkstattrechnung-fahrzeug',
184
- // Hobby & Freizeit
185
- MitgliedschaftVerein: 'mitgliedschaft-verein',
186
- Reisebuchungsbestaetigung: 'reisebuchungsbestaetigung',
187
- ReiseTicketArchiviert: 'reise-ticket-archiviert',
188
- AnleitungSportGeraet: 'anleitung-sport-geraet',
189
- // Digitales & Lizenzen
190
- Softwarelizenz: 'softwarelizenz',
191
- Domainregistrierung: 'domainregistrierung',
192
- ZugangsdatenNotiz: 'zugangsdaten-notiz', // Hinweis: Zugangsdaten sollten separat und sicher verwaltet werden!
193
- // Sonstiges
194
- WichtigeNotiz: 'wichtige-notiz',
195
- FotoDokumentation: 'foto-dokumentation',
196
- ScanWichtigeKleinigkeit: 'scan-wichtige-kleinigkeit',
160
+ // Document Types under Administration/Contracts/RentalAgreements
161
+ ResidentialRentalAgreement: 'residential-rental-agreement',
162
+ CommercialRentalAgreement: 'commercial-rental-agreement',
163
+ ShortTermRentalAgreement: 'short-term-rental-agreement',
164
+ // Document Types under Administration/Contracts/PurchaseAgreements
165
+ PurchaseAgreementProperty: 'purchase-agreement-property',
166
+ SaleAgreementProperty: 'sale-agreement-property',
167
+ // Document Types under Administration/Contracts/WorkContracts
168
+ WorkOrderContract: 'work-order-contract',
169
+ FrameworkAgreement: 'framework-agreement', // Broader contract type
170
+ // Document Types under Administration/GeneralCorrespondence
171
+ TerminationNotice: 'termination-notice',
172
+ ComplaintLetter: 'complaint-letter',
173
+ // Document Types under Finance/Invoices
174
+ IncomingInvoice: 'incoming-invoice',
175
+ OutgoingInvoice: 'outgoing-invoice',
176
+ PaymentReminder: 'payment-reminder',
177
+ // Document Types under Finance/AnnualStatements/FinancialStatements
178
+ AnnualFinancialStatement: 'annual-financial-statement',
179
+ // Document Types under Finance/AnnualStatements/OperatingAndHeatingCosts
180
+ OperatingCostStatement: 'operating-cost-statement',
181
+ HeatingCostStatement: 'heating-cost-statement',
182
+ // Document Types under Finance/BankStatements
183
+ BankStatement: 'bank-statement',
184
+ // Document Types under Finance/Budgeting
185
+ BudgetPlan: 'budget-plan',
186
+ // Document Types under Maintenance/RepairAndMaintenance
187
+ RepairOrderForm: 'repair-order-form',
188
+ MaintenanceReport: 'maintenance-report',
189
+ // Document Types under Maintenance/Inspections
190
+ InspectionReport: 'inspection-report',
191
+ // Document Types under Maintenance/DamageManagement
192
+ DamageReport: 'damage-report',
193
+ // Document Types under Maintenance/RepairAndMaintenance/MaintenancePlans
194
+ MaintenancePlanDocument: 'maintenance-plan-document',
195
+ // Document Types under TenantAndMemberManagement/TenantFiles
196
+ TenantRegistrationForm: 'tenant-registration-form',
197
+ // Document Types under TenantAndMemberManagement/MemberFiles
198
+ MemberApplication: 'member-application',
199
+ // Document Types under TenantAndMemberManagement/HandoverProtocols
200
+ HandoverProtocolApartment: 'handover-protocol-apartment',
201
+ // Document Types under TenantAndMemberManagement/CorrespondenceTenantMember
202
+ RentAdjustmentNotice: 'rent-adjustment-notice',
203
+ TenantCorrespondenceLetter: 'tenant-correspondence-letter',
204
+ MemberCorrespondenceLetter: 'member-correspondence-letter',
205
+ // Document Types under LegalMatters/Litigation
206
+ CourtOrder: 'court-order',
207
+ LawsuitDocument: 'lawsuit-document',
208
+ // Document Types under LegalMatters/LegalConsultation
209
+ LegalOpinionReport: 'legal-opinion-report',
210
+ // Document Types under LegalMatters/ResolutionsAndBylaws
211
+ OwnerAssociationResolution: 'owner-association-resolution',
212
+ CooperativeBylaws: 'cooperative-bylaws',
213
+ // Document Types under Meetings/MeetingDocumentation
214
+ MeetingMinutes: 'meeting-minutes',
215
+ MeetingInvitation: 'meeting-invitation',
216
+ MeetingAgenda: 'meeting-agenda',
217
+ // Document Types under PropertyDevelopment/Planning
218
+ FeasibilityStudy: 'feasibility-study',
219
+ ArchitecturalPlan: 'architectural-plan',
220
+ // Document Types under PropertyDevelopment/Permits
221
+ BuildingPermitDocument: 'building-permit-document',
222
+ DemolitionPermit: 'demolition-permit',
223
+ // Document Types under PropertyDevelopment/ConstructionProjects
224
+ ConstructionSchedule: 'construction-schedule',
225
+ ConstructionDocumentation: 'construction-documentation',
226
+ // Document Types under ServiceProviders/ProviderContracts
227
+ ServiceContract: 'service-contract',
228
+ ServiceLevelAgreement: 'service-level-agreement',
229
+ // Document Types under ServiceProviders/ProviderCorrespondence
230
+ ProviderCommunication: 'provider-communication',
197
231
  });
232
+ /**
233
+ * Labels for each document type.
234
+ * This object maps each type to a human-readable label in German.
235
+ */
198
236
  export const TstdlDocumentTypeLabels = {
199
- // Persönliche Dokumente Labels
200
- [TstdlDocumentType.Personalausweis]: 'Personalausweis',
201
- [TstdlDocumentType.Reisepass]: 'Reisepass',
202
- [TstdlDocumentType.Fuehrerschein]: 'Führerschein',
203
- [TstdlDocumentType.Geburtsurkunde]: 'Geburtsurkunde',
204
- [TstdlDocumentType.Mietvertrag]: 'Mietvertrag',
205
- [TstdlDocumentType.Handyvertrag]: 'Handyvertrag',
206
- [TstdlDocumentType.HaftpflichtversicherungPolice]: 'Haftpflichtversicherung (Police)',
207
- [TstdlDocumentType.HausratversicherungPolice]: 'Hausratversicherung (Police)',
208
- [TstdlDocumentType.KfzVersicherungPolice]: 'Kfz-Versicherung (Police)',
209
- [TstdlDocumentType.KfzVersicherungSchadensmeldung]: 'Kfz-Versicherung (Schadensmeldung)',
210
- [TstdlDocumentType.KrankenversicherungPolice]: 'Krankenversicherung (Police)',
211
- [TstdlDocumentType.Arztbrief]: 'Arztbrief',
212
- [TstdlDocumentType.Impfpass]: 'Impfpass',
213
- [TstdlDocumentType.Roentgenbilder]: 'Röntgenbilder',
214
- [TstdlDocumentType.RezeptArchiviert]: 'Rezept (archiviert)',
215
- [TstdlDocumentType.WichtigerBriefPrivat]: 'Wichtiger Brief (Privat)',
216
- [TstdlDocumentType.EmailArchiviertPrivat]: 'E-Mail (archiviert)',
217
- [TstdlDocumentType.Schulzeugnis]: 'Schulzeugnis',
218
- [TstdlDocumentType.Universitaetsabschluss]: 'Universitätsabschluss',
219
- [TstdlDocumentType.ArbeitszeugnisPrivat]: 'Arbeitszeugnis', // Kann doppelt genutzt werden, falls es in persönlichen und Berufsordnern sein soll
220
- [TstdlDocumentType.Weiterbildungszertifikat]: 'Weiterbildungszertifikat',
221
- // Finanzen Labels
222
- [TstdlDocumentType.KontoauszugGirokonto]: 'Kontoauszug (Girokonto)',
223
- [TstdlDocumentType.KontoauszugSparkonto]: 'Kontoauszug (Sparkonto)',
224
- [TstdlDocumentType.Kreditkartenabrechnung]: 'Kreditkartenabrechnung',
225
- [TstdlDocumentType.Darlehensvertrag]: 'Darlehensvertrag',
226
- [TstdlDocumentType.Steuererklaerung]: 'Steuererklärung',
227
- [TstdlDocumentType.BelegSteuererklaerung]: 'Beleg für Steuererklärung',
228
- [TstdlDocumentType.Steuerbescheid]: 'Steuerbescheid',
229
- [TstdlDocumentType.AktienKaufbeleg]: 'Aktien Kaufbeleg',
230
- [TstdlDocumentType.AktienVerkaufsbeleg]: 'Aktien Verkaufsbeleg',
231
- [TstdlDocumentType.Depotuebersicht]: 'Depotübersicht',
232
- [TstdlDocumentType.Grundbuchauszug]: 'Grundbuchauszug',
233
- [TstdlDocumentType.NotarvertragImmobilie]: 'Notarvertrag (Immobilie)',
234
- [TstdlDocumentType.Haushaltsrechnung]: 'Haushaltsrechnung',
235
- [TstdlDocumentType.OnlineBestellungRechnung]: 'Online-Bestellung (Rechnung)',
236
- // Arbeit & Beruf Labels
237
- [TstdlDocumentType.AktuellerArbeitsvertrag]: 'Aktueller Arbeitsvertrag',
238
- [TstdlDocumentType.Gehaltsabrechnung]: 'Gehaltsabrechnung',
239
- [TstdlDocumentType.ZusatzvereinbarungArbeit]: 'Zusatzvereinbarung',
240
- [TstdlDocumentType.ProjektAlphaPlanung]: 'Projekt Alpha - Planung',
241
- [TstdlDocumentType.ProjektAlphaBericht]: 'Projekt Alpha - Bericht',
242
- [TstdlDocumentType.ProjektAlphaPraesentation]: 'Projekt Alpha - Präsentation',
243
- [TstdlDocumentType.ProjektBetaKonzept]: 'Projekt Beta - Konzept',
244
- [TstdlDocumentType.ProjektBetaKorrespondenz]: 'Projekt Beta - Korrespondenz',
245
- [TstdlDocumentType.TeilnahmebescheinigungSchulung]: 'Teilnahmebescheinigung',
246
- [TstdlDocumentType.Schulungsunterlage]: 'Schulungsunterlage',
247
- [TstdlDocumentType.Lebenslauf]: 'Lebenslauf',
248
- [TstdlDocumentType.AnschreibenBewerbung]: 'Anschreiben (Bewerbung)',
249
- [TstdlDocumentType.ReferenzBewerbung]: 'Referenz (Bewerbung)',
250
- // Haus & Wohnung Labels
251
- [TstdlDocumentType.GrundrissPlan]: 'Grundriss & Plan',
252
- [TstdlDocumentType.Nebenkostenabrechnung]: 'Nebenkostenabrechnung',
253
- [TstdlDocumentType.Uebergabeprotokoll]: 'Übergabeprotokoll',
254
- [TstdlDocumentType.AnleitungGarantieGeraet]: 'Anleitung & Garantie (Gerät)',
255
- [TstdlDocumentType.AngebotSanitaer]: 'Angebot Sanitär',
256
- [TstdlDocumentType.RechnungSanitaer]: 'Rechnung Sanitär',
257
- [TstdlDocumentType.AngebotElektro]: 'Angebot Elektro',
258
- [TstdlDocumentType.RechnungElektro]: 'Rechnung Elektro',
259
- [TstdlDocumentType.AngebotMaler]: 'Angebot Maler',
260
- [TstdlDocumentType.RechnungMaler]: 'Rechnung Maler',
261
- // Fahrzeuge Labels
262
- [TstdlDocumentType.Fahrzeugschein]: 'Fahrzeugschein',
263
- [TstdlDocumentType.Fahrzeugbrief]: 'Fahrzeugbrief',
264
- [TstdlDocumentType.VersicherungsnachweisFahrzeug]: 'Versicherungsnachweis (Fahrzeug)',
265
- [TstdlDocumentType.TUEVBericht]: 'TÜV-Bericht',
266
- [TstdlDocumentType.WerkstattrechnungFahrzeug]: 'Werkstattrechnung (Fahrzeug)',
267
- // Hobby & Freizeit Labels
268
- [TstdlDocumentType.MitgliedschaftVerein]: 'Mitgliedschaft (Verein/Fitness)',
269
- [TstdlDocumentType.Reisebuchungsbestaetigung]: 'Reisebuchungsbestätigung',
270
- [TstdlDocumentType.ReiseTicketArchiviert]: 'Reise-Ticket (archiviert)',
271
- [TstdlDocumentType.AnleitungSportGeraet]: 'Anleitung (Sportgeräte, Instrumente etc.)',
272
- // Digitales & Lizenzen Labels
273
- [TstdlDocumentType.Softwarelizenz]: 'Softwarelizenz',
274
- [TstdlDocumentType.Domainregistrierung]: 'Domainregistrierung',
275
- [TstdlDocumentType.ZugangsdatenNotiz]: 'Zugangsdaten (Notiz)',
276
- // Sonstiges Labels
277
- [TstdlDocumentType.WichtigeNotiz]: 'Wichtige Notiz',
278
- [TstdlDocumentType.FotoDokumentation]: 'Foto (Dokumentation)',
279
- [TstdlDocumentType.ScanWichtigeKleinigkeit]: 'Scan von wichtiger Kleinigkeit',
237
+ [TstdlDocumentType.ResidentialRentalAgreement]: 'Wohnraummietvertrag',
238
+ [TstdlDocumentType.CommercialRentalAgreement]: 'Gewerbemietvertrag',
239
+ [TstdlDocumentType.ShortTermRentalAgreement]: 'Kurzzeitmietvertrag',
240
+ [TstdlDocumentType.PurchaseAgreementProperty]: 'Kaufvertrag Immobilie',
241
+ [TstdlDocumentType.SaleAgreementProperty]: 'Verkaufsvertrag Immobilie',
242
+ [TstdlDocumentType.WorkOrderContract]: 'Werkauftragsvertrag',
243
+ [TstdlDocumentType.FrameworkAgreement]: 'Rahmenvertrag',
244
+ [TstdlDocumentType.TerminationNotice]: 'Kündigungsschreiben',
245
+ [TstdlDocumentType.ComplaintLetter]: 'Beschwerdeschreiben',
246
+ [TstdlDocumentType.IncomingInvoice]: 'Eingangsrechnung',
247
+ [TstdlDocumentType.OutgoingInvoice]: 'Ausgangsrechnung',
248
+ [TstdlDocumentType.PaymentReminder]: 'Zahlungserinnerung',
249
+ [TstdlDocumentType.AnnualFinancialStatement]: 'Jahresfinanzabschluss',
250
+ [TstdlDocumentType.OperatingCostStatement]: 'Betriebskostenabrechnung',
251
+ [TstdlDocumentType.HeatingCostStatement]: 'Heizkostenabrechnung',
252
+ [TstdlDocumentType.BankStatement]: 'Kontoauszug',
253
+ [TstdlDocumentType.BudgetPlan]: 'Budgetplan',
254
+ [TstdlDocumentType.RepairOrderForm]: 'Reparaturauftragsformular',
255
+ [TstdlDocumentType.MaintenanceReport]: 'Instandhaltungsbericht',
256
+ [TstdlDocumentType.InspectionReport]: 'Inspektionsbericht',
257
+ [TstdlDocumentType.DamageReport]: 'Schadensmeldung',
258
+ [TstdlDocumentType.MaintenancePlanDocument]: 'Wartungsplandokument',
259
+ [TstdlDocumentType.TenantRegistrationForm]: 'Mieteranmeldeformular',
260
+ [TstdlDocumentType.MemberApplication]: 'Mitgliederantrag',
261
+ [TstdlDocumentType.HandoverProtocolApartment]: 'Wohnungsübergabeprotokoll',
262
+ [TstdlDocumentType.RentAdjustmentNotice]: 'Mietanpassungsschreiben',
263
+ [TstdlDocumentType.TenantCorrespondenceLetter]: 'Mieter-Korrespondenzschreiben',
264
+ [TstdlDocumentType.MemberCorrespondenceLetter]: 'Mitglieder-Korrespondenzschreiben',
265
+ [TstdlDocumentType.CourtOrder]: 'Gerichtsbeschluss',
266
+ [TstdlDocumentType.LawsuitDocument]: 'Gerichtsdokument',
267
+ [TstdlDocumentType.LegalOpinionReport]: 'Rechtsgutachten',
268
+ [TstdlDocumentType.OwnerAssociationResolution]: 'Wohnungseigentümergemeinschafts-Beschluss',
269
+ [TstdlDocumentType.CooperativeBylaws]: 'Genossenschaftssatzung',
270
+ [TstdlDocumentType.MeetingMinutes]: 'Sitzungsprotokoll',
271
+ [TstdlDocumentType.MeetingInvitation]: 'Sitzungseinladung',
272
+ [TstdlDocumentType.MeetingAgenda]: 'Sitzungstagesordnung',
273
+ [TstdlDocumentType.FeasibilityStudy]: 'Machbarkeitsstudie',
274
+ [TstdlDocumentType.ArchitecturalPlan]: 'Architekturplan',
275
+ [TstdlDocumentType.BuildingPermitDocument]: 'Baugenehmigungsdokument',
276
+ [TstdlDocumentType.DemolitionPermit]: 'Abrissgenehmigung',
277
+ [TstdlDocumentType.ConstructionSchedule]: 'Bauzeitenplan',
278
+ [TstdlDocumentType.ConstructionDocumentation]: 'Baudokumentation',
279
+ [TstdlDocumentType.ServiceContract]: 'Dienstleistungsvertrag',
280
+ [TstdlDocumentType.ServiceLevelAgreement]: 'Service-Level-Agreement',
281
+ [TstdlDocumentType.ProviderCommunication]: 'Dienstleister-Kommunikation',
280
282
  };
283
+ /**
284
+ * TstdlDocumentTypeCategories maps each document type to its most granular category.
285
+ */
281
286
  export const TstdlDocumentTypeCategories = {
282
- // Persönliche Dokumente Zuordnungen
283
- [TstdlDocumentType.Personalausweis]: TstdlDocumentCategory.Ausweisdokumente,
284
- [TstdlDocumentType.Reisepass]: TstdlDocumentCategory.Ausweisdokumente,
285
- [TstdlDocumentType.Fuehrerschein]: TstdlDocumentCategory.Ausweisdokumente,
286
- [TstdlDocumentType.Geburtsurkunde]: TstdlDocumentCategory.Ausweisdokumente,
287
- [TstdlDocumentType.Mietvertrag]: TstdlDocumentCategory.VertraegePrivat,
288
- [TstdlDocumentType.Handyvertrag]: TstdlDocumentCategory.VertraegePrivat,
289
- [TstdlDocumentType.HaftpflichtversicherungPolice]: TstdlDocumentCategory.Versicherungsvertraege,
290
- [TstdlDocumentType.HausratversicherungPolice]: TstdlDocumentCategory.Versicherungsvertraege,
291
- [TstdlDocumentType.KfzVersicherungPolice]: TstdlDocumentCategory.KfzVersicherung,
292
- [TstdlDocumentType.KfzVersicherungSchadensmeldung]: TstdlDocumentCategory.KfzVersicherung,
293
- [TstdlDocumentType.KrankenversicherungPolice]: TstdlDocumentCategory.Versicherungsvertraege,
294
- [TstdlDocumentType.Arztbrief]: TstdlDocumentCategory.Gesundheit,
295
- [TstdlDocumentType.Impfpass]: TstdlDocumentCategory.Gesundheit,
296
- [TstdlDocumentType.Roentgenbilder]: TstdlDocumentCategory.Gesundheit,
297
- [TstdlDocumentType.RezeptArchiviert]: TstdlDocumentCategory.Gesundheit,
298
- [TstdlDocumentType.WichtigerBriefPrivat]: TstdlDocumentCategory.KorrespondenzPrivat,
299
- [TstdlDocumentType.EmailArchiviertPrivat]: TstdlDocumentCategory.KorrespondenzPrivat,
300
- [TstdlDocumentType.Schulzeugnis]: TstdlDocumentCategory.ZeugnisseZertifikate,
301
- [TstdlDocumentType.Universitaetsabschluss]: TstdlDocumentCategory.ZeugnisseZertifikate,
302
- [TstdlDocumentType.ArbeitszeugnisPrivat]: TstdlDocumentCategory.ZeugnisseZertifikate, // Kann auch Arbeitsverträge & Vereinbarungen sein, je nach Kontext
303
- [TstdlDocumentType.Weiterbildungszertifikat]: TstdlDocumentCategory.ZeugnisseZertifikate,
304
- // Finanzen Zuordnungen
305
- [TstdlDocumentType.KontoauszugGirokonto]: TstdlDocumentCategory.Bankunterlagen,
306
- [TstdlDocumentType.KontoauszugSparkonto]: TstdlDocumentCategory.Bankunterlagen,
307
- [TstdlDocumentType.Kreditkartenabrechnung]: TstdlDocumentCategory.Bankunterlagen,
308
- [TstdlDocumentType.Darlehensvertrag]: TstdlDocumentCategory.Bankunterlagen,
309
- [TstdlDocumentType.Steuererklaerung]: TstdlDocumentCategory.Steuerunterlagen,
310
- [TstdlDocumentType.BelegSteuererklaerung]: TstdlDocumentCategory.Steuerunterlagen,
311
- [TstdlDocumentType.Steuerbescheid]: TstdlDocumentCategory.Steuerunterlagen,
312
- [TstdlDocumentType.AktienKaufbeleg]: TstdlDocumentCategory.AktienWertpapiere,
313
- [TstdlDocumentType.AktienVerkaufsbeleg]: TstdlDocumentCategory.AktienWertpapiere,
314
- [TstdlDocumentType.Depotuebersicht]: TstdlDocumentCategory.AktienWertpapiere,
315
- [TstdlDocumentType.Grundbuchauszug]: TstdlDocumentCategory.ImmobilienFinanzen,
316
- [TstdlDocumentType.NotarvertragImmobilie]: TstdlDocumentCategory.ImmobilienFinanzen,
317
- [TstdlDocumentType.Haushaltsrechnung]: TstdlDocumentCategory.RechnungenBezahlt,
318
- [TstdlDocumentType.OnlineBestellungRechnung]: TstdlDocumentCategory.RechnungenBezahlt,
319
- // Arbeit & Beruf Zuordnungen
320
- [TstdlDocumentType.AktuellerArbeitsvertrag]: TstdlDocumentCategory.ArbeitsvertraegeVereinbarungen,
321
- [TstdlDocumentType.Gehaltsabrechnung]: TstdlDocumentCategory.ArbeitsvertraegeVereinbarungen,
322
- [TstdlDocumentType.ZusatzvereinbarungArbeit]: TstdlDocumentCategory.ArbeitsvertraegeVereinbarungen,
323
- [TstdlDocumentType.ProjektAlphaPlanung]: TstdlDocumentCategory.ProjektAlpha,
324
- [TstdlDocumentType.ProjektAlphaBericht]: TstdlDocumentCategory.ProjektAlpha,
325
- [TstdlDocumentType.ProjektAlphaPraesentation]: TstdlDocumentCategory.ProjektAlpha,
326
- [TstdlDocumentType.ProjektBetaKonzept]: TstdlDocumentCategory.ProjektBeta,
327
- [TstdlDocumentType.ProjektBetaKorrespondenz]: TstdlDocumentCategory.ProjektBeta,
328
- [TstdlDocumentType.TeilnahmebescheinigungSchulung]: TstdlDocumentCategory.WeiterbildungSchulung,
329
- [TstdlDocumentType.Schulungsunterlage]: TstdlDocumentCategory.WeiterbildungSchulung,
330
- [TstdlDocumentType.Lebenslauf]: TstdlDocumentCategory.Bewerbungsunterlagen,
331
- [TstdlDocumentType.AnschreibenBewerbung]: TstdlDocumentCategory.Bewerbungsunterlagen,
332
- [TstdlDocumentType.ReferenzBewerbung]: TstdlDocumentCategory.Bewerbungsunterlagen,
333
- // Haus & Wohnung Zuordnungen
334
- [TstdlDocumentType.GrundrissPlan]: TstdlDocumentCategory.HausWohnung,
335
- [TstdlDocumentType.Nebenkostenabrechnung]: TstdlDocumentCategory.HausWohnung,
336
- [TstdlDocumentType.Uebergabeprotokoll]: TstdlDocumentCategory.HausWohnung,
337
- [TstdlDocumentType.AnleitungGarantieGeraet]: TstdlDocumentCategory.HausWohnung,
338
- [TstdlDocumentType.AngebotSanitaer]: TstdlDocumentCategory.Sanitaerarbeiten,
339
- [TstdlDocumentType.RechnungSanitaer]: TstdlDocumentCategory.Sanitaerarbeiten,
340
- [TstdlDocumentType.AngebotElektro]: TstdlDocumentCategory.Elektroarbeiten,
341
- [TstdlDocumentType.RechnungElektro]: TstdlDocumentCategory.Elektroarbeiten,
342
- [TstdlDocumentType.AngebotMaler]: TstdlDocumentCategory.Malerarbeiten,
343
- [TstdlDocumentType.RechnungMaler]: TstdlDocumentCategory.Malerarbeiten,
344
- // Fahrzeuge Zuordnungen
345
- [TstdlDocumentType.Fahrzeugschein]: TstdlDocumentCategory.Fahrzeuge,
346
- [TstdlDocumentType.Fahrzeugbrief]: TstdlDocumentCategory.Fahrzeuge,
347
- [TstdlDocumentType.VersicherungsnachweisFahrzeug]: TstdlDocumentCategory.Fahrzeuge,
348
- [TstdlDocumentType.TUEVBericht]: TstdlDocumentCategory.Fahrzeuge,
349
- [TstdlDocumentType.WerkstattrechnungFahrzeug]: TstdlDocumentCategory.Fahrzeuge,
350
- // Hobby & Freizeit Zuordnungen
351
- [TstdlDocumentType.MitgliedschaftVerein]: TstdlDocumentCategory.HobbyFreizeit,
352
- [TstdlDocumentType.Reisebuchungsbestaetigung]: TstdlDocumentCategory.HobbyFreizeit,
353
- [TstdlDocumentType.ReiseTicketArchiviert]: TstdlDocumentCategory.HobbyFreizeit,
354
- [TstdlDocumentType.AnleitungSportGeraet]: TstdlDocumentCategory.HobbyFreizeit,
355
- // Digitales & Lizenzen Zuordnungen
356
- [TstdlDocumentType.Softwarelizenz]: TstdlDocumentCategory.DigitalesLizenzen,
357
- [TstdlDocumentType.Domainregistrierung]: TstdlDocumentCategory.DigitalesLizenzen,
358
- [TstdlDocumentType.ZugangsdatenNotiz]: TstdlDocumentCategory.DigitalesLizenzen,
359
- // Sonstiges Zuordnungen
360
- [TstdlDocumentType.WichtigeNotiz]: TstdlDocumentCategory.Sonstiges,
361
- [TstdlDocumentType.FotoDokumentation]: TstdlDocumentCategory.Sonstiges,
362
- [TstdlDocumentType.ScanWichtigeKleinigkeit]: TstdlDocumentCategory.Sonstiges,
287
+ [TstdlDocumentType.ResidentialRentalAgreement]: TstdlDocumentCategory.RentalAgreements,
288
+ [TstdlDocumentType.CommercialRentalAgreement]: TstdlDocumentCategory.RentalAgreements,
289
+ [TstdlDocumentType.ShortTermRentalAgreement]: TstdlDocumentCategory.RentalAgreements,
290
+ [TstdlDocumentType.PurchaseAgreementProperty]: TstdlDocumentCategory.PurchaseAgreements,
291
+ [TstdlDocumentType.SaleAgreementProperty]: TstdlDocumentCategory.PurchaseAgreements,
292
+ [TstdlDocumentType.WorkOrderContract]: TstdlDocumentCategory.WorkContracts,
293
+ [TstdlDocumentType.FrameworkAgreement]: TstdlDocumentCategory.Contracts,
294
+ [TstdlDocumentType.TerminationNotice]: TstdlDocumentCategory.GeneralCorrespondence,
295
+ [TstdlDocumentType.ComplaintLetter]: TstdlDocumentCategory.GeneralCorrespondence,
296
+ [TstdlDocumentType.IncomingInvoice]: TstdlDocumentCategory.Invoices,
297
+ [TstdlDocumentType.OutgoingInvoice]: TstdlDocumentCategory.Invoices,
298
+ [TstdlDocumentType.PaymentReminder]: TstdlDocumentCategory.Invoices,
299
+ [TstdlDocumentType.AnnualFinancialStatement]: TstdlDocumentCategory.FinancialStatements,
300
+ [TstdlDocumentType.OperatingCostStatement]: TstdlDocumentCategory.OperatingAndHeatingCosts,
301
+ [TstdlDocumentType.HeatingCostStatement]: TstdlDocumentCategory.OperatingAndHeatingCosts,
302
+ [TstdlDocumentType.BankStatement]: TstdlDocumentCategory.BankStatements,
303
+ [TstdlDocumentType.BudgetPlan]: TstdlDocumentCategory.Budgeting,
304
+ [TstdlDocumentType.RepairOrderForm]: TstdlDocumentCategory.RepairAndMaintenance,
305
+ [TstdlDocumentType.MaintenanceReport]: TstdlDocumentCategory.RepairAndMaintenance,
306
+ [TstdlDocumentType.InspectionReport]: TstdlDocumentCategory.Inspections,
307
+ [TstdlDocumentType.DamageReport]: TstdlDocumentCategory.DamageManagement,
308
+ [TstdlDocumentType.MaintenancePlanDocument]: TstdlDocumentCategory.MaintenancePlans,
309
+ [TstdlDocumentType.TenantRegistrationForm]: TstdlDocumentCategory.TenantFiles,
310
+ [TstdlDocumentType.MemberApplication]: TstdlDocumentCategory.MemberFiles,
311
+ [TstdlDocumentType.HandoverProtocolApartment]: TstdlDocumentCategory.HandoverProtocols,
312
+ [TstdlDocumentType.RentAdjustmentNotice]: TstdlDocumentCategory.CorrespondenceTenantMember,
313
+ [TstdlDocumentType.TenantCorrespondenceLetter]: TstdlDocumentCategory.CorrespondenceTenantMember,
314
+ [TstdlDocumentType.MemberCorrespondenceLetter]: TstdlDocumentCategory.CorrespondenceTenantMember,
315
+ [TstdlDocumentType.CourtOrder]: TstdlDocumentCategory.Litigation,
316
+ [TstdlDocumentType.LawsuitDocument]: TstdlDocumentCategory.Litigation,
317
+ [TstdlDocumentType.LegalOpinionReport]: TstdlDocumentCategory.LegalConsultation,
318
+ [TstdlDocumentType.OwnerAssociationResolution]: TstdlDocumentCategory.ResolutionsAndBylaws,
319
+ [TstdlDocumentType.CooperativeBylaws]: TstdlDocumentCategory.ResolutionsAndBylaws,
320
+ [TstdlDocumentType.MeetingMinutes]: TstdlDocumentCategory.MeetingDocumentation,
321
+ [TstdlDocumentType.MeetingInvitation]: TstdlDocumentCategory.MeetingDocumentation,
322
+ [TstdlDocumentType.MeetingAgenda]: TstdlDocumentCategory.MeetingDocumentation,
323
+ [TstdlDocumentType.FeasibilityStudy]: TstdlDocumentCategory.Planning,
324
+ [TstdlDocumentType.ArchitecturalPlan]: TstdlDocumentCategory.Planning,
325
+ [TstdlDocumentType.BuildingPermitDocument]: TstdlDocumentCategory.Permits,
326
+ [TstdlDocumentType.DemolitionPermit]: TstdlDocumentCategory.Permits,
327
+ [TstdlDocumentType.ConstructionSchedule]: TstdlDocumentCategory.ConstructionProjects,
328
+ [TstdlDocumentType.ConstructionDocumentation]: TstdlDocumentCategory.ConstructionProjects,
329
+ [TstdlDocumentType.ServiceContract]: TstdlDocumentCategory.ProviderContracts,
330
+ [TstdlDocumentType.ServiceLevelAgreement]: TstdlDocumentCategory.ProviderContracts,
331
+ [TstdlDocumentType.ProviderCommunication]: TstdlDocumentCategory.ProviderCorrespondence,
332
+ };
333
+ export const TstdlDocumentProperty = defineEnum('TstdlDocumentProperty', {
334
+ Correspondent: 'correspondent',
335
+ EffectiveDate: 'effective-date', // Date from which the document or its terms are active
336
+ ExpiryDate: 'expiry-date', // Date on which the document or its terms expire
337
+ ReferenceNumber: 'reference-number', // Generic reference (e.g., file number, internal ID)
338
+ RealEstate: 'real-estate', // Identifier for the property (e.g., address, unit number)
339
+ TenantId: 'tenant-id', // Identifier for a tenant
340
+ ContractNumber: 'contract-number', // Specific for contracts
341
+ InvoiceNumber: 'invoice-number', // Specific for invoices
342
+ Amount: 'amount', // Primary monetary value (e.g., invoice total, rent, contract value)
343
+ Currency: 'currency', // Currency for the Amount (e.g., EUR, CHF)
344
+ DueDate: 'due-date', // Due date for payment, action, etc.
345
+ StartDate: 'start-date', // Start date for a period covered (e.g., lease term, service period)
346
+ EndDate: 'end-date', // End date for a period covered
347
+ Status: 'status', // e.g., Paid, Pending, Approved, Active
348
+ CaseNumber: 'case-number', // For legal matters
349
+ MeetingDate: 'meeting-date', // For meeting related documents
350
+ });
351
+ export const TstdlDocumentPropertyConfiguration = {
352
+ [TstdlDocumentProperty.Correspondent]: [DocumentPropertyDataType.Text, 'Korrespondent'],
353
+ [TstdlDocumentProperty.EffectiveDate]: [DocumentPropertyDataType.Date, 'Wirksamkeitsdatum'],
354
+ [TstdlDocumentProperty.ExpiryDate]: [DocumentPropertyDataType.Date, 'Ablaufdatum'],
355
+ [TstdlDocumentProperty.ReferenceNumber]: [DocumentPropertyDataType.Text, 'Referenznummer'],
356
+ [TstdlDocumentProperty.RealEstate]: [DocumentPropertyDataType.Text, 'Liegenschaft'],
357
+ [TstdlDocumentProperty.TenantId]: [DocumentPropertyDataType.Text, 'Mieter-ID'],
358
+ [TstdlDocumentProperty.ContractNumber]: [DocumentPropertyDataType.Text, 'Vertragsnummer'],
359
+ [TstdlDocumentProperty.InvoiceNumber]: [DocumentPropertyDataType.Text, 'Rechnungsnummer'],
360
+ [TstdlDocumentProperty.Amount]: [DocumentPropertyDataType.Decimal, 'Betrag'],
361
+ [TstdlDocumentProperty.Currency]: [DocumentPropertyDataType.Text, 'Währung'],
362
+ [TstdlDocumentProperty.DueDate]: [DocumentPropertyDataType.Date, 'Fälligkeitsdatum'],
363
+ [TstdlDocumentProperty.StartDate]: [DocumentPropertyDataType.Date, 'Startdatum (Periode)'],
364
+ [TstdlDocumentProperty.EndDate]: [DocumentPropertyDataType.Date, 'Enddatum (Periode)'],
365
+ [TstdlDocumentProperty.Status]: [DocumentPropertyDataType.Text, 'Status'],
366
+ [TstdlDocumentProperty.CaseNumber]: [DocumentPropertyDataType.Text, 'Fall-/Aktenzeichen (Recht)'],
367
+ [TstdlDocumentProperty.MeetingDate]: [DocumentPropertyDataType.Date, 'Sitzungsdatum'],
368
+ };
369
+ export const TstdlDocumentTypeProperties = {
370
+ // Administration/Contracts/RentalAgreements
371
+ [TstdlDocumentType.ResidentialRentalAgreement]: [
372
+ TstdlDocumentProperty.Correspondent,
373
+ TstdlDocumentProperty.ContractNumber,
374
+ TstdlDocumentProperty.RealEstate,
375
+ TstdlDocumentProperty.TenantId,
376
+ TstdlDocumentProperty.EffectiveDate,
377
+ TstdlDocumentProperty.StartDate, // Lease start
378
+ TstdlDocumentProperty.EndDate, // Lease end
379
+ TstdlDocumentProperty.Amount, // Rent
380
+ TstdlDocumentProperty.Currency,
381
+ TstdlDocumentProperty.Status,
382
+ ],
383
+ [TstdlDocumentType.CommercialRentalAgreement]: [
384
+ TstdlDocumentProperty.Correspondent,
385
+ TstdlDocumentProperty.ContractNumber,
386
+ TstdlDocumentProperty.RealEstate,
387
+ TstdlDocumentProperty.TenantId,
388
+ TstdlDocumentProperty.EffectiveDate,
389
+ TstdlDocumentProperty.StartDate,
390
+ TstdlDocumentProperty.EndDate,
391
+ TstdlDocumentProperty.Amount,
392
+ TstdlDocumentProperty.Currency,
393
+ TstdlDocumentProperty.Status,
394
+ ],
395
+ [TstdlDocumentType.ShortTermRentalAgreement]: [
396
+ TstdlDocumentProperty.Correspondent,
397
+ TstdlDocumentProperty.ContractNumber,
398
+ TstdlDocumentProperty.RealEstate,
399
+ TstdlDocumentProperty.TenantId,
400
+ TstdlDocumentProperty.EffectiveDate,
401
+ TstdlDocumentProperty.StartDate,
402
+ TstdlDocumentProperty.EndDate,
403
+ TstdlDocumentProperty.Amount,
404
+ TstdlDocumentProperty.Currency,
405
+ TstdlDocumentProperty.Status,
406
+ ],
407
+ // Administration/Contracts/PurchaseAgreements
408
+ [TstdlDocumentType.PurchaseAgreementProperty]: [
409
+ TstdlDocumentProperty.Correspondent, // Buyer/Seller
410
+ TstdlDocumentProperty.ContractNumber,
411
+ TstdlDocumentProperty.RealEstate,
412
+ TstdlDocumentProperty.EffectiveDate, // Closing date
413
+ TstdlDocumentProperty.Amount, // Purchase price
414
+ TstdlDocumentProperty.Currency,
415
+ TstdlDocumentProperty.Status,
416
+ ],
417
+ [TstdlDocumentType.SaleAgreementProperty]: [
418
+ TstdlDocumentProperty.Correspondent,
419
+ TstdlDocumentProperty.ContractNumber,
420
+ TstdlDocumentProperty.RealEstate,
421
+ TstdlDocumentProperty.EffectiveDate,
422
+ TstdlDocumentProperty.Amount,
423
+ TstdlDocumentProperty.Currency,
424
+ TstdlDocumentProperty.Status,
425
+ ],
426
+ // Administration/Contracts/WorkContracts
427
+ [TstdlDocumentType.WorkOrderContract]: [
428
+ TstdlDocumentProperty.Correspondent, // Client/Contractor
429
+ TstdlDocumentProperty.ContractNumber,
430
+ TstdlDocumentProperty.RealEstate,
431
+ TstdlDocumentProperty.EffectiveDate,
432
+ TstdlDocumentProperty.StartDate, // Work start
433
+ TstdlDocumentProperty.EndDate, // Work end
434
+ TstdlDocumentProperty.Amount, // Contract value
435
+ TstdlDocumentProperty.Currency,
436
+ TstdlDocumentProperty.Status,
437
+ ],
438
+ [TstdlDocumentType.FrameworkAgreement]: [
439
+ TstdlDocumentProperty.Correspondent,
440
+ TstdlDocumentProperty.ContractNumber,
441
+ TstdlDocumentProperty.EffectiveDate,
442
+ TstdlDocumentProperty.StartDate,
443
+ TstdlDocumentProperty.EndDate,
444
+ TstdlDocumentProperty.Amount,
445
+ TstdlDocumentProperty.Currency,
446
+ TstdlDocumentProperty.Status,
447
+ ],
448
+ // Administration/GeneralCorrespondence
449
+ [TstdlDocumentType.TerminationNotice]: [
450
+ TstdlDocumentProperty.Correspondent, // Sender/Recipient
451
+ TstdlDocumentProperty.EffectiveDate, // Termination effective date
452
+ TstdlDocumentProperty.RealEstate,
453
+ TstdlDocumentProperty.TenantId,
454
+ TstdlDocumentProperty.ContractNumber, // Related contract
455
+ ],
456
+ [TstdlDocumentType.ComplaintLetter]: [
457
+ TstdlDocumentProperty.Correspondent, // Complainant/Recipient
458
+ TstdlDocumentProperty.RealEstate,
459
+ TstdlDocumentProperty.ReferenceNumber,
460
+ ],
461
+ // Finance/Invoices
462
+ [TstdlDocumentType.IncomingInvoice]: [
463
+ TstdlDocumentProperty.InvoiceNumber,
464
+ TstdlDocumentProperty.Correspondent, // Supplier
465
+ TstdlDocumentProperty.DueDate,
466
+ TstdlDocumentProperty.Amount, // Gross amount
467
+ TstdlDocumentProperty.Currency,
468
+ TstdlDocumentProperty.RealEstate,
469
+ TstdlDocumentProperty.Status, // e.g., Unpaid, Paid
470
+ TstdlDocumentProperty.ReferenceNumber, // e.g. PO number
471
+ ],
472
+ [TstdlDocumentType.OutgoingInvoice]: [
473
+ TstdlDocumentProperty.InvoiceNumber,
474
+ TstdlDocumentProperty.Correspondent, // Customer/Tenant
475
+ TstdlDocumentProperty.TenantId,
476
+ TstdlDocumentProperty.DueDate,
477
+ TstdlDocumentProperty.Amount,
478
+ TstdlDocumentProperty.Currency,
479
+ TstdlDocumentProperty.RealEstate,
480
+ TstdlDocumentProperty.Status,
481
+ ],
482
+ [TstdlDocumentType.PaymentReminder]: [
483
+ TstdlDocumentProperty.Correspondent, // Debtor
484
+ TstdlDocumentProperty.TenantId,
485
+ TstdlDocumentProperty.DueDate, // Original or new
486
+ TstdlDocumentProperty.Amount, // Outstanding amount
487
+ TstdlDocumentProperty.Currency,
488
+ TstdlDocumentProperty.ReferenceNumber, // Original invoice number
489
+ ],
490
+ // Finance/AnnualStatements
491
+ [TstdlDocumentType.AnnualFinancialStatement]: [
492
+ TstdlDocumentProperty.StartDate, // Reporting period start
493
+ TstdlDocumentProperty.EndDate, // Reporting period end
494
+ TstdlDocumentProperty.RealEstate, // Can be general or specific
495
+ TstdlDocumentProperty.ReferenceNumber,
496
+ ],
497
+ [TstdlDocumentType.OperatingCostStatement]: [
498
+ TstdlDocumentProperty.StartDate, // Billing period start
499
+ TstdlDocumentProperty.EndDate, // Billing period end
500
+ TstdlDocumentProperty.RealEstate,
501
+ TstdlDocumentProperty.TenantId,
502
+ TstdlDocumentProperty.Amount, // Total due/credit
503
+ TstdlDocumentProperty.Currency,
504
+ TstdlDocumentProperty.ReferenceNumber,
505
+ ],
506
+ [TstdlDocumentType.HeatingCostStatement]: [
507
+ TstdlDocumentProperty.StartDate,
508
+ TstdlDocumentProperty.EndDate,
509
+ TstdlDocumentProperty.RealEstate,
510
+ TstdlDocumentProperty.TenantId,
511
+ TstdlDocumentProperty.Amount,
512
+ TstdlDocumentProperty.Currency,
513
+ TstdlDocumentProperty.ReferenceNumber,
514
+ ],
515
+ // Finance/BankStatements
516
+ [TstdlDocumentType.BankStatement]: [
517
+ TstdlDocumentProperty.StartDate, // Statement period start
518
+ TstdlDocumentProperty.EndDate, // Statement period end
519
+ TstdlDocumentProperty.ReferenceNumber, // Account number
520
+ TstdlDocumentProperty.RealEstate, // If account is tied to a property
521
+ ],
522
+ // Finance/Budgeting
523
+ [TstdlDocumentType.BudgetPlan]: [
524
+ TstdlDocumentProperty.StartDate, // Budget period start
525
+ TstdlDocumentProperty.EndDate, // Budget period end
526
+ TstdlDocumentProperty.RealEstate,
527
+ TstdlDocumentProperty.Amount, // Total budget
528
+ TstdlDocumentProperty.Currency,
529
+ TstdlDocumentProperty.ReferenceNumber,
530
+ ],
531
+ // Maintenance
532
+ [TstdlDocumentType.RepairOrderForm]: [
533
+ TstdlDocumentProperty.RealEstate,
534
+ // Description of issue
535
+ TstdlDocumentProperty.Status, // Open, In Progress, Closed
536
+ TstdlDocumentProperty.ReferenceNumber, // Order No.
537
+ TstdlDocumentProperty.Correspondent, // Reported by
538
+ ],
539
+ [TstdlDocumentType.MaintenanceReport]: [
540
+ TstdlDocumentProperty.RealEstate,
541
+ // Work done
542
+ TstdlDocumentProperty.StartDate, // Work start date
543
+ TstdlDocumentProperty.EndDate, // Work end date
544
+ TstdlDocumentProperty.ReferenceNumber,
545
+ ],
546
+ [TstdlDocumentType.InspectionReport]: [
547
+ TstdlDocumentProperty.RealEstate,
548
+ TstdlDocumentProperty.Correspondent, // Inspector
549
+ // e.g., Annual Safety Inspection
550
+ TstdlDocumentProperty.Status, // Passed, Failed, Issues Found
551
+ TstdlDocumentProperty.EffectiveDate, // Inspection Date
552
+ ],
553
+ [TstdlDocumentType.DamageReport]: [
554
+ TstdlDocumentProperty.RealEstate,
555
+ TstdlDocumentProperty.Correspondent, // Reported by
556
+ // Description of damage
557
+ TstdlDocumentProperty.Amount, // Estimated damage cost
558
+ TstdlDocumentProperty.Currency,
559
+ TstdlDocumentProperty.Status, // Reported, Assessed, Repaired
560
+ ],
561
+ [TstdlDocumentType.MaintenancePlanDocument]: [
562
+ TstdlDocumentProperty.RealEstate,
563
+ TstdlDocumentProperty.StartDate, // Plan start
564
+ TstdlDocumentProperty.EndDate, // Plan end
565
+ TstdlDocumentProperty.ReferenceNumber,
566
+ ],
567
+ // TenantAndMemberManagement
568
+ [TstdlDocumentType.TenantRegistrationForm]: [
569
+ TstdlDocumentProperty.TenantId,
570
+ TstdlDocumentProperty.RealEstate,
571
+ TstdlDocumentProperty.Correspondent, // Tenant
572
+ TstdlDocumentProperty.EffectiveDate, // Move-in date
573
+ ],
574
+ [TstdlDocumentType.MemberApplication]: [
575
+ TstdlDocumentProperty.Correspondent, // Applicant
576
+ TstdlDocumentProperty.Status, // Submitted, Approved, Rejected
577
+ TstdlDocumentProperty.EffectiveDate, // Membership start if approved
578
+ ],
579
+ [TstdlDocumentType.HandoverProtocolApartment]: [
580
+ TstdlDocumentProperty.RealEstate,
581
+ TstdlDocumentProperty.TenantId,
582
+ TstdlDocumentProperty.Correspondent, // Tenant/Landlord Rep
583
+ TstdlDocumentProperty.EffectiveDate, // Handover date
584
+ TstdlDocumentProperty.Status, // e.g., Defects noted
585
+ ],
586
+ [TstdlDocumentType.RentAdjustmentNotice]: [
587
+ TstdlDocumentProperty.EffectiveDate, // Adjustment effective date
588
+ TstdlDocumentProperty.TenantId,
589
+ TstdlDocumentProperty.RealEstate,
590
+ TstdlDocumentProperty.Amount, // New rent
591
+ TstdlDocumentProperty.Currency,
592
+ TstdlDocumentProperty.Correspondent, // Landlord/Tenant
593
+ ],
594
+ [TstdlDocumentType.TenantCorrespondenceLetter]: [
595
+ TstdlDocumentProperty.TenantId,
596
+ TstdlDocumentProperty.RealEstate,
597
+ TstdlDocumentProperty.Correspondent, // Sender/Recipient
598
+ ],
599
+ [TstdlDocumentType.MemberCorrespondenceLetter]: [
600
+ TstdlDocumentProperty.Correspondent, // Sender/Recipient (Member ID if applicable)
601
+ ],
602
+ // LegalMatters
603
+ [TstdlDocumentType.CourtOrder]: [
604
+ TstdlDocumentProperty.CaseNumber,
605
+ TstdlDocumentProperty.RealEstate,
606
+ TstdlDocumentProperty.Correspondent, // Court/Parties
607
+ TstdlDocumentProperty.EffectiveDate,
608
+ ],
609
+ [TstdlDocumentType.LawsuitDocument]: [
610
+ TstdlDocumentProperty.CaseNumber,
611
+ TstdlDocumentProperty.RealEstate,
612
+ TstdlDocumentProperty.Correspondent, // Parties/Lawyers
613
+ ],
614
+ [TstdlDocumentType.LegalOpinionReport]: [
615
+ TstdlDocumentProperty.Correspondent, // Lawyer/Client
616
+ TstdlDocumentProperty.CaseNumber,
617
+ TstdlDocumentProperty.RealEstate,
618
+ ],
619
+ [TstdlDocumentType.OwnerAssociationResolution]: [
620
+ TstdlDocumentProperty.EffectiveDate,
621
+ TstdlDocumentProperty.RealEstate, // Building/Association ID
622
+ TstdlDocumentProperty.ReferenceNumber, // Resolution No.
623
+ ],
624
+ [TstdlDocumentType.CooperativeBylaws]: [
625
+ TstdlDocumentProperty.EffectiveDate,
626
+ TstdlDocumentProperty.ReferenceNumber,
627
+ ],
628
+ // Meetings
629
+ [TstdlDocumentType.MeetingMinutes]: [
630
+ TstdlDocumentProperty.MeetingDate,
631
+ // e.g., "Minutes of AGM"
632
+ TstdlDocumentProperty.ReferenceNumber,
633
+ ],
634
+ [TstdlDocumentType.MeetingInvitation]: [
635
+ TstdlDocumentProperty.MeetingDate,
636
+ TstdlDocumentProperty.Correspondent, // Inviter/Invitee
637
+ ],
638
+ [TstdlDocumentType.MeetingAgenda]: [
639
+ TstdlDocumentProperty.MeetingDate,
640
+ ],
641
+ // PropertyDevelopment
642
+ [TstdlDocumentType.FeasibilityStudy]: [
643
+ // Project Name / Study Subject
644
+ TstdlDocumentProperty.RealEstate, // If specific site
645
+ TstdlDocumentProperty.Amount, // Estimated Cost/Benefit
646
+ TstdlDocumentProperty.Currency,
647
+ ],
648
+ [TstdlDocumentType.ArchitecturalPlan]: [
649
+ // Plan Title / Project Name
650
+ TstdlDocumentProperty.RealEstate,
651
+ TstdlDocumentProperty.ReferenceNumber, // Plan No.
652
+ TstdlDocumentProperty.Correspondent, // Architect
653
+ ],
654
+ [TstdlDocumentType.BuildingPermitDocument]: [
655
+ TstdlDocumentProperty.ReferenceNumber, // Permit Number
656
+ TstdlDocumentProperty.EffectiveDate,
657
+ TstdlDocumentProperty.ExpiryDate,
658
+ // Project Name
659
+ TstdlDocumentProperty.RealEstate,
660
+ TstdlDocumentProperty.Correspondent, // Issuing Authority
661
+ ],
662
+ [TstdlDocumentType.DemolitionPermit]: [
663
+ TstdlDocumentProperty.ReferenceNumber,
664
+ TstdlDocumentProperty.EffectiveDate,
665
+ TstdlDocumentProperty.ExpiryDate,
666
+ TstdlDocumentProperty.RealEstate,
667
+ TstdlDocumentProperty.Correspondent,
668
+ ],
669
+ [TstdlDocumentType.ConstructionSchedule]: [
670
+ // Project Name
671
+ TstdlDocumentProperty.RealEstate,
672
+ TstdlDocumentProperty.StartDate,
673
+ TstdlDocumentProperty.EndDate,
674
+ ],
675
+ [TstdlDocumentType.ConstructionDocumentation]: [
676
+ // Project Name / Doc Title
677
+ TstdlDocumentProperty.RealEstate,
678
+ TstdlDocumentProperty.ReferenceNumber,
679
+ ],
680
+ // ServiceProviders
681
+ [TstdlDocumentType.ServiceContract]: [
682
+ TstdlDocumentProperty.ContractNumber,
683
+ TstdlDocumentProperty.EffectiveDate,
684
+ TstdlDocumentProperty.ExpiryDate,
685
+ TstdlDocumentProperty.Amount, // Contract Value
686
+ TstdlDocumentProperty.Currency,
687
+ TstdlDocumentProperty.RealEstate,
688
+ TstdlDocumentProperty.Correspondent, // Service Provider
689
+ TstdlDocumentProperty.Status,
690
+ ],
691
+ [TstdlDocumentType.ServiceLevelAgreement]: [
692
+ TstdlDocumentProperty.ReferenceNumber, // SLA ID or linked ContractNo
693
+ TstdlDocumentProperty.EffectiveDate,
694
+ TstdlDocumentProperty.ExpiryDate,
695
+ TstdlDocumentProperty.RealEstate,
696
+ TstdlDocumentProperty.Correspondent,
697
+ TstdlDocumentProperty.Status,
698
+ ],
699
+ [TstdlDocumentType.ProviderCommunication]: [
700
+ TstdlDocumentProperty.RealEstate,
701
+ TstdlDocumentProperty.Correspondent, // Sender/Recipient
702
+ ],
363
703
  };