@eventcatalog/create-eventcatalog 4.3.2 → 4.3.4-beta.0

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 (466) hide show
  1. package/dist/index.js +8 -4
  2. package/package.json +1 -1
  3. package/templates/amazon-api-gateway/README-template.md +45 -18
  4. package/templates/asyncapi/README-template.md +39 -31
  5. package/templates/confluent/README-template.md +45 -18
  6. package/templates/default/README-template.md +40 -31
  7. package/templates/default/_data/visualizer-layouts/domains-systems-context/catalog/1.0.0.json +31 -0
  8. package/templates/default/_data/visualizer-layouts/domains-systems-context/customer/1.0.0.json +23 -0
  9. package/templates/default/_data/visualizer-layouts/system-context-map/system-context-map/1.0.0.json +91 -0
  10. package/templates/default/_data/visualizer-layouts/systems-context/customer-management-system/1.0.0.json +23 -0
  11. package/templates/default/components/footer.astro +0 -1
  12. package/templates/default/domains/Catalog/entities/category/index.mdx +36 -0
  13. package/templates/default/domains/Catalog/entities/product/index.mdx +37 -0
  14. package/templates/default/domains/Catalog/entities/product-variant/index.mdx +35 -0
  15. package/templates/default/domains/Catalog/entities/search-document/index.mdx +35 -0
  16. package/templates/default/domains/Catalog/index.mdx +65 -0
  17. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-001-use-transactional-outbox/index.mdx +43 -0
  18. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-002-postgres-as-system-of-record/index.mdx +40 -0
  19. package/templates/default/domains/Catalog/systems/product-catalog-system/adrs/adr-003-offload-async-work-to-worker/index.mdx +41 -0
  20. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/index.mdx +45 -0
  21. package/templates/default/domains/Catalog/systems/product-catalog-system/containers/product-database/schema.sql +33 -0
  22. package/templates/default/domains/Catalog/systems/product-catalog-system/index.mdx +72 -0
  23. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/index.mdx +32 -0
  24. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/CreateProduct/schema.json +41 -0
  25. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/index.mdx +32 -0
  26. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/DeleteProduct/schema.json +19 -0
  27. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/index.mdx +32 -0
  28. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/commands/UpdateProduct/schema.json +42 -0
  29. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/index.mdx +29 -0
  30. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductCreated/schema.json +62 -0
  31. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/index.mdx +29 -0
  32. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductDeleted/schema.json +29 -0
  33. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/index.mdx +29 -0
  34. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/events/ProductUpdated/schema.json +55 -0
  35. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/index.mdx +69 -0
  36. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/openapi.yml +219 -0
  37. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/index.mdx +32 -0
  38. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductAPI/queries/GetProduct/schema.json +56 -0
  39. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductSearchPublisher/index.mdx +56 -0
  40. package/templates/default/domains/Catalog/systems/product-catalog-system/services/ProductWorker/index.mdx +48 -0
  41. package/templates/default/domains/Catalog/systems/search-system/containers/search-index/index.mdx +39 -0
  42. package/templates/default/domains/Catalog/systems/search-system/flows/ProductSearchIndexing/index.mdx +130 -0
  43. package/templates/default/domains/Catalog/systems/search-system/index.mdx +66 -0
  44. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/index.mdx +44 -0
  45. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/openapi.yml +138 -0
  46. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/index.mdx +32 -0
  47. package/templates/default/domains/Catalog/systems/search-system/services/SearchAPI/queries/SearchProducts/schema.json +108 -0
  48. package/templates/default/domains/Catalog/systems/search-system/services/SearchIndexer/index.mdx +54 -0
  49. package/templates/default/domains/Catalog/ubiquitous-language.mdx +54 -0
  50. package/templates/default/domains/Customer/entities/authentication-session/index.mdx +35 -0
  51. package/templates/default/domains/Customer/entities/customer-account/index.mdx +36 -0
  52. package/templates/default/domains/Customer/entities/customer-address/index.mdx +35 -0
  53. package/templates/default/domains/Customer/entities/customer-profile/index.mdx +33 -0
  54. package/templates/default/domains/Customer/index.mdx +67 -0
  55. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/index.mdx +43 -0
  56. package/templates/default/domains/Customer/systems/customer-management-system/containers/customer-database/schema.sql +14 -0
  57. package/templates/default/domains/Customer/systems/customer-management-system/index.mdx +60 -0
  58. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/index.mdx +32 -0
  59. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/RegisterCustomer/schema.json +24 -0
  60. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/index.mdx +32 -0
  61. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/commands/UpdateCustomer/schema.json +29 -0
  62. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/index.mdx +29 -0
  63. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerRegistered/schema.json +45 -0
  64. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/index.mdx +29 -0
  65. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/events/CustomerUpdated/schema.json +42 -0
  66. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/index.mdx +72 -0
  67. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/openapi.yml +164 -0
  68. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/index.mdx +32 -0
  69. package/templates/default/domains/Customer/systems/customer-management-system/services/CustomerAPI/queries/GetCustomer/schema.json +47 -0
  70. package/templates/default/domains/Customer/systems/identity-provider/containers/user-directory/index.mdx +36 -0
  71. package/templates/default/domains/Customer/systems/identity-provider/index.mdx +54 -0
  72. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/index.mdx +32 -0
  73. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/commands/AuthenticateCustomer/schema.json +41 -0
  74. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/index.mdx +29 -0
  75. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/events/CustomerAuthenticated/schema.json +33 -0
  76. package/templates/default/domains/Customer/systems/identity-provider/services/OAuthAPI/index.mdx +59 -0
  77. package/templates/default/domains/Customer/ubiquitous-language.mdx +48 -0
  78. package/templates/default/domains/Fulfilment/entities/inventory-reservation/index.mdx +39 -0
  79. package/templates/default/domains/Fulfilment/entities/shipment/index.mdx +36 -0
  80. package/templates/default/domains/Fulfilment/entities/stock-item/index.mdx +36 -0
  81. package/templates/default/domains/Fulfilment/entities/warehouse-pick/index.mdx +35 -0
  82. package/templates/default/domains/Fulfilment/index.mdx +83 -0
  83. package/templates/default/domains/Fulfilment/systems/carrier/index.mdx +52 -0
  84. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierShippingAPI/index.mdx +40 -0
  85. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/index.mdx +29 -0
  86. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentCreated/schema.json +15 -0
  87. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/index.mdx +29 -0
  88. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentDelivered/schema.json +13 -0
  89. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/index.mdx +29 -0
  90. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/events/ShipmentFailed/schema.json +16 -0
  91. package/templates/default/domains/Fulfilment/systems/carrier/services/CarrierTrackingAPI/index.mdx +44 -0
  92. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/index.mdx +35 -0
  93. package/templates/default/domains/Fulfilment/systems/inventory-system/containers/inventory-database/schema.sql +26 -0
  94. package/templates/default/domains/Fulfilment/systems/inventory-system/index.mdx +49 -0
  95. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/index.mdx +32 -0
  96. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/commands/ReleaseInventory/schema.json +14 -0
  97. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/index.mdx +29 -0
  98. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryReserved/schema.json +24 -0
  99. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/index.mdx +29 -0
  100. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/events/InventoryUnavailable/schema.json +24 -0
  101. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/index.mdx +67 -0
  102. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/index.mdx +32 -0
  103. package/templates/default/domains/Fulfilment/systems/inventory-system/services/InventoryService/queries/GetStockLevel/schema.json +25 -0
  104. package/templates/default/domains/Fulfilment/systems/shipping-system/index.mdx +47 -0
  105. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/index.mdx +32 -0
  106. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/commands/CreateShipment/schema.json +26 -0
  107. package/templates/default/domains/Fulfilment/systems/shipping-system/services/CarrierAdapter/index.mdx +40 -0
  108. package/templates/default/domains/Fulfilment/systems/shipping-system/services/ShippingAPI/index.mdx +40 -0
  109. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/index.mdx +35 -0
  110. package/templates/default/domains/Fulfilment/systems/warehouse-system/containers/warehouse-database/schema.sql +21 -0
  111. package/templates/default/domains/Fulfilment/systems/warehouse-system/index.mdx +53 -0
  112. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/index.mdx +29 -0
  113. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/events/OrderPacked/schema.json +13 -0
  114. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/PickingWorker/index.mdx +44 -0
  115. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/index.mdx +29 -0
  116. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/events/OrderReadyForShipping/schema.json +23 -0
  117. package/templates/default/domains/Fulfilment/systems/warehouse-system/services/WarehouseService/index.mdx +53 -0
  118. package/templates/default/domains/Fulfilment/ubiquitous-language.mdx +44 -0
  119. package/templates/default/domains/Ordering/entities/checkout-session/index.mdx +36 -0
  120. package/templates/default/domains/Ordering/entities/order/index.mdx +36 -0
  121. package/templates/default/domains/Ordering/entities/order-line/index.mdx +38 -0
  122. package/templates/default/domains/Ordering/entities/order-status-history/index.mdx +35 -0
  123. package/templates/default/domains/Ordering/flows/PlaceAnOrder/index.mdx +158 -0
  124. package/templates/default/domains/Ordering/index.mdx +70 -0
  125. package/templates/default/domains/Ordering/systems/checkout-system/flows/CheckoutSaga/index.mdx +101 -0
  126. package/templates/default/domains/Ordering/systems/checkout-system/index.mdx +57 -0
  127. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutAPI/index.mdx +53 -0
  128. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/index.mdx +32 -0
  129. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/AuthorizePayment/schema.json +29 -0
  130. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/index.mdx +32 -0
  131. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/commands/ReserveInventory/schema.json +37 -0
  132. package/templates/default/domains/Ordering/systems/checkout-system/services/CheckoutOrchestrator/index.mdx +59 -0
  133. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/index.mdx +39 -0
  134. package/templates/default/domains/Ordering/systems/order-management-system/containers/order-database/schema.sql +24 -0
  135. package/templates/default/domains/Ordering/systems/order-management-system/flows/OrderCancellation/index.mdx +105 -0
  136. package/templates/default/domains/Ordering/systems/order-management-system/index.mdx +53 -0
  137. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/asyncapi.yml +233 -0
  138. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/index.mdx +32 -0
  139. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CancelOrder/schema.json +19 -0
  140. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/index.mdx +32 -0
  141. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/commands/CreateOrder/schema.json +55 -0
  142. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/index.mdx +29 -0
  143. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCancelled/schema.json +25 -0
  144. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/index.mdx +29 -0
  145. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCompleted/schema.json +21 -0
  146. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/index.mdx +29 -0
  147. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/events/OrderCreated/schema.json +29 -0
  148. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/index.mdx +74 -0
  149. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/index.mdx +32 -0
  150. package/templates/default/domains/Ordering/systems/order-management-system/services/OrderService/queries/GetOrder/schema.json +64 -0
  151. package/templates/default/domains/Ordering/ubiquitous-language.mdx +53 -0
  152. package/templates/default/domains/Payments/entities/fraud-check/index.mdx +39 -0
  153. package/templates/default/domains/Payments/entities/payment/index.mdx +36 -0
  154. package/templates/default/domains/Payments/entities/payment-authorization/index.mdx +35 -0
  155. package/templates/default/domains/Payments/entities/refund/index.mdx +36 -0
  156. package/templates/default/domains/Payments/index.mdx +69 -0
  157. package/templates/default/domains/Payments/systems/fraud-detection/index.mdx +49 -0
  158. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/index.mdx +29 -0
  159. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckFailed/schema.json +22 -0
  160. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/index.mdx +29 -0
  161. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/events/FraudCheckPassed/schema.json +18 -0
  162. package/templates/default/domains/Payments/systems/fraud-detection/services/FraudAPI/index.mdx +51 -0
  163. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/index.mdx +39 -0
  164. package/templates/default/domains/Payments/systems/payment-processing-system/containers/payment-database/schema.sql +25 -0
  165. package/templates/default/domains/Payments/systems/payment-processing-system/index.mdx +53 -0
  166. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentAPI/index.mdx +51 -0
  167. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/index.mdx +29 -0
  168. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/PaymentRequested/schema.json +19 -0
  169. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/index.mdx +29 -0
  170. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/events/RefundRequested/schema.json +20 -0
  171. package/templates/default/domains/Payments/systems/payment-processing-system/services/PaymentWorker/index.mdx +66 -0
  172. package/templates/default/domains/Payments/systems/stripe/index.mdx +52 -0
  173. package/templates/default/domains/Payments/systems/stripe/services/StripePaymentsAPI/index.mdx +42 -0
  174. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/index.mdx +29 -0
  175. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentFailed/schema.json +16 -0
  176. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/index.mdx +29 -0
  177. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/PaymentSucceeded/schema.json +15 -0
  178. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/index.mdx +29 -0
  179. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/events/RefundProcessed/schema.json +14 -0
  180. package/templates/default/domains/Payments/systems/stripe/services/StripeWebhookEndpoint/index.mdx +44 -0
  181. package/templates/default/domains/Payments/ubiquitous-language.mdx +41 -0
  182. package/templates/default/domains/Reviews/asyncapi.yml +181 -0
  183. package/templates/default/domains/Reviews/containers/rating-cache/index.mdx +29 -0
  184. package/templates/default/domains/Reviews/containers/review-database/index.mdx +33 -0
  185. package/templates/default/domains/Reviews/entities/moderation-decision/index.mdx +38 -0
  186. package/templates/default/domains/Reviews/entities/rating-summary/index.mdx +35 -0
  187. package/templates/default/domains/Reviews/entities/review/index.mdx +63 -0
  188. package/templates/default/domains/Reviews/entities/review-flag/index.mdx +35 -0
  189. package/templates/default/domains/Reviews/entities/review-vote/index.mdx +38 -0
  190. package/templates/default/domains/Reviews/flows/review-submission/index.mdx +120 -0
  191. package/templates/default/domains/Reviews/index.mdx +93 -0
  192. package/templates/default/domains/Reviews/openapi.yml +209 -0
  193. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/index.mdx +29 -0
  194. package/templates/default/domains/Reviews/services/RatingAggregator/events/rating-updated/schema.json +12 -0
  195. package/templates/default/domains/Reviews/services/RatingAggregator/index.mdx +47 -0
  196. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/index.mdx +29 -0
  197. package/templates/default/domains/Reviews/services/ReviewAPI/commands/flag-review/schema.json +13 -0
  198. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/index.mdx +29 -0
  199. package/templates/default/domains/Reviews/services/ReviewAPI/commands/submit-review/schema.json +15 -0
  200. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/index.mdx +29 -0
  201. package/templates/default/domains/Reviews/services/ReviewAPI/commands/vote-review-helpful/schema.json +12 -0
  202. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/index.mdx +29 -0
  203. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-flagged/schema.json +13 -0
  204. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/index.mdx +29 -0
  205. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-helpful-voted/schema.json +12 -0
  206. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/index.mdx +29 -0
  207. package/templates/default/domains/Reviews/services/ReviewAPI/events/review-submitted/schema.json +15 -0
  208. package/templates/default/domains/Reviews/services/ReviewAPI/index.mdx +58 -0
  209. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/index.mdx +24 -0
  210. package/templates/default/domains/Reviews/services/ReviewAPI/queries/get-product-reviews/schema.json +12 -0
  211. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/index.mdx +29 -0
  212. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-published/schema.json +13 -0
  213. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/index.mdx +29 -0
  214. package/templates/default/domains/Reviews/services/ReviewModerationWorker/events/review-rejected/schema.json +12 -0
  215. package/templates/default/domains/Reviews/services/ReviewModerationWorker/index.mdx +50 -0
  216. package/templates/default/domains/Shopping/entities/cart/index.mdx +40 -0
  217. package/templates/default/domains/Shopping/entities/cart-item/index.mdx +38 -0
  218. package/templates/default/domains/Shopping/entities/discount/index.mdx +35 -0
  219. package/templates/default/domains/Shopping/entities/promotion/index.mdx +40 -0
  220. package/templates/default/domains/Shopping/index.mdx +67 -0
  221. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/index.mdx +39 -0
  222. package/templates/default/domains/Shopping/systems/cart-system/containers/cart-database/schema.sql +22 -0
  223. package/templates/default/domains/Shopping/systems/cart-system/index.mdx +53 -0
  224. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/index.mdx +32 -0
  225. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/AddItemToCart/schema.json +25 -0
  226. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/index.mdx +32 -0
  227. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/CheckoutCart/schema.json +23 -0
  228. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/index.mdx +32 -0
  229. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/commands/RemoveItemFromCart/schema.json +24 -0
  230. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/index.mdx +29 -0
  231. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/events/CartCheckedOut/schema.json +62 -0
  232. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/index.mdx +72 -0
  233. package/templates/default/domains/Shopping/systems/cart-system/services/CartAPI/openapi.yml +200 -0
  234. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/index.mdx +40 -0
  235. package/templates/default/domains/Shopping/systems/promotion-system/containers/promotion-database/schema.sql +21 -0
  236. package/templates/default/domains/Shopping/systems/promotion-system/index.mdx +48 -0
  237. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/index.mdx +32 -0
  238. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/commands/CalculateDiscount/schema.json +53 -0
  239. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/index.mdx +29 -0
  240. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/events/DiscountCalculated/schema.json +37 -0
  241. package/templates/default/domains/Shopping/systems/promotion-system/services/PromotionService/index.mdx +59 -0
  242. package/templates/default/domains/Shopping/ubiquitous-language.mdx +48 -0
  243. package/templates/default/eventcatalog.config.js +13 -0
  244. package/templates/default/pages/homepage.astro +109 -0
  245. package/templates/default/public/icons/analytics/clickhouse.svg +1 -0
  246. package/templates/default/public/icons/cache/redis.svg +1 -0
  247. package/templates/default/public/icons/database/postgresql.svg +1 -0
  248. package/templates/default/public/icons/languages/go.svg +1 -0
  249. package/templates/default/public/icons/languages/java.svg +1 -0
  250. package/templates/default/public/icons/languages/nodejs.svg +1 -0
  251. package/templates/default/public/icons/payments/stripe.svg +1 -0
  252. package/templates/default/teams/customer-platform.mdx +18 -0
  253. package/templates/default/teams/fulfilment-platform.mdx +20 -0
  254. package/templates/default/teams/ordering-platform.mdx +18 -0
  255. package/templates/default/teams/payments-platform.mdx +18 -0
  256. package/templates/default/teams/product-platform.mdx +20 -0
  257. package/templates/default/teams/reviews-platform.mdx +20 -0
  258. package/templates/default/teams/search-platform.mdx +19 -0
  259. package/templates/default/teams/shopping-platform.mdx +18 -0
  260. package/templates/default/users/dboyne.mdx +1 -1
  261. package/templates/empty/README-template.md +39 -31
  262. package/templates/eventbridge/README-template.md +44 -17
  263. package/templates/graphql/README-template.md +39 -31
  264. package/templates/index.ts +1 -0
  265. package/templates/openapi/README-template.md +37 -33
  266. package/templates/default/channels/inventory.{env}.events/index.mdx +0 -159
  267. package/templates/default/channels/orders.{env}.events/index.mdx +0 -85
  268. package/templates/default/channels/payment.{env}.events/index.mdx +0 -89
  269. package/templates/default/domains/E-Commerce/index.mdx +0 -140
  270. package/templates/default/domains/E-Commerce/ubiquitous-language.mdx +0 -87
  271. package/templates/default/domains/Orders/changelog.mdx +0 -7
  272. package/templates/default/domains/Orders/entities/CartItem/index.mdx +0 -124
  273. package/templates/default/domains/Orders/entities/Customer/index.mdx +0 -59
  274. package/templates/default/domains/Orders/entities/Order/index.mdx +0 -98
  275. package/templates/default/domains/Orders/entities/OrderItem/index.mdx +0 -62
  276. package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +0 -151
  277. package/templates/default/domains/Orders/index.mdx +0 -117
  278. package/templates/default/domains/Orders/services/InventoryService/changelog.mdx +0 -7
  279. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-dlq/index.mdx +0 -13
  280. package/templates/default/domains/Orders/services/InventoryService/channels/inventory-queue/index.mdx +0 -13
  281. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/index.mdx +0 -45
  282. package/templates/default/domains/Orders/services/InventoryService/commands/AddInventory/schema.json +0 -28
  283. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/index.mdx +0 -34
  284. package/templates/default/domains/Orders/services/InventoryService/commands/PlaceOrder/schema.json +0 -124
  285. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/index.mdx +0 -47
  286. package/templates/default/domains/Orders/services/InventoryService/commands/UpdateInventory/schema.json +0 -28
  287. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/changelog.mdx +0 -67
  288. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/examples.config.yaml +0 -15
  289. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-decrease.json +0 -23
  290. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/examples/stock-increase.json +0 -23
  291. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/index.mdx +0 -124
  292. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.avro +0 -13
  293. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/schema.json +0 -35
  294. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/changelog.mdx +0 -26
  295. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/index.mdx +0 -23
  296. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.avro +0 -9
  297. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/0.0.1/schema.json +0 -36
  298. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/changelog.mdx +0 -26
  299. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/index.mdx +0 -108
  300. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.avro +0 -10
  301. package/templates/default/domains/Orders/services/InventoryService/events/InventoryAdjusted/versioned/1.0.0/schema.json +0 -36
  302. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/examples.config.yaml +0 -7
  303. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/examples/product-depleted.json +0 -19
  304. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/index.mdx +0 -102
  305. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/schema.json +0 -28
  306. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/index.mdx +0 -98
  307. package/templates/default/domains/Orders/services/InventoryService/events/OutOfStock/versioned/0.0.1/schema.json +0 -28
  308. package/templates/default/domains/Orders/services/InventoryService/index.mdx +0 -120
  309. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/index.mdx +0 -22
  310. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryList/schema.json +0 -52
  311. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/index.mdx +0 -40
  312. package/templates/default/domains/Orders/services/InventoryService/queries/GetInventoryStatus/schema.json +0 -27
  313. package/templates/default/domains/Orders/services/InventoryService/versioned/0.0.1/index.mdx +0 -52
  314. package/templates/default/domains/Orders/services/NotificationService/index.mdx +0 -82
  315. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/index.mdx +0 -26
  316. package/templates/default/domains/Orders/services/NotificationService/queries/GetNotificationDetails/schema.json +0 -55
  317. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/index.mdx +0 -26
  318. package/templates/default/domains/Orders/services/NotificationService/queries/GetUserNotifications/schema.json +0 -46
  319. package/templates/default/domains/Orders/services/OrdersService/changelog.mdx +0 -3
  320. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/address-change.json +0 -36
  321. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/examples.config.yaml +0 -15
  322. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/examples/quantity-change.json +0 -29
  323. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/index.mdx +0 -58
  324. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.avro +0 -75
  325. package/templates/default/domains/Orders/services/OrdersService/events/OrderAmended/schema.json +0 -70
  326. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/customer-request.json +0 -34
  327. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/examples.config.yaml +0 -15
  328. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/examples/out-of-stock.json +0 -28
  329. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/index.mdx +0 -54
  330. package/templates/default/domains/Orders/services/OrdersService/events/OrderCancelled/schema.json +0 -71
  331. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/examples.config.yaml +0 -15
  332. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/gift-order.json +0 -38
  333. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/examples/standard-order.json +0 -42
  334. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/index.mdx +0 -55
  335. package/templates/default/domains/Orders/services/OrdersService/events/OrderConfirmed/schema.json +0 -66
  336. package/templates/default/domains/Orders/services/OrdersService/index.mdx +0 -81
  337. package/templates/default/domains/Orders/services/OrdersService/openapi.yml +0 -185
  338. package/templates/default/domains/Orders/services/OrdersService/order-service-asyncapi.yaml +0 -148
  339. package/templates/default/domains/Orders/services/OrdersService/queries/GetOrder/index.mdx +0 -26
  340. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/changelog.mdx +0 -3
  341. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/index.mdx +0 -40
  342. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/openapi.yml +0 -96
  343. package/templates/default/domains/Orders/services/OrdersService/versioned/0.0.2/order-service-asyncapi.yaml +0 -148
  344. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/index.mdx +0 -22
  345. package/templates/default/domains/Orders/services/ShippingService/commands/CancelShipment/schema.json +0 -13
  346. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/index.mdx +0 -22
  347. package/templates/default/domains/Orders/services/ShippingService/commands/CreateReturnLabel/schema.json +0 -19
  348. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/index.mdx +0 -22
  349. package/templates/default/domains/Orders/services/ShippingService/commands/CreateShipment/schema.json +0 -62
  350. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/index.mdx +0 -22
  351. package/templates/default/domains/Orders/services/ShippingService/commands/UpdateShipmentStatus/schema.json +0 -29
  352. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/address-not-found.json +0 -23
  353. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/customer-unavailable.json +0 -40
  354. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/damaged-in-transit.json +0 -33
  355. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/examples/examples.config.yaml +0 -23
  356. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/index.mdx +0 -22
  357. package/templates/default/domains/Orders/services/ShippingService/events/DeliveryFailed/schema.json +0 -17
  358. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/defective-item.json +0 -33
  359. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/examples.config.yaml +0 -15
  360. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/examples/wrong-item.json +0 -51
  361. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/index.mdx +0 -22
  362. package/templates/default/domains/Orders/services/ShippingService/events/ReturnInitiated/schema.json +0 -17
  363. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/examples.config.yaml +0 -15
  364. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/multi-package.json +0 -76
  365. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/examples/single-package.json +0 -51
  366. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/index.mdx +0 -22
  367. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentCreated/schema.json +0 -64
  368. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/examples.config.yaml +0 -15
  369. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/front-door-delivery.json +0 -30
  370. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/examples/signed-delivery.json +0 -31
  371. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/index.mdx +0 -22
  372. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDelivered/schema.json +0 -17
  373. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/examples.config.yaml +0 -15
  374. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/express-shipping.json +0 -33
  375. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/examples/standard-shipping.json +0 -32
  376. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/index.mdx +0 -22
  377. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentDispatched/schema.json +0 -17
  378. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/domestic-transit.json +0 -48
  379. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/examples.config.yaml +0 -15
  380. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/examples/international-transit.json +0 -61
  381. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/index.mdx +0 -22
  382. package/templates/default/domains/Orders/services/ShippingService/events/ShipmentInTransit/schema.json +0 -17
  383. package/templates/default/domains/Orders/services/ShippingService/index.mdx +0 -61
  384. package/templates/default/domains/Orders/ubiquitous-language.mdx +0 -127
  385. package/templates/default/domains/Orders/versioned/0.0.1/index.mdx +0 -21
  386. package/templates/default/domains/Orders/versioned/0.0.2/index.mdx +0 -50
  387. package/templates/default/domains/Payment/entities/Address/index.mdx +0 -165
  388. package/templates/default/domains/Payment/entities/Invoice/index.mdx +0 -92
  389. package/templates/default/domains/Payment/entities/Payment/index.mdx +0 -140
  390. package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +0 -80
  391. package/templates/default/domains/Payment/entities/Transaction/index.mdx +0 -80
  392. package/templates/default/domains/Payment/flows/PaymentProcessed/index.mdx +0 -82
  393. package/templates/default/domains/Payment/index.mdx +0 -40
  394. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-flagged.json +0 -50
  395. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/check-passed.json +0 -45
  396. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/examples/examples.config.yaml +0 -15
  397. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +0 -50
  398. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +0 -44
  399. package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +0 -62
  400. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +0 -75
  401. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +0 -58
  402. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/card-declined.json +0 -38
  403. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/examples.config.yaml +0 -23
  404. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/expired-card.json +0 -38
  405. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/examples/insufficient-funds.json +0 -38
  406. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +0 -64
  407. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +0 -68
  408. package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +0 -71
  409. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/examples.config.yaml +0 -15
  410. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/express-checkout.json +0 -45
  411. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/examples/standard-checkout.json +0 -52
  412. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/index.mdx +0 -37
  413. package/templates/default/domains/Payment/services/PaymentService/events/PaymentInitiated/schema.json +0 -31
  414. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/examples.config.yaml +0 -15
  415. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/international-payment.json +0 -48
  416. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/examples/successful-payment.json +0 -48
  417. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/index.mdx +0 -43
  418. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/schema.json +0 -54
  419. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/index.mdx +0 -43
  420. package/templates/default/domains/Payment/services/PaymentService/events/PaymentProcessed/versioned/0.0.1/schema.json +0 -54
  421. package/templates/default/domains/Payment/services/PaymentService/index.mdx +0 -41
  422. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/index.mdx +0 -26
  423. package/templates/default/domains/Payment/services/PaymentService/queries/GetPaymentStatus/schema.json +0 -39
  424. package/templates/default/domains/Payment/ubiquitous-language.mdx +0 -96
  425. package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +0 -127
  426. package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +0 -119
  427. package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +0 -118
  428. package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +0 -157
  429. package/templates/default/domains/ProductCatalog/index.mdx +0 -73
  430. package/templates/default/domains/ProductCatalog/ubiquitous-language.mdx +0 -88
  431. package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +0 -71
  432. package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +0 -76
  433. package/templates/default/domains/Subscriptions/flows/CancelSubscription/SubscriptionRenewed/index.mdx +0 -300
  434. package/templates/default/domains/Subscriptions/flows/CancelSubscription/index.mdx +0 -69
  435. package/templates/default/domains/Subscriptions/flows/CancelSubscription/versioned/0.0.1/index.mdx +0 -51
  436. package/templates/default/domains/Subscriptions/index.mdx +0 -35
  437. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/examples.config.yaml +0 -7
  438. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/examples/upcoming-renewal.json +0 -28
  439. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +0 -63
  440. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +0 -54
  441. package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +0 -83
  442. package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +0 -83
  443. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/index.mdx +0 -26
  444. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/CancelSubscription/schema.json +0 -30
  445. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/index.mdx +0 -26
  446. package/templates/default/domains/Subscriptions/services/SubscriptionService/commands/SubscribeUser/schema.json +0 -31
  447. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/examples.config.yaml +0 -15
  448. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/payment-failure.json +0 -25
  449. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/examples/voluntary-cancellation.json +0 -23
  450. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/index.mdx +0 -26
  451. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionCancelled/schema.json +0 -35
  452. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/annual-plan.json +0 -26
  453. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/examples.config.yaml +0 -15
  454. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/examples/monthly-plan.json +0 -25
  455. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/index.mdx +0 -26
  456. package/templates/default/domains/Subscriptions/services/SubscriptionService/events/UserSubscriptionStarted/schema.json +0 -36
  457. package/templates/default/domains/Subscriptions/services/SubscriptionService/index.mdx +0 -62
  458. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/index.mdx +0 -26
  459. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/schema.json +0 -54
  460. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/index.mdx +0 -26
  461. package/templates/default/domains/Subscriptions/services/SubscriptionService/queries/GetSubscriptionStatus/versioned/0.0.1/schema.json +0 -54
  462. package/templates/default/domains/Subscriptions/ubiquitous-language.mdx +0 -129
  463. package/templates/default/teams/full-stack.mdx +0 -26
  464. package/templates/default/teams/mobile-devs.mdx +0 -23
  465. package/templates/default/users/aSmith.mdx +0 -27
  466. package/templates/default/users/mSmith.mdx +0 -9
