feat: initialize project backend structure and document system specifications across all modules

This commit is contained in:
SonPhung
2026-07-24 09:05:41 +07:00
parent 506008c69f
commit 4534e4ecb8
74 changed files with 7989 additions and 44 deletions

View File

@@ -0,0 +1,65 @@
---
title: "Item Master"
type: OpenSpec
status: Draft
domain: OneCatalogue
---
# Item Master
## Requirement Definition
Item Master defines details about a particular item, such as prices, quantities, availability dates, terms, and conditions.
## Process Flow
### Pre-Conditions
- Users must have access rights in the "Item Master" screen under the "OneCatalogue" module.
- Depending on access rights, users can view, add, edit, or approve Item Master records.
## Business Rules
### Data Schema
#### General Information
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| Catalogue Code | The Catalogue for which this item is configured. | String (Lookup) | Required. |
| Category | Category under which this item is tagged. | Array of Strings (Lookup) | Optional. |
| Item Code | Identifier for the item to be added. | String (10) | Required. |
| Item Name | Short description used by customer-facing application. | String (50) | Required. |
| Redemption From Date | Date from which the item is available for redemption. | Date | Required. Must fall within Catalogue/Category date range. |
| Redemption To Date | Date until which the item is available. | Date | Required. Must fall within Catalogue/Category date range. |
| Redemption Store | Supplier/merchant of this item. | String (Lookup) | Optional. |
| Redemption Transaction Code | OLS TC used for redemption processing. | String (Lookup) | Required. |
| Award Transaction Code | OLS TC used to locate award campaign rules upon redemption. | String (Lookup) | Optional. |
| Item Type | Type of item. | Enum | Required. Values: Miles, Physical, eVoucher, Donation, Cash rebate, Other. |
| Voucher Code | Selected voucher code. | String (Lookup) | Required if Item Type is eVoucher. |
| Face Value | Value of the cash rebate/voucher/miles that customer receives. | Decimal (14,2) | Required for Cash rebate/eVoucher/Miles. Must be positive. |
| Display on Member Site | Determines if the item is displayed on the member site. | Boolean | Default: True. |
| Hot Item | Indicates if this is a hot item. | Boolean | Active only if Display on Member Site is True. Default: False. |
| Display Ordering | Ordering sequence to display on member site. | Integer | Must be > 0. Active only if Display on Member Site is True. |
| Track Quantity on Hand | Enables inventory control. | Boolean | Default: False. Forced to True if item is a Voucher Code. |
| Initialize Quantity of Stocks | Initial stock quantity. | Integer | Required if Track Quantity on Hand is True. Read-only if item has been redeemed. |
#### Item Detail (Localization)
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| Language | Selected language. | String (Lookup) | Required. |
| Item Name | Specific item name in the chosen language. | String (50) | Required. |
| Item Description | Specific item description. | String (100) | Optional. |
| Item Content | Detailed content/information. | String (2000) | Optional. |
| How to use | Instructions on how to use the item. | String (2000) | Optional. |
| Term and Condition | Free text for Terms and Conditions. | String (2000) | Optional. |
#### Contact and Address Information
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| City | City where the item can be used. | String (Lookup) | Required. |
| Address | Detailed address. | String (200) | Optional. |
| Email | Contact email. | String (100) | Optional. |
| Phone | Contact phone number. | String (20) | Optional. |
## Post-Conditions
- The newly created item should have all required fields populated with valid data.
- System adds/updates items in the database.
- Other screens looking up the item screen can use the new item.