@api-client/core 0.18.21 → 0.18.22

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 (138) hide show
  1. package/build/src/modeling/helpers/Intelisense.d.ts +1 -0
  2. package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
  3. package/build/src/modeling/helpers/Intelisense.js +1 -0
  4. package/build/src/modeling/helpers/Intelisense.js.map +1 -1
  5. package/build/src/modeling/templates/index.d.ts +1 -0
  6. package/build/src/modeling/templates/index.d.ts.map +1 -1
  7. package/build/src/modeling/templates/index.js +2 -0
  8. package/build/src/modeling/templates/index.js.map +1 -1
  9. package/build/src/modeling/templates/meta/education-management-platform.json +1 -0
  10. package/build/src/modeling/templates/meta/financial-services-platform.json +1 -0
  11. package/build/src/modeling/templates/meta/gaming-platform.json +1 -0
  12. package/build/src/modeling/templates/meta/healthcare-management-platform.json +1 -0
  13. package/build/src/modeling/templates/meta/hospitality-platform.json +1 -0
  14. package/build/src/modeling/templates/meta/index.d.ts +2 -2
  15. package/build/src/modeling/templates/meta/index.d.ts.map +1 -1
  16. package/build/src/modeling/templates/meta/index.js +31 -1
  17. package/build/src/modeling/templates/meta/index.js.map +1 -1
  18. package/build/src/modeling/templates/meta/iot-smart-home-platform.json +1 -0
  19. package/build/src/modeling/templates/meta/legal-services-platform.json +1 -0
  20. package/build/src/modeling/templates/meta/manufacturing-platform.json +1 -0
  21. package/build/src/modeling/templates/meta/non-profit-platform.json +1 -0
  22. package/build/src/modeling/templates/meta/real-estate-management-platform.json +1 -0
  23. package/build/src/modeling/templates/template-registry.d.ts +14 -0
  24. package/build/src/modeling/templates/template-registry.d.ts.map +1 -1
  25. package/build/src/modeling/templates/template-registry.js +63 -0
  26. package/build/src/modeling/templates/template-registry.js.map +1 -1
  27. package/build/src/modeling/templates/{ecommerce-domain.d.ts → verticals/business-services/ecommerce-domain.d.ts} +2 -2
  28. package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts.map +1 -0
  29. package/build/src/modeling/templates/{ecommerce-domain.js → verticals/business-services/ecommerce-domain.js} +6 -6
  30. package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js.map +1 -0
  31. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts +40 -0
  32. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +1 -0
  33. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +744 -0
  34. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +1 -0
  35. package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts +45 -0
  36. package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts.map +1 -0
  37. package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js +797 -0
  38. package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js.map +1 -0
  39. package/build/src/modeling/templates/verticals/business-services/index.d.ts +21 -0
  40. package/build/src/modeling/templates/verticals/business-services/index.d.ts.map +1 -0
  41. package/build/src/modeling/templates/verticals/business-services/index.js +50 -0
  42. package/build/src/modeling/templates/verticals/business-services/index.js.map +1 -0
  43. package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts +46 -0
  44. package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts.map +1 -0
  45. package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js +837 -0
  46. package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js.map +1 -0
  47. package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts +40 -0
  48. package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts.map +1 -0
  49. package/build/src/modeling/templates/verticals/education-training/education-domain.js +725 -0
  50. package/build/src/modeling/templates/verticals/education-training/education-domain.js.map +1 -0
  51. package/build/src/modeling/templates/verticals/education-training/index.d.ts +18 -0
  52. package/build/src/modeling/templates/verticals/education-training/index.d.ts.map +1 -0
  53. package/build/src/modeling/templates/verticals/education-training/index.js +21 -0
  54. package/build/src/modeling/templates/verticals/education-training/index.js.map +1 -0
  55. package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts +40 -0
  56. package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts.map +1 -0
  57. package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js +859 -0
  58. package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js.map +1 -0
  59. package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts +18 -0
  60. package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts.map +1 -0
  61. package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js +21 -0
  62. package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js.map +1 -0
  63. package/build/src/modeling/templates/verticals/index.d.ts +79 -0
  64. package/build/src/modeling/templates/verticals/index.d.ts.map +1 -0
  65. package/build/src/modeling/templates/verticals/index.js +186 -0
  66. package/build/src/modeling/templates/verticals/index.js.map +1 -0
  67. package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts +18 -0
  68. package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts.map +1 -0
  69. package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js +22 -0
  70. package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js.map +1 -0
  71. package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts +45 -0
  72. package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts.map +1 -0
  73. package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js +710 -0
  74. package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js.map +1 -0
  75. package/build/src/modeling/templates/verticals/public-sector/index.d.ts +18 -0
  76. package/build/src/modeling/templates/verticals/public-sector/index.d.ts.map +1 -0
  77. package/build/src/modeling/templates/verticals/public-sector/index.js +22 -0
  78. package/build/src/modeling/templates/verticals/public-sector/index.js.map +1 -0
  79. package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts +47 -0
  80. package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts.map +1 -0
  81. package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js +864 -0
  82. package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js.map +1 -0
  83. package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts +18 -0
  84. package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts.map +1 -0
  85. package/build/src/modeling/templates/verticals/real-estate-construction/index.js +21 -0
  86. package/build/src/modeling/templates/verticals/real-estate-construction/index.js.map +1 -0
  87. package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts +40 -0
  88. package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts.map +1 -0
  89. package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js +727 -0
  90. package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js.map +1 -0
  91. package/build/src/modeling/templates/{blog-domain.d.ts → verticals/technology-media/blog-domain.d.ts} +2 -2
  92. package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts.map +1 -0
  93. package/build/src/modeling/templates/{blog-domain.js → verticals/technology-media/blog-domain.js} +5 -5
  94. package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +1 -0
  95. package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts +46 -0
  96. package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts.map +1 -0
  97. package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js +1033 -0
  98. package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js.map +1 -0
  99. package/build/src/modeling/templates/verticals/technology-media/index.d.ts +21 -0
  100. package/build/src/modeling/templates/verticals/technology-media/index.d.ts.map +1 -0
  101. package/build/src/modeling/templates/verticals/technology-media/index.js +42 -0
  102. package/build/src/modeling/templates/verticals/technology-media/index.js.map +1 -0
  103. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts +47 -0
  104. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +1 -0
  105. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +1027 -0
  106. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +1 -0
  107. package/build/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +1 -1
  109. package/src/modeling/helpers/Intelisense.ts +1 -0
  110. package/src/modeling/templates/meta/education-management-platform.json +1 -0
  111. package/src/modeling/templates/meta/financial-services-platform.json +1 -0
  112. package/src/modeling/templates/meta/gaming-platform.json +1 -0
  113. package/src/modeling/templates/meta/healthcare-management-platform.json +1 -0
  114. package/src/modeling/templates/meta/hospitality-platform.json +1 -0
  115. package/src/modeling/templates/meta/iot-smart-home-platform.json +1 -0
  116. package/src/modeling/templates/meta/legal-services-platform.json +1 -0
  117. package/src/modeling/templates/meta/manufacturing-platform.json +1 -0
  118. package/src/modeling/templates/meta/non-profit-platform.json +1 -0
  119. package/src/modeling/templates/meta/real-estate-management-platform.json +1 -0
  120. package/src/modeling/templates/readme.md +14 -0
  121. package/src/modeling/templates/template-registry.ts +73 -0
  122. package/src/modeling/templates/verticals/README.md +122 -0
  123. package/src/modeling/templates/{ecommerce-domain.ts → verticals/business-services/ecommerce-domain.ts} +7 -7
  124. package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +943 -0
  125. package/src/modeling/templates/verticals/business-services/hospitality-domain.ts +994 -0
  126. package/src/modeling/templates/verticals/business-services/legal-services-domain.ts +1059 -0
  127. package/src/modeling/templates/verticals/education-training/education-domain.ts +922 -0
  128. package/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.ts +1111 -0
  129. package/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.ts +895 -0
  130. package/src/modeling/templates/verticals/public-sector/non-profit-domain.ts +1109 -0
  131. package/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.ts +944 -0
  132. package/src/modeling/templates/{blog-domain.ts → verticals/technology-media/blog-domain.ts} +6 -6
  133. package/src/modeling/templates/verticals/technology-media/gaming-domain.ts +1290 -0
  134. package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +1287 -0
  135. package/build/src/modeling/templates/blog-domain.d.ts.map +0 -1
  136. package/build/src/modeling/templates/blog-domain.js.map +0 -1
  137. package/build/src/modeling/templates/ecommerce-domain.d.ts.map +0 -1
  138. package/build/src/modeling/templates/ecommerce-domain.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hospitality-domain.js","sourceRoot":"","sources":["../../../../../../src/modeling/templates/verticals/business-services/hospitality-domain.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hospitality Domain Template\n *\n * A comprehensive hospitality data domain following domain-driven design principles.\n * This template covers the complete hospitality lifecycle including:\n *\n * - Guest Management: Guest profiles, preferences, loyalty programs\n * - Reservation System: Bookings, availability, pricing\n * - Property Management: Rooms, amenities, housekeeping\n * - Service Management: Concierge, room service, activities\n * - Revenue Management: Pricing, promotions, revenue optimization\n * - Operations: Staff scheduling, maintenance, security\n *\n * Key Features:\n * - Complete guest lifecycle management\n * - Reservation and booking system\n * - Room and property management\n * - Service delivery tracking\n * - Revenue optimization and pricing\n * - Operational management\n * - Loyalty program management\n *\n * Use Cases:\n * - Hotels and resorts\n * - Hospitality management\n * - Guest services\n * - Revenue management\n * - Property operations\n */\n\nimport { DataDomain } from '../../../DataDomain.js'\nimport {\n addIdField,\n addNameField,\n addDescriptionField,\n addEmailField,\n addPhoneField,\n addCustomStatusField,\n addCreatedAtField,\n addUpdatedAtField,\n addCurrencyAmountField,\n} from '../../../helpers/Intelisense.js'\nimport type { CreateTemplateOptions } from '../../types.js'\n\nfunction createDomain(): DataDomain {\n return new DataDomain({\n info: {\n name: 'Hospitality Platform',\n displayName: 'Hospitality Platform',\n description:\n 'A comprehensive hospitality platform with guest management, reservations, ' +\n 'property management, services, revenue optimization, and operations',\n },\n })\n}\n\n/**\n * Creates a comprehensive hospitality data domain following domain-driven design principles.\n *\n * This function demonstrates the proper hierarchy and organization for a hospitality platform:\n * 1. Creates the root DataDomain for the hospitality platform\n * 2. Organizes functionality into logical namespaces (Guest Management, Reservation System, etc.)\n * 3. Groups related entities into models within each namespace\n * 4. Defines entities with proper semantic annotations for hospitality workflows\n * 5. Establishes associations with appropriate cardinality for hospitality relationships\n *\n * @returns A fully configured DataDomain with all hospitality entities and relationships\n */\nexport default function createHospitalityDomain(options: CreateTemplateOptions = {}): DataDomain {\n // Ensure the root data domain\n const domain = options.domain ?? createDomain()\n\n //\n // 1. GUEST MANAGEMENT NAMESPACE\n //\n const guestManagement = domain.addNamespace({\n info: {\n name: 'GuestManagement',\n displayName: 'Guest Management',\n description: 'Guest profiles, preferences, and loyalty programs',\n },\n })\n\n // Guest Model\n const guestModel = guestManagement.addModel({\n info: {\n name: 'Guests',\n displayName: 'Guest Management',\n description: 'Guest profiles and information',\n },\n })\n\n // Guest Entity\n const guestEntity = guestModel.addEntity({\n info: {\n name: 'guest',\n displayName: 'Guest',\n description: 'Hotel guest with profile and preferences',\n },\n })\n\n addIdField(guestEntity, { displayName: 'Guest ID', description: 'Unique identifier for the guest' })\n\n addNameField(guestEntity, { description: 'Guest name and title' })\n\n addDescriptionField(guestEntity, { description: 'Guest description and notes' })\n\n addEmailField(guestEntity, { description: 'Guest email address' })\n\n addPhoneField(guestEntity, { description: 'Guest phone number' })\n\n guestEntity.addProperty({\n info: { name: 'date_of_birth', displayName: 'Date of Birth', description: 'Guest date of birth' },\n type: 'date',\n required: false,\n })\n\n guestEntity.addProperty({\n info: { name: 'nationality', displayName: 'Nationality', description: 'Guest nationality' },\n type: 'string',\n required: false,\n })\n\n guestEntity.addProperty({\n info: { name: 'address', displayName: 'Address', description: 'Guest address' },\n type: 'string',\n required: false,\n })\n\n guestEntity.addProperty({\n info: { name: 'guest_type', displayName: 'Guest Type', description: 'Type of guest' },\n type: 'string',\n required: true,\n schema: {\n enum: ['individual', 'business', 'group', 'vip'],\n },\n })\n\n addCustomStatusField(guestEntity, ['active', 'inactive', 'blacklisted'], {\n displayName: 'Guest Status',\n description: 'Current status of the guest',\n })\n\n addCreatedAtField(guestEntity, { description: 'When the guest record was created' })\n addUpdatedAtField(guestEntity, { description: 'When the guest record was last updated' })\n\n // Guest Preference Entity\n const guestPreferenceEntity = guestModel.addEntity({\n info: {\n name: 'guest_preference',\n displayName: 'Guest Preference',\n description: 'Guest preferences and special requirements',\n },\n })\n\n addIdField(guestPreferenceEntity, {\n displayName: 'Preference ID',\n description: 'Unique identifier for the guest preference',\n })\n\n addNameField(guestPreferenceEntity, { description: 'Preference name and description' })\n\n guestPreferenceEntity.addProperty({\n info: { name: 'preference_type', displayName: 'Preference Type', description: 'Type of preference' },\n type: 'string',\n required: true,\n schema: {\n enum: ['room', 'amenity', 'service', 'dietary', 'accessibility'],\n },\n })\n\n guestPreferenceEntity.addProperty({\n info: { name: 'value', displayName: 'Value', description: 'Preference value or setting' },\n type: 'string',\n required: true,\n })\n\n addCustomStatusField(guestPreferenceEntity, ['active', 'inactive'], {\n displayName: 'Preference Status',\n description: 'Current status of the preference',\n })\n\n addCreatedAtField(guestPreferenceEntity, { description: 'When the preference was created' })\n\n // GuestPreference-Guest Association (Many-to-One)\n guestPreferenceEntity.addAssociation(\n { key: guestEntity.key },\n {\n info: { name: 'guest', displayName: 'Guest', description: 'Guest for this preference' },\n required: true,\n multiple: false,\n }\n )\n\n // Loyalty Program Entity\n const loyaltyProgramEntity = guestModel.addEntity({\n info: {\n name: 'loyalty_program',\n displayName: 'Loyalty Program',\n description: 'Guest loyalty program and membership',\n },\n })\n\n addIdField(loyaltyProgramEntity, {\n displayName: 'Loyalty ID',\n description: 'Unique identifier for the loyalty program',\n })\n\n addNameField(loyaltyProgramEntity, { description: 'Loyalty program name' })\n\n loyaltyProgramEntity.addProperty({\n info: { name: 'membership_number', displayName: 'Membership Number', description: 'Loyalty membership number' },\n type: 'string',\n required: true,\n unique: true,\n })\n\n loyaltyProgramEntity.addProperty({\n info: { name: 'tier_level', displayName: 'Tier Level', description: 'Loyalty tier level' },\n type: 'string',\n required: true,\n schema: {\n enum: ['bronze', 'silver', 'gold', 'platinum', 'diamond'],\n },\n })\n\n loyaltyProgramEntity.addProperty({\n info: { name: 'points_balance', displayName: 'Points Balance', description: 'Current points balance' },\n type: 'number',\n required: true,\n schema: {\n minimum: 0,\n },\n })\n\n addCustomStatusField(loyaltyProgramEntity, ['active', 'inactive', 'suspended'], {\n displayName: 'Loyalty Status',\n description: 'Current status of the loyalty membership',\n })\n\n addCreatedAtField(loyaltyProgramEntity, { description: 'When the loyalty membership was created' })\n\n // LoyaltyProgram-Guest Association (One-to-One)\n loyaltyProgramEntity.addAssociation(\n { key: guestEntity.key },\n {\n info: { name: 'guest', displayName: 'Guest', description: 'Guest for this loyalty program' },\n required: true,\n multiple: false,\n }\n )\n\n //\n // 2. RESERVATION SYSTEM NAMESPACE\n //\n const reservationSystem = domain.addNamespace({\n info: {\n name: 'ReservationSystem',\n displayName: 'Reservation System',\n description: 'Bookings, availability, and pricing management',\n },\n })\n\n // Reservation Model\n const reservationModel = reservationSystem.addModel({\n info: {\n name: 'Reservations',\n displayName: 'Reservation Management',\n description: 'Reservation and booking management',\n },\n })\n\n // Reservation Entity\n const reservationEntity = reservationModel.addEntity({\n info: {\n name: 'reservation',\n displayName: 'Reservation',\n description: 'Guest reservation and booking',\n },\n })\n\n addIdField(reservationEntity, { displayName: 'Reservation ID', description: 'Unique identifier for the reservation' })\n\n addNameField(reservationEntity, { description: 'Reservation name and description' })\n\n reservationEntity.addProperty({\n info: { name: 'check_in_date', displayName: 'Check-in Date', description: 'Guest check-in date' },\n type: 'date',\n required: true,\n })\n\n reservationEntity.addProperty({\n info: { name: 'check_out_date', displayName: 'Check-out Date', description: 'Guest check-out date' },\n type: 'date',\n required: true,\n })\n\n reservationEntity.addProperty({\n info: { name: 'adults', displayName: 'Adults', description: 'Number of adult guests' },\n type: 'number',\n required: true,\n schema: {\n minimum: 1,\n },\n })\n\n reservationEntity.addProperty({\n info: { name: 'children', displayName: 'Children', description: 'Number of children' },\n type: 'number',\n required: true,\n schema: {\n minimum: 0,\n },\n })\n\n reservationEntity.addProperty({\n info: { name: 'reservation_type', displayName: 'Reservation Type', description: 'Type of reservation' },\n type: 'string',\n required: true,\n schema: {\n enum: ['direct', 'ota', 'corporate', 'group', 'package'],\n },\n })\n\n addCurrencyAmountField(reservationEntity, 'total_amount', 'Total Amount', {\n description: 'Total reservation amount',\n })\n\n addCustomStatusField(reservationEntity, ['confirmed', 'pending', 'cancelled', 'checked_in', 'checked_out'], {\n displayName: 'Reservation Status',\n description: 'Current status of the reservation',\n })\n\n addCreatedAtField(reservationEntity, { description: 'When the reservation was created' })\n\n // Reservation-Guest Association (Many-to-One)\n reservationEntity.addAssociation(\n { key: guestEntity.key },\n {\n info: { name: 'guest', displayName: 'Guest', description: 'Guest for this reservation' },\n required: true,\n multiple: false,\n }\n )\n\n // Room Rate Entity\n const roomRateEntity = reservationModel.addEntity({\n info: {\n name: 'room_rate',\n displayName: 'Room Rate',\n description: 'Room pricing and rate management',\n },\n })\n\n addIdField(roomRateEntity, { displayName: 'Rate ID', description: 'Unique identifier for the room rate' })\n\n addNameField(roomRateEntity, { description: 'Rate name and description' })\n\n roomRateEntity.addProperty({\n info: { name: 'rate_type', displayName: 'Rate Type', description: 'Type of room rate' },\n type: 'string',\n required: true,\n schema: {\n enum: ['rack', 'corporate', 'package', 'promotional', 'seasonal'],\n },\n })\n\n roomRateEntity.addProperty({\n info: { name: 'start_date', displayName: 'Start Date', description: 'Rate start date' },\n type: 'date',\n required: true,\n })\n\n roomRateEntity.addProperty({\n info: { name: 'end_date', displayName: 'End Date', description: 'Rate end date' },\n type: 'date',\n required: true,\n })\n\n addCurrencyAmountField(roomRateEntity, 'base_rate', 'Base Rate', {\n description: 'Base room rate',\n })\n\n addCustomStatusField(roomRateEntity, ['active', 'inactive', 'expired'], {\n displayName: 'Rate Status',\n description: 'Current status of the room rate',\n })\n\n addCreatedAtField(roomRateEntity, { description: 'When the room rate was created' })\n\n //\n // 3. PROPERTY MANAGEMENT NAMESPACE\n //\n const propertyManagement = domain.addNamespace({\n info: {\n name: 'PropertyManagement',\n displayName: 'Property Management',\n description: 'Rooms, amenities, and housekeeping management',\n },\n })\n\n // Property Model\n const propertyModel = propertyManagement.addModel({\n info: {\n name: 'Property',\n displayName: 'Property Management',\n description: 'Property and room management',\n },\n })\n\n // Room Entity\n const roomEntity = propertyModel.addEntity({\n info: {\n name: 'room',\n displayName: 'Room',\n description: 'Hotel room with amenities and status',\n },\n })\n\n addIdField(roomEntity, { displayName: 'Room ID', description: 'Unique identifier for the room' })\n\n addNameField(roomEntity, { description: 'Room name and number' })\n\n addDescriptionField(roomEntity, { description: 'Room description and features' })\n\n roomEntity.addProperty({\n info: { name: 'room_type', displayName: 'Room Type', description: 'Type of room' },\n type: 'string',\n required: true,\n schema: {\n enum: ['standard', 'deluxe', 'suite', 'presidential', 'accessible'],\n },\n })\n\n roomEntity.addProperty({\n info: { name: 'floor', displayName: 'Floor', description: 'Room floor number' },\n type: 'number',\n required: true,\n schema: {\n minimum: 1,\n },\n })\n\n roomEntity.addProperty({\n info: { name: 'capacity', displayName: 'Capacity', description: 'Room guest capacity' },\n type: 'number',\n required: true,\n schema: {\n minimum: 1,\n },\n })\n\n addCustomStatusField(roomEntity, ['available', 'occupied', 'maintenance', 'out_of_order'], {\n displayName: 'Room Status',\n description: 'Current status of the room',\n })\n\n addCreatedAtField(roomEntity, { description: 'When the room was created' })\n addUpdatedAtField(roomEntity, { description: 'When the room was last updated' })\n\n // Amenity Entity\n const amenityEntity = propertyModel.addEntity({\n info: {\n name: 'amenity',\n displayName: 'Amenity',\n description: 'Hotel amenities and services',\n },\n })\n\n addIdField(amenityEntity, { displayName: 'Amenity ID', description: 'Unique identifier for the amenity' })\n\n addNameField(amenityEntity, { description: 'Amenity name and description' })\n\n addDescriptionField(amenityEntity, { description: 'Amenity description and features' })\n\n amenityEntity.addProperty({\n info: { name: 'amenity_type', displayName: 'Amenity Type', description: 'Type of amenity' },\n type: 'string',\n required: true,\n schema: {\n enum: ['room', 'hotel', 'recreation', 'business', 'wellness'],\n },\n })\n\n amenityEntity.addProperty({\n info: { name: 'location', displayName: 'Location', description: 'Amenity location' },\n type: 'string',\n required: true,\n })\n\n addCustomStatusField(amenityEntity, ['available', 'maintenance', 'closed'], {\n displayName: 'Amenity Status',\n description: 'Current status of the amenity',\n })\n\n addCreatedAtField(amenityEntity, { description: 'When the amenity was created' })\n\n // Housekeeping Task Entity\n const housekeepingTaskEntity = propertyModel.addEntity({\n info: {\n name: 'housekeeping_task',\n displayName: 'Housekeeping Task',\n description: 'Housekeeping tasks and room cleaning',\n },\n })\n\n addIdField(housekeepingTaskEntity, {\n displayName: 'Task ID',\n description: 'Unique identifier for the housekeeping task',\n })\n\n addNameField(housekeepingTaskEntity, { description: 'Task name and description' })\n\n housekeepingTaskEntity.addProperty({\n info: { name: 'task_type', displayName: 'Task Type', description: 'Type of housekeeping task' },\n type: 'string',\n required: true,\n schema: {\n enum: ['daily_cleaning', 'turnover', 'deep_cleaning', 'maintenance', 'inspection'],\n },\n })\n\n housekeepingTaskEntity.addProperty({\n info: { name: 'assigned_to', displayName: 'Assigned To', description: 'Staff member assigned to task' },\n type: 'string',\n required: true,\n })\n\n housekeepingTaskEntity.addProperty({\n info: { name: 'scheduled_time', displayName: 'Scheduled Time', description: 'Scheduled task time' },\n type: 'datetime',\n required: true,\n })\n\n addCustomStatusField(housekeepingTaskEntity, ['pending', 'in_progress', 'completed', 'cancelled'], {\n displayName: 'Task Status',\n description: 'Current status of the housekeeping task',\n })\n\n addCreatedAtField(housekeepingTaskEntity, { description: 'When the task was created' })\n\n // HousekeepingTask-Room Association (Many-to-One)\n housekeepingTaskEntity.addAssociation(\n { key: roomEntity.key },\n {\n info: { name: 'room', displayName: 'Room', description: 'Room for this housekeeping task' },\n required: true,\n multiple: false,\n }\n )\n\n // Reservation-Room Association (Many-to-One)\n reservationEntity.addAssociation(\n { key: roomEntity.key },\n {\n info: { name: 'room', displayName: 'Room', description: 'Room for this reservation' },\n required: true,\n multiple: false,\n }\n )\n\n //\n // 4. SERVICE MANAGEMENT NAMESPACE\n //\n const serviceManagement = domain.addNamespace({\n info: {\n name: 'ServiceManagement',\n displayName: 'Service Management',\n description: 'Concierge, room service, and activities management',\n },\n })\n\n // Service Model\n const serviceModel = serviceManagement.addModel({\n info: {\n name: 'Services',\n displayName: 'Service Management',\n description: 'Guest services and activities',\n },\n })\n\n // Service Request Entity\n const serviceRequestEntity = serviceModel.addEntity({\n info: {\n name: 'service_request',\n displayName: 'Service Request',\n description: 'Guest service requests and orders',\n },\n })\n\n addIdField(serviceRequestEntity, {\n displayName: 'Request ID',\n description: 'Unique identifier for the service request',\n })\n\n addNameField(serviceRequestEntity, { description: 'Service request description' })\n\n serviceRequestEntity.addProperty({\n info: { name: 'service_type', displayName: 'Service Type', description: 'Type of service requested' },\n type: 'string',\n required: true,\n schema: {\n enum: ['concierge', 'room_service', 'housekeeping', 'maintenance', 'transportation'],\n },\n })\n\n serviceRequestEntity.addProperty({\n info: { name: 'priority', displayName: 'Priority', description: 'Request priority level' },\n type: 'string',\n required: true,\n schema: {\n enum: ['low', 'medium', 'high', 'urgent'],\n },\n })\n\n serviceRequestEntity.addProperty({\n info: { name: 'requested_time', displayName: 'Requested Time', description: 'Time service was requested' },\n type: 'datetime',\n required: true,\n })\n\n addCustomStatusField(serviceRequestEntity, ['pending', 'in_progress', 'completed', 'cancelled'], {\n displayName: 'Request Status',\n description: 'Current status of the service request',\n })\n\n addCreatedAtField(serviceRequestEntity, { description: 'When the service request was created' })\n\n // ServiceRequest-Guest Association (Many-to-One)\n serviceRequestEntity.addAssociation(\n { key: guestEntity.key },\n {\n info: { name: 'guest', displayName: 'Guest', description: 'Guest for this service request' },\n required: true,\n multiple: false,\n }\n )\n\n // ServiceRequest-Room Association (Many-to-One)\n serviceRequestEntity.addAssociation(\n { key: roomEntity.key },\n {\n info: { name: 'room', displayName: 'Room', description: 'Room for this service request' },\n required: true,\n multiple: false,\n }\n )\n\n // Activity Entity\n const activityEntity = serviceModel.addEntity({\n info: {\n name: 'activity',\n displayName: 'Activity',\n description: 'Hotel activities and events',\n },\n })\n\n addIdField(activityEntity, { displayName: 'Activity ID', description: 'Unique identifier for the activity' })\n\n addNameField(activityEntity, { description: 'Activity name and description' })\n\n addDescriptionField(activityEntity, { description: 'Activity description and details' })\n\n activityEntity.addProperty({\n info: { name: 'activity_type', displayName: 'Activity Type', description: 'Type of activity' },\n type: 'string',\n required: true,\n schema: {\n enum: ['recreation', 'entertainment', 'wellness', 'business', 'cultural'],\n },\n })\n\n activityEntity.addProperty({\n info: { name: 'start_time', displayName: 'Start Time', description: 'Activity start time' },\n type: 'datetime',\n required: true,\n })\n\n activityEntity.addProperty({\n info: { name: 'end_time', displayName: 'End Time', description: 'Activity end time' },\n type: 'datetime',\n required: true,\n })\n\n activityEntity.addProperty({\n info: { name: 'capacity', displayName: 'Capacity', description: 'Activity capacity' },\n type: 'number',\n required: true,\n schema: {\n minimum: 1,\n },\n })\n\n addCustomStatusField(activityEntity, ['scheduled', 'in_progress', 'completed', 'cancelled'], {\n displayName: 'Activity Status',\n description: 'Current status of the activity',\n })\n\n addCreatedAtField(activityEntity, { description: 'When the activity was created' })\n\n //\n // 5. REVENUE MANAGEMENT NAMESPACE\n //\n const revenueManagement = domain.addNamespace({\n info: {\n name: 'RevenueManagement',\n displayName: 'Revenue Management',\n description: 'Pricing, promotions, and revenue optimization',\n },\n })\n\n // Revenue Model\n const revenueModel = revenueManagement.addModel({\n info: {\n name: 'Revenue',\n displayName: 'Revenue Management',\n description: 'Revenue optimization and pricing',\n },\n })\n\n // Promotion Entity\n const promotionEntity = revenueModel.addEntity({\n info: {\n name: 'promotion',\n displayName: 'Promotion',\n description: 'Hotel promotions and special offers',\n },\n })\n\n addIdField(promotionEntity, { displayName: 'Promotion ID', description: 'Unique identifier for the promotion' })\n\n addNameField(promotionEntity, { description: 'Promotion name and description' })\n\n addDescriptionField(promotionEntity, { description: 'Promotion details and terms' })\n\n promotionEntity.addProperty({\n info: { name: 'promotion_type', displayName: 'Promotion Type', description: 'Type of promotion' },\n type: 'string',\n required: true,\n schema: {\n enum: ['discount', 'package', 'loyalty', 'seasonal', 'corporate'],\n },\n })\n\n promotionEntity.addProperty({\n info: { name: 'start_date', displayName: 'Start Date', description: 'Promotion start date' },\n type: 'date',\n required: true,\n })\n\n promotionEntity.addProperty({\n info: { name: 'end_date', displayName: 'End Date', description: 'Promotion end date' },\n type: 'date',\n required: true,\n })\n\n promotionEntity.addProperty({\n info: { name: 'discount_percentage', displayName: 'Discount Percentage', description: 'Discount percentage' },\n type: 'number',\n required: false,\n schema: {\n minimum: 0,\n maximum: 100,\n },\n })\n\n addCustomStatusField(promotionEntity, ['active', 'inactive', 'expired'], {\n displayName: 'Promotion Status',\n description: 'Current status of the promotion',\n })\n\n addCreatedAtField(promotionEntity, { description: 'When the promotion was created' })\n\n // Revenue Report Entity\n const revenueReportEntity = revenueModel.addEntity({\n info: {\n name: 'revenue_report',\n displayName: 'Revenue Report',\n description: 'Revenue reports and analytics',\n },\n })\n\n addIdField(revenueReportEntity, {\n displayName: 'Report ID',\n description: 'Unique identifier for the revenue report',\n })\n\n addNameField(revenueReportEntity, { description: 'Report name and description' })\n\n revenueReportEntity.addProperty({\n info: { name: 'report_type', displayName: 'Report Type', description: 'Type of revenue report' },\n type: 'string',\n required: true,\n schema: {\n enum: ['daily', 'weekly', 'monthly', 'quarterly', 'annual'],\n },\n })\n\n revenueReportEntity.addProperty({\n info: { name: 'report_date', displayName: 'Report Date', description: 'Report date' },\n type: 'date',\n required: true,\n })\n\n addCurrencyAmountField(revenueReportEntity, 'total_revenue', 'Total Revenue', {\n description: 'Total revenue for the period',\n })\n\n addCurrencyAmountField(revenueReportEntity, 'average_daily_rate', 'Average Daily Rate', {\n description: 'Average daily room rate',\n })\n\n addCurrencyAmountField(revenueReportEntity, 'occupancy_rate', 'Occupancy Rate', {\n description: 'Room occupancy rate percentage',\n })\n\n addCustomStatusField(revenueReportEntity, ['draft', 'final', 'archived'], {\n displayName: 'Report Status',\n description: 'Current status of the revenue report',\n })\n\n addCreatedAtField(revenueReportEntity, { description: 'When the revenue report was created' })\n\n //\n // 6. OPERATIONS NAMESPACE\n //\n const operations = domain.addNamespace({\n info: {\n name: 'Operations',\n displayName: 'Operations',\n description: 'Staff scheduling, maintenance, and security',\n },\n })\n\n // Operations Model\n const operationsModel = operations.addModel({\n info: {\n name: 'Operations',\n displayName: 'Operations Management',\n description: 'Hotel operations and staff management',\n },\n })\n\n // Staff Entity\n const staffEntity = operationsModel.addEntity({\n info: {\n name: 'staff',\n displayName: 'Staff',\n description: 'Hotel staff and employees',\n },\n })\n\n addIdField(staffEntity, { displayName: 'Staff ID', description: 'Unique identifier for the staff member' })\n\n addNameField(staffEntity, { description: 'Staff name and title' })\n\n addEmailField(staffEntity, { description: 'Staff email address' })\n\n addPhoneField(staffEntity, { description: 'Staff phone number' })\n\n staffEntity.addProperty({\n info: { name: 'department', displayName: 'Department', description: 'Staff department' },\n type: 'string',\n required: true,\n schema: {\n enum: ['front_office', 'housekeeping', 'food_beverage', 'maintenance', 'security', 'management'],\n },\n })\n\n staffEntity.addProperty({\n info: { name: 'position', displayName: 'Position', description: 'Staff position' },\n type: 'string',\n required: true,\n })\n\n staffEntity.addProperty({\n info: { name: 'hire_date', displayName: 'Hire Date', description: 'Staff hire date' },\n type: 'date',\n required: true,\n })\n\n addCustomStatusField(staffEntity, ['active', 'inactive', 'on_leave', 'terminated'], {\n displayName: 'Staff Status',\n description: 'Current status of the staff member',\n })\n\n addCreatedAtField(staffEntity, { description: 'When the staff record was created' })\n addUpdatedAtField(staffEntity, { description: 'When the staff record was last updated' })\n\n // Staff Schedule Entity\n const staffScheduleEntity = operationsModel.addEntity({\n info: {\n name: 'staff_schedule',\n displayName: 'Staff Schedule',\n description: 'Staff scheduling and shift management',\n },\n })\n\n addIdField(staffScheduleEntity, {\n displayName: 'Schedule ID',\n description: 'Unique identifier for the staff schedule',\n })\n\n staffScheduleEntity.addProperty({\n info: { name: 'shift_type', displayName: 'Shift Type', description: 'Type of work shift' },\n type: 'string',\n required: true,\n schema: {\n enum: ['morning', 'afternoon', 'night', 'split', 'overtime'],\n },\n })\n\n staffScheduleEntity.addProperty({\n info: { name: 'start_time', displayName: 'Start Time', description: 'Shift start time' },\n type: 'datetime',\n required: true,\n })\n\n staffScheduleEntity.addProperty({\n info: { name: 'end_time', displayName: 'End Time', description: 'Shift end time' },\n type: 'datetime',\n required: true,\n })\n\n addCustomStatusField(staffScheduleEntity, ['scheduled', 'in_progress', 'completed', 'cancelled'], {\n displayName: 'Schedule Status',\n description: 'Current status of the staff schedule',\n })\n\n addCreatedAtField(staffScheduleEntity, { description: 'When the schedule was created' })\n\n // StaffSchedule-Staff Association (Many-to-One)\n staffScheduleEntity.addAssociation(\n { key: staffEntity.key },\n {\n info: { name: 'staff', displayName: 'Staff', description: 'Staff member for this schedule' },\n required: true,\n multiple: false,\n }\n )\n\n // Maintenance Request Entity\n const maintenanceRequestEntity = operationsModel.addEntity({\n info: {\n name: 'maintenance_request',\n displayName: 'Maintenance Request',\n description: 'Property maintenance requests',\n },\n })\n\n addIdField(maintenanceRequestEntity, {\n displayName: 'Maintenance ID',\n description: 'Unique identifier for the maintenance request',\n })\n\n addNameField(maintenanceRequestEntity, { description: 'Maintenance request description' })\n\n maintenanceRequestEntity.addProperty({\n info: { name: 'maintenance_type', displayName: 'Maintenance Type', description: 'Type of maintenance' },\n type: 'string',\n required: true,\n schema: {\n enum: ['preventive', 'corrective', 'emergency', 'inspection'],\n },\n })\n\n maintenanceRequestEntity.addProperty({\n info: { name: 'priority', displayName: 'Priority', description: 'Maintenance priority level' },\n type: 'string',\n required: true,\n schema: {\n enum: ['low', 'medium', 'high', 'critical'],\n },\n })\n\n addCustomStatusField(maintenanceRequestEntity, ['pending', 'in_progress', 'completed', 'cancelled'], {\n displayName: 'Maintenance Status',\n description: 'Current status of the maintenance request',\n })\n\n addCreatedAtField(maintenanceRequestEntity, { description: 'When the maintenance request was created' })\n\n // MaintenanceRequest-Room Association (Many-to-One)\n maintenanceRequestEntity.addAssociation(\n { key: roomEntity.key },\n {\n info: { name: 'room', displayName: 'Room', description: 'Room for this maintenance request' },\n required: false,\n multiple: false,\n }\n )\n\n return domain\n}\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Business Services Vertical Templates
3
+ *
4
+ * This vertical includes templates for:
5
+ * - E-commerce platforms
6
+ * - Financial services
7
+ * - Legal services
8
+ */
9
+ export { default as createEcommerceDomain } from './ecommerce-domain.js';
10
+ export { default as createFinancialServicesDomain } from './financial-services-domain.js';
11
+ export { default as createHospitalityDomain } from './hospitality-domain.js';
12
+ export { default as createLegalServicesDomain } from './legal-services-domain.js';
13
+ export declare const businessServicesTemplates: {
14
+ id: string;
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ subcategory: string;
19
+ tags: string[];
20
+ }[];
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modeling/templates/verticals/business-services/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAGjF,eAAO,MAAM,yBAAyB;;;;;;;GAsCrC,CAAA"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Business Services Vertical Templates
3
+ *
4
+ * This vertical includes templates for:
5
+ * - E-commerce platforms
6
+ * - Financial services
7
+ * - Legal services
8
+ */
9
+ export { default as createEcommerceDomain } from './ecommerce-domain.js';
10
+ export { default as createFinancialServicesDomain } from './financial-services-domain.js';
11
+ export { default as createHospitalityDomain } from './hospitality-domain.js';
12
+ export { default as createLegalServicesDomain } from './legal-services-domain.js';
13
+ // Template metadata for UI presentation
14
+ export const businessServicesTemplates = [
15
+ {
16
+ id: 'ecommerce-platform',
17
+ name: 'E-Commerce Platform',
18
+ description: 'Complete e-commerce data domain with product management, orders, customers, and payments',
19
+ category: 'Business Services',
20
+ subcategory: 'E-commerce',
21
+ tags: ['ecommerce', 'retail', 'products', 'orders', 'payments'],
22
+ },
23
+ {
24
+ id: 'financial-services-platform',
25
+ name: 'Financial Services Platform',
26
+ description: 'Comprehensive financial services data domain with accounts, transactions, investments, and compliance',
27
+ category: 'Business Services',
28
+ subcategory: 'Financial Services',
29
+ tags: ['finance', 'banking', 'investments', 'transactions', 'compliance'],
30
+ },
31
+ {
32
+ id: 'hospitality-platform',
33
+ name: 'Hospitality Platform',
34
+ description: 'Comprehensive hospitality data domain with guest management, reservations, property management, ' +
35
+ 'services, revenue optimization, and operations',
36
+ category: 'Business Services',
37
+ subcategory: 'Hospitality',
38
+ tags: ['hospitality', 'hotel', 'guest-management', 'reservations', 'revenue-management'],
39
+ },
40
+ {
41
+ id: 'legal-services-platform',
42
+ name: 'Legal Services Platform',
43
+ description: 'Comprehensive legal services data domain with case management, client relationships, ' +
44
+ 'document management, time tracking, calendar management, and billing',
45
+ category: 'Business Services',
46
+ subcategory: 'Legal Services',
47
+ tags: ['legal', 'law', 'case-management', 'billing', 'document-management'],
48
+ },
49
+ ];
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modeling/templates/verticals/business-services/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAEjF,wCAAwC;AACxC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,0FAA0F;QACvG,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;KAChE;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,uGAAuG;QACzG,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,CAAC;KAC1E;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,kGAAkG;YAClG,gDAAgD;QAClD,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,CAAC;KACzF;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,uFAAuF;YACvF,sEAAsE;QACxE,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,qBAAqB,CAAC;KAC5E;CACF,CAAA","sourcesContent":["/**\n * Business Services Vertical Templates\n *\n * This vertical includes templates for:\n * - E-commerce platforms\n * - Financial services\n * - Legal services\n */\n\nexport { default as createEcommerceDomain } from './ecommerce-domain.js'\nexport { default as createFinancialServicesDomain } from './financial-services-domain.js'\nexport { default as createHospitalityDomain } from './hospitality-domain.js'\nexport { default as createLegalServicesDomain } from './legal-services-domain.js'\n\n// Template metadata for UI presentation\nexport const businessServicesTemplates = [\n {\n id: 'ecommerce-platform',\n name: 'E-Commerce Platform',\n description: 'Complete e-commerce data domain with product management, orders, customers, and payments',\n category: 'Business Services',\n subcategory: 'E-commerce',\n tags: ['ecommerce', 'retail', 'products', 'orders', 'payments'],\n },\n {\n id: 'financial-services-platform',\n name: 'Financial Services Platform',\n description:\n 'Comprehensive financial services data domain with accounts, transactions, investments, and compliance',\n category: 'Business Services',\n subcategory: 'Financial Services',\n tags: ['finance', 'banking', 'investments', 'transactions', 'compliance'],\n },\n {\n id: 'hospitality-platform',\n name: 'Hospitality Platform',\n description:\n 'Comprehensive hospitality data domain with guest management, reservations, property management, ' +\n 'services, revenue optimization, and operations',\n category: 'Business Services',\n subcategory: 'Hospitality',\n tags: ['hospitality', 'hotel', 'guest-management', 'reservations', 'revenue-management'],\n },\n {\n id: 'legal-services-platform',\n name: 'Legal Services Platform',\n description:\n 'Comprehensive legal services data domain with case management, client relationships, ' +\n 'document management, time tracking, calendar management, and billing',\n category: 'Business Services',\n subcategory: 'Legal Services',\n tags: ['legal', 'law', 'case-management', 'billing', 'document-management'],\n },\n]\n"]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Legal Services Domain Template
3
+ *
4
+ * A comprehensive legal services data domain following domain-driven design principles.
5
+ * This template covers the complete legal practice lifecycle including:
6
+ *
7
+ * - Case Management: Cases, matters, documents, timelines
8
+ * - Client Management: Clients, contacts, billing relationships
9
+ * - Document Management: Contracts, pleadings, evidence
10
+ * - Time Tracking: Billable hours, time entries, rates
11
+ * - Calendar Management: Court dates, deadlines, appointments
12
+ * - Billing & Accounting: Invoicing, payments, trust accounts
13
+ *
14
+ * Key Features:
15
+ * - Complete case lifecycle management
16
+ * - Client relationship management
17
+ * - Document and evidence tracking
18
+ * - Time and billing management
19
+ * - Calendar and deadline management
20
+ * - Trust account management
21
+ * - Legal practice operations
22
+ *
23
+ * Use Cases:
24
+ * - Law firms and legal practices
25
+ * - Legal case management
26
+ * - Client relationship management
27
+ * - Document management
28
+ * - Time and billing tracking
29
+ * - Legal calendar management
30
+ */
31
+ import { DataDomain } from '../../../DataDomain.js';
32
+ import type { CreateTemplateOptions } from '../../types.js';
33
+ /**
34
+ * Creates a comprehensive legal services data domain following domain-driven design principles.
35
+ *
36
+ * This function demonstrates the proper hierarchy and organization for a legal services platform:
37
+ * 1. Creates the root DataDomain for the legal services platform
38
+ * 2. Organizes functionality into logical namespaces (Case Management, Client Management, etc.)
39
+ * 3. Groups related entities into models within each namespace
40
+ * 4. Defines entities with proper semantic annotations for legal workflows
41
+ * 5. Establishes associations with appropriate cardinality for legal relationships
42
+ *
43
+ * @returns A fully configured DataDomain with all legal services entities and relationships
44
+ */
45
+ export default function createLegalServicesDomain(options?: CreateTemplateOptions): DataDomain;
46
+ //# sourceMappingURL=legal-services-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legal-services-domain.d.ts","sourceRoot":"","sources":["../../../../../../src/modeling/templates/verticals/business-services/legal-services-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAYnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAc3D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,OAAO,GAAE,qBAA0B,GAAG,UAAU,CA69BjG"}