@@ -1,300 +0,0 @@
1
- ---
2
- id: 'SubscriptionRenewed'
3
- name: 'Subscription Renewal Flow'
4
- version: '1.0.0'
5
- summary: 'Business flow for automatic subscription renewals and related processes'
6
- steps:
7
- - id: 'renewal_timer_triggered'
8
- title: 'Renewal Period Reached'
9
- custom:
10
- title: 'Renewal Timer'
11
- color: 'orange'
12
- icon: 'ClockIcon'
13
- type: 'Scheduler'
14
- summary: 'Automated timer triggers the subscription renewal process'
15
- height: 8
16
- properties:
17
- subscription_id: 'sub_12345678'
18
- renewal_type: 'Automatic'
19
- billing_cycle: 'Monthly'
20
- next_billing_date: '2024-08-01'
21
- menu:
22
- - label: 'View scheduler configuration'
23
- url: 'https://docs.example.com/scheduler'
24
- - label: 'Subscription timing documentation'
25
- url: 'https://docs.example.com/subscription-timing'
26
- next_step:
27
- id: 'check_subscription_status'
28
- label: 'Verify subscription status'
29
-
30
- - id: 'check_subscription_status'
31
- title: 'Check Subscription Status'
32
- service:
33
- id: 'SubscriptionService'
34
- version: '0.0.1'
35
- next_steps:
36
- - id: 'payment_approval_check'
37
- label: 'Subscription active, proceed to payment'
38
- - id: 'subscription_expired'
39
- label: 'Subscription has expired'
40
- - id: 'subscription_canceled'
41
- label: 'Subscription was canceled'
42
-
43
- - id: 'subscription_expired'
44
- title: 'Subscription Expired'
45
- type: 'node'
46
- next_step:
47
- id: 'send_renewal_notification'
48
- label: 'Notify customer to renew'
49
-
50
- - id: 'subscription_canceled'
51
- title: 'Subscription Canceled'
52
- type: 'node'
53
- next_step:
54
- id: 'send_reactivation_offer'
55
- label: 'Send special reactivation offer'
56
-
57
- - id: 'send_renewal_notification'
58
- title: 'Send Renewal Notification'
59
- service:
60
- id: 'NotificationService'
61
- version: '0.0.2'
62
- next_step:
63
- id: 'await_customer_action'
64
- label: 'Wait for customer response'
65
-
66
- - id: 'send_reactivation_offer'
67
- title: 'Send Reactivation Offer'
68
- service:
69
- id: 'NotificationService'
70
- version: '0.0.2'
71
- next_step:
72
- id: 'await_customer_action'
73
- label: 'Wait for customer response'
74
-
75
- - id: 'await_customer_action'
76
- title: 'Await Customer Action'
77
- custom:
78
- title: 'Customer Decision Point'
79
- color: 'purple'
80
- icon: 'UserIcon'
81
- type: 'Decision'
82
- height: 8
83
- summary: 'Waiting period for customer to take action on notification'
84
- properties:
85
- timeout_period: '7 days'
86
- options: 'Renew, Upgrade, Cancel, Ignore'
87
- next_steps:
88
- - id: 'manual_renewal_flow'
89
- label: 'Customer manually renews'
90
- - id: 'flow_ends'
91
- label: 'No action taken'
92
-
93
- - id: 'manual_renewal_flow'
94
- title: 'Manual Renewal Flow'
95
- type: 'node'
96
- next_step:
97
- id: 'payment_initiated'
98
- label: 'Process payment'
99
-
100
- - id: 'payment_approval_check'
101
- title: 'Check Payment Approval'
102
- message:
103
- id: 'GetPaymentStatus'
104
- version: '0.0.1'
105
- next_steps:
106
- - id: 'payment_initiated'
107
- label: 'Payment approved, proceed with billing'
108
- - id: 'payment_method_invalid'
109
- label: 'Invalid payment method'
110
-
111
- - id: 'payment_method_invalid'
112
- title: 'Invalid Payment Method'
113
- type: 'node'
114
- next_step:
115
- id: 'request_payment_update'
116
- label: 'Request updated payment method'
117
-
118
- - id: 'request_payment_update'
119
- title: 'Request Payment Update'
120
- service:
121
- id: 'NotificationService'
122
- version: '0.0.2'
123
- next_step:
124
- id: 'await_updated_payment'
125
- label: 'Wait for payment update'
126
-
127
- - id: 'await_updated_payment'
128
- title: 'Await Updated Payment Method'
129
- actor:
130
- name: 'Customer'
131
- next_steps:
132
- - id: 'payment_initiated'
133
- label: 'Payment method updated'
134
- - id: 'subscription_grace_period'
135
- label: 'No update received'
136
-
137
- - id: 'subscription_grace_period'
138
- title: 'Grace Period'
139
- custom:
140
- title: 'Subscription Grace Period'
141
- color: 'yellow'
142
- icon: 'ShieldExclamationIcon'
143
- type: 'Timer'
144
- summary: 'Limited period where subscription remains active despite payment failure'
145
- properties:
146
- duration: '7 days'
147
- status: 'At risk'
148
- next_steps:
149
- - id: 'payment_initiated'
150
- label: 'Payment updated during grace period'
151
- - id: 'subscription_suspended'
152
- label: 'Grace period expired'
153
-
154
- - id: 'subscription_suspended'
155
- title: 'Subscription Suspended'
156
- message:
157
- id: 'UserSubscriptionCancelled'
158
- version: '0.0.1'
159
- next_step:
160
- id: 'send_suspension_notification'
161
- label: 'Notify customer of suspension'
162
-
163
- - id: 'send_suspension_notification'
164
- title: 'Send Suspension Notification'
165
- service:
166
- id: 'NotificationService'
167
- version: '0.0.2'
168
- next_step:
169
- id: 'flow_ends'
170
- label: 'Flow ends'
171
-
172
- - id: 'payment_initiated'
173
- title: 'Process Payment'
174
- message:
175
- id: 'PaymentInitiated'
176
- version: '0.0.1'
177
- next_step:
178
- id: 'payment_gateway'
179
- label: 'Send to payment gateway'
180
-
181
- - id: 'payment_gateway'
182
- title: 'Payment Gateway'
183
- externalSystem:
184
- name: 'Stripe'
185
- summary: '3rd party payment processor'
186
- url: 'https://stripe.com/'
187
- next_steps:
188
- - id: 'payment_processed'
189
- label: 'Payment successful'
190
- - id: 'payment_failed'
191
- label: 'Payment failed'
192
-
193
- - id: 'payment_failed'
194
- title: 'Payment Failed'
195
- type: 'node'
196
- next_step:
197
- id: 'retry_payment'
198
- label: 'Retry payment'
199
-
200
- - id: 'retry_payment'
201
- title: 'Retry Payment'
202
- custom:
203
- title: 'Payment Retry Logic'
204
- color: 'red'
205
- icon: 'ArrowPathIcon'
206
- type: 'Processor'
207
- summary: 'Automated retry logic for failed payments'
208
- properties:
209
- max_attempts: 3
210
- backoff_interval: '24 hours'
211
- current_attempt: 1
212
- next_steps:
213
- - id: 'payment_initiated'
214
- label: 'Retry payment'
215
- - id: 'subscription_grace_period'
216
- label: 'Max retries exceeded'
217
-
218
- - id: 'payment_processed'
219
- title: 'Payment Processed'
220
- message:
221
- id: 'PaymentProcessed'
222
- version: '1.0.0'
223
- next_step:
224
- id: 'update_subscription_status'
225
- label: 'Update subscription'
226
-
227
- - id: 'update_subscription_status'
228
- title: 'Update Subscription'
229
- service:
230
- id: 'SubscriptionService'
231
- version: '0.0.1'
232
- next_step:
233
- id: 'send_renewal_confirmation'
234
- label: 'Confirm renewal to customer'
235
-
236
- - id: 'send_renewal_confirmation'
237
- title: 'Send Renewal Confirmation'
238
- service:
239
- id: 'NotificationService'
240
- version: '0.0.2'
241
- next_step:
242
- id: 'analyze_customer_usage'
243
- label: 'Analyze customer usage patterns'
244
-
245
- - id: 'analyze_customer_usage'
246
- title: 'Analyze Usage Patterns'
247
- custom:
248
- title: 'Usage Analytics'
249
- color: 'blue'
250
- icon: 'ChartBarIcon'
251
- type: 'Analytics'
252
- summary: 'Analyze customer usage patterns to identify upsell opportunities'
253
- properties:
254
- metrics_analyzed: 'Feature usage, Resource consumption, Access patterns'
255
- lookback_period: '90 days'
256
- menu:
257
- - label: 'View analytics dashboard'
258
- url: 'https://analytics.example.com/subscriptions'
259
- - label: 'Documentation'
260
- url: 'https://docs.example.com/analytics'
261
- next_steps:
262
- - id: 'send_upgrade_recommendation'
263
- label: 'Usage suggests upgrade opportunity'
264
- - id: 'flow_ends'
265
- label: 'No upgrade opportunity identified'
266
-
267
- - id: 'send_upgrade_recommendation'
268
- title: 'Send Upgrade Recommendation'
269
- service:
270
- id: 'NotificationService'
271
- version: '0.0.2'
272
- next_step:
273
- id: 'flow_ends'
274
- label: 'Flow completed'
275
-
276
- - id: 'flow_ends'
277
- title: 'Flow Completed'
278
- type: 'node'
279
- ---
280
-
281
- ## Subscription Renewal Flow
282
-
283
- This flow documents the process of automatic subscription renewals, including handling various edge cases such as payment failures, expired subscriptions, and customer interactions.
284
-
285
- <NodeGraph />
286
-
287
- ### Key Components
288
-
289
- - **Automatic Renewal Process**: Triggered by a scheduled timer when the subscription renewal period is reached
290
- - **Payment Processing**: Integration with payment gateway and handling of payment failures
291
- - **Customer Notifications**: Various notifications sent throughout the process
292
- - **Grace Period Handling**: Special handling when payments fail with a grace period before subscription suspension
293
- - **Usage Analytics**: Analysis of customer usage patterns to identify upgrade opportunities
294
-
295
- ### Business Rules
296
-
297
- 1. Subscriptions are renewed automatically unless explicitly canceled
298
- 2. Failed payments trigger a retry process (up to 3 attempts)
299
- 3. Customers receive a 7-day grace period before subscription suspension
300
- 4. Usage patterns are analyzed to provide personalized upgrade recommendations
@@ -1,69 +0,0 @@
1
- ---
2
- id: 'CancelSubscription'
3
- name: 'User Cancels Subscription'
4
- version: '1.0.0'
5
- summary: 'Flow for when a user has cancelled a subscription'
6
- owners:
7
- - dboyne
8
- steps:
9
- - id: 'cancel_subscription_initiated'
10
- title: 'Cancels Subscription'
11
- summary: 'User cancels their subscription'
12
- actor:
13
- name: 'User'
14
- next_step:
15
- id: 'cancel_subscription_request'
16
- label: 'Initiate subscription cancellation'
17
-
18
- - id: 'cancel_subscription_request'
19
- title: 'Cancel Subscription'
20
- message:
21
- id: 'CancelSubscription'
22
- version: '0.0.1'
23
- next_step:
24
- id: 'subscription_service'
25
- label: 'Proceed to subscription service'
26
-
27
- - id: 'stripe_integration'
28
- title: 'Stripe'
29
- externalSystem:
30
- name: 'Stripe'
31
- summary: '3rd party payment system'
32
- url: 'https://stripe.com/'
33
- next_step:
34
- id: 'subscription_service'
35
- label: 'Return to subscription service'
36
-
37
- - id: 'subscription_service'
38
- title: 'Subscription Service'
39
- service:
40
- id: 'SubscriptionService'
41
- version: '0.0.1'
42
- next_steps:
43
- - id: 'stripe_integration'
44
- label: 'Cancel subscription via Stripe'
45
- - id: 'subscription_cancelled'
46
- label: 'Successful cancellation'
47
- - id: 'subscription_rejected'
48
- label: 'Failed cancellation'
49
-
50
- - id: 'subscription_cancelled'
51
- title: 'Subscription has been Cancelled'
52
- message:
53
- id: 'UserSubscriptionCancelled'
54
- version: '0.0.1'
55
- next_step:
56
- id: 'notification_service'
57
- label: 'Email customer'
58
-
59
- - id: 'subscription_rejected'
60
- title: 'Subscription cancellation has been rejected'
61
-
62
- - id: 'notification_service'
63
- title: 'Notifications Service'
64
- service:
65
- id: 'NotificationService'
66
- version: '0.0.2'
67
- ---
68
-
69
- <NodeGraph />
@@ -1,51 +0,0 @@
1
- ---
2
- id: 'CancelSubscription'
3
- name: 'User Cancels Subscription'
4
- version: '0.0.1'
5
- summary: 'Flow for when a user has cancelled a subscription'
6
- owners:
7
- - dboyne
8
- steps:
9
- - id: 'cancel_subscription_initiated'
10
- title: 'Cancels Subscription'
11
- summary: 'User cancels their subscription'
12
- actor:
13
- name: 'User'
14
- next_step:
15
- id: 'cancel_subscription_request'
16
- label: 'Initiate subscription cancellation'
17
-
18
- - id: 'cancel_subscription_request'
19
- title: 'Cancel Subscription'
20
- message:
21
- id: 'CancelSubscription'
22
- version: '0.0.1'
23
- next_step:
24
- id: 'subscription_service'
25
- label: 'Proceed to subscription service'
26
-
27
- - id: 'stripe_integration'
28
- title: 'Stripe'
29
- externalSystem:
30
- name: 'Stripe'
31
- summary: '3rd party payment system'
32
- url: 'https://stripe.com/'
33
- next_step:
34
- id: 'subscription_service'
35
- label: 'Return to subscription service'
36
-
37
- - id: 'subscription_service'
38
- title: 'Subscription Service'
39
- service:
40
- id: 'SubscriptionService'
41
- version: '0.0.1'
42
- next_steps:
43
- - id: 'stripe_integration'
44
- label: 'Cancel subscription via Stripe'
45
- - id: 'subscription_cancelled'
46
- label: 'Successful cancellation'
47
- - id: 'subscription_rejected'
48
- label: 'Failed cancellation'
49
- ---
50
-
51
- <NodeGraph />
@@ -1,35 +0,0 @@
1
- ---
2
- id: Subscription
3
- name: Subscription
4
- version: 0.0.1
5
- summary: |
6
- Domain that contains subscription related services and messages.
7
- owners:
8
- - dboyne
9
- services:
10
- - id: BillingService
11
- version: 0.0.1
12
- - id: PlanManagementService
13
- version: 0.0.1
14
- entities:
15
- - id: BillingProfile
16
- - id: SubscriptionPeriod
17
- badges:
18
- - content: Payment Domain
19
- backgroundColor: blue
20
- textColor: blue
21
- ---
22
-
23
- ## Overview
24
-
25
- The Payment Domain encompasses all services and components related to handling financial transactions within the system. It is responsible for managing payments, transactions, billing, and financial records. The domain ensures secure, reliable, and efficient processing of all payment-related activities
26
-
27
- ### Architecture for the Subscription domain
28
-
29
- <NodeGraph />
30
-
31
- ### Entity Map
32
-
33
- A visualization of the entities in the Subscription domain. Here you can see the relationships between the entities and how they are used in the domain.
34
-
35
- <EntityMap id="Subscription" />
@@ -1,7 +0,0 @@
1
- upcoming-renewal.json:
2
- name: Upcoming Renewal Payment
3
- summary: A payment reminder generated 3 days before a Pro Monthly subscription renewal is due.
4
- usage: |
5
- curl -X POST http://localhost:3000/events/publish \
6
- -H "Content-Type: application/json" \
7
- -d @upcoming-renewal.json
@@ -1,28 +0,0 @@
1
- {
2
- "eventId": "evt_pay_due_5a72bf",
3
- "eventType": "SubscriptionPaymentDue",
4
- "timestamp": "2024-04-12T06:00:00Z",
5
- "data": {
6
- "subscriptionId": "sub_9f84kd02",
7
- "userId": "usr_28471",
8
- "plan": {
9
- "planId": "plan_monthly_pro",
10
- "name": "Pro Monthly"
11
- },
12
- "amount": 32.39,
13
- "currency": "USD",
14
- "dueDate": "2024-04-15",
15
- "billingPeriod": {
16
- "start": "2024-04-15",
17
- "end": "2024-05-15"
18
- },
19
- "paymentMethodId": "pm_card_4242",
20
- "paymentMethodLast4": "4242",
21
- "remindersSent": 1,
22
- "daysUntilDue": 3
23
- },
24
- "metadata": {
25
- "correlationId": "corr_due_001",
26
- "version": "1.0.0"
27
- }
28
- }
@@ -1,63 +0,0 @@
1
- ---
2
- id: SubscriptionPaymentDue
3
- version: 0.0.1
4
- name: Subscription Payment Due
5
- summary: Emitted when a subscription payment is due for collection
6
- owners:
7
- - dboyne
8
- tags:
9
- - billing
10
- - payment
11
- - cross-domain
12
- badges:
13
- - content: Cross-Domain
14
- backgroundColor: purple
15
- textColor: white
16
- schemaPath: schema.json
17
- ---
18
-
19
- import Footer from '@catalog/components/footer.astro';
20
-
21
- ## Overview
22
-
23
- The `SubscriptionPaymentDue` event is emitted by the Billing Service when a subscription's billing cycle is due for payment. This event triggers the payment collection process in the Payment domain.
24
-
25
- ## Cross-Domain Communication
26
-
27
- This event facilitates communication between:
28
-
29
- - **Source**: Subscriptions Domain (BillingService)
30
- - **Target**: Payment Domain (PaymentService, FraudDetectionService)
31
-
32
- ## Schema
33
-
34
- <SchemaViewer title="SubscriptionPaymentDue Schema" schemaPath={frontmatter.schemaPath} />
35
-
36
- ## Event Flow
37
-
38
- 1. BillingService calculates when payment is due
39
- 2. Emits `SubscriptionPaymentDue` event
40
- 3. PaymentService receives and initiates payment
41
- 4. FraudDetectionService performs risk assessment
42
- 5. Payment is processed through PaymentGatewayService
43
-
44
- ## Example Payload
45
-
46
- ```json
47
- {
48
- "subscriptionId": "sub_ABC123",
49
- "customerId": "cust_XYZ789",
50
- "invoiceId": "inv_123456",
51
- "amount": 49.99,
52
- "currency": "USD",
53
- "dueDate": "2024-02-01T00:00:00Z",
54
- "billingPeriod": {
55
- "start": "2024-02-01",
56
- "end": "2024-02-29"
57
- },
58
- "planId": "pro-monthly",
59
- "retryAttempt": 0
60
- }
61
- ```
62
-
63
- <Footer />
@@ -1,54 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "subscriptionId": {
6
- "type": "string",
7
- "description": "Unique identifier for the subscription"
8
- },
9
- "customerId": {
10
- "type": "string",
11
- "description": "Unique identifier for the customer"
12
- },
13
- "invoiceId": {
14
- "type": "string",
15
- "description": "Unique identifier for the invoice"
16
- },
17
- "amount": {
18
- "type": "number",
19
- "description": "Amount due for payment"
20
- },
21
- "currency": {
22
- "type": "string",
23
- "description": "Currency code (ISO 4217)"
24
- },
25
- "dueDate": {
26
- "type": "string",
27
- "format": "date-time",
28
- "description": "When the payment is due"
29
- },
30
- "billingPeriod": {
31
- "type": "object",
32
- "properties": {
33
- "start": {
34
- "type": "string",
35
- "format": "date"
36
- },
37
- "end": {
38
- "type": "string",
39
- "format": "date"
40
- }
41
- },
42
- "required": ["start", "end"]
43
- },
44
- "planId": {
45
- "type": "string",
46
- "description": "Subscription plan identifier"
47
- },
48
- "retryAttempt": {
49
- "type": "integer",
50
- "description": "Number of retry attempts for failed payments"
51
- }
52
- },
53
- "required": ["subscriptionId", "customerId", "invoiceId", "amount", "currency", "dueDate"]
54
- }
@@ -1,83 +0,0 @@
1
- ---
2
- id: BillingService
3
- version: 0.0.1
4
- name: Billing Service
5
- summary: >-
6
- Manages billing cycles, invoice generation, and payment scheduling for
7
- subscriptions
8
- tags:
9
- - billing
10
- - subscriptions
11
- - invoicing
12
- repository:
13
- url: 'https://github.com/eventcatalog/billing-service'
14
- receives:
15
- - id: PaymentProcessed
16
- version: 0.0.1
17
- from:
18
- - id: 'payments.{env}.events'
19
- parameters:
20
- env: staging
21
- sends:
22
- - id: SubscriptionPaymentDue
23
- version: 0.0.1
24
- - id: ProcessPayment
25
- version: 0.0.1
26
- owners:
27
- - dboyne
28
- ---
29
-
30
- import Footer from '@catalog/components/footer.astro';
31
-
32
- ## Overview
33
-
34
- The Billing Service is responsible for managing all billing-related operations for subscriptions. It calculates billing cycles, generates invoices, and coordinates with payment services to ensure timely payment collection.
35
-
36
- ## Key Features
37
-
38
- - **Billing Cycle Management**: Handles daily, weekly, monthly, quarterly, and annual billing cycles
39
- - **Invoice Generation**: Creates detailed invoices with line items and tax calculations
40
- - **Payment Scheduling**: Schedules recurring payments based on billing cycles
41
- - **Proration**: Calculates prorated charges for mid-cycle changes
42
- - **Dunning Management**: Handles failed payment retry logic
43
-
44
- ## API Endpoints
45
-
46
- ### REST API
47
-
48
- - `GET /api/billing/invoice/{subscriptionId}` - Get current invoice
49
- - `GET /api/billing/history/{subscriptionId}` - Get billing history
50
- - `POST /api/billing/preview` - Preview upcoming charges
51
- - `PUT /api/billing/retry/{invoiceId}` - Retry failed payment
52
-
53
- ## Billing Cycle States
54
-
55
- ```mermaid
56
- stateDiagram-v2
57
- [*] --> Scheduled
58
- Scheduled --> Processing
59
- Processing --> Paid
60
- Processing --> Failed
61
- Failed --> Retrying
62
- Retrying --> Paid
63
- Retrying --> Suspended
64
- Paid --> [*]
65
- Suspended --> [*]
66
- ```
67
-
68
- ## Configuration
69
-
70
- ```yaml
71
- billing_service:
72
- cycles:
73
- - daily
74
- - weekly
75
- - monthly
76
- - quarterly
77
- - annual
78
- retry_attempts: 3
79
- retry_interval_days: [1, 3, 7]
80
- invoice_generation_lead_days: 7
81
- ```
82
-
83
- <Footer />