48 lines
2.2 KiB
Markdown
48 lines
2.2 KiB
Markdown
---
|
|
title: "Card"
|
|
type: OpenSpec
|
|
status: Draft
|
|
domain: Customer Management
|
|
---
|
|
|
|
# Card
|
|
|
|
## Requirement Definition
|
|
Manages customer card information. Generally updated in the external system and loaded into OLS, thus often view-only, though manual additions/replacements are supported with strict rules.
|
|
|
|
## Process Flow
|
|
|
|
### Pre-Conditions
|
|
- Users must have access rights in the "Card" module.
|
|
- The parent account must exist in OLS before adding a card.
|
|
- User must select a customer.
|
|
|
|
## Business Rules
|
|
|
|
### Data Schema
|
|
|
|
| Field Name | Description | Logic Type | Constraints / Rules |
|
|
|---|---|---|---|
|
|
| CIF Number | CIF Number of the card. | String | Required. Defaults to selected customer but can change for Supplement Cards. |
|
|
| Account Type | Product Account Level + Type. | Enum (Lookup) | Required. |
|
|
| Account Number | Parent Product Account Number. | Enum (Lookup) | Required. |
|
|
| Card Number | The card number. | String (20) | Required. Must be globally unique. |
|
|
| Masked Card Number | Masked version. | String (20) | Optional. |
|
|
| Cardholder Name | Name on card. | String (50) | Required. |
|
|
| Card Indicator | Supplement [S], Principal [P], Corporate [K]. | Enum (Lookup) | Required. If Principal, Card CIF must equal Account CIF. |
|
|
| Card Status | Card status. | Enum (Lookup) | Required. |
|
|
| Card Block Code | Block code for transactions. | String (10) | Optional. |
|
|
| Card Activation Date | Date activated. | Date | Optional. |
|
|
| Card Creation Date | Date created. | Date | Required. |
|
|
| Card Expiry Date | Expiry date. | Date | Required. |
|
|
| Old Card Number | For replacements only. | Enum (Lookup) | Required only if adding a replacement card for an existing one. |
|
|
|
|
### Execution
|
|
- Each Card belongs to one Account and one Customer. Changes to CIF/Account require CIF Merge batch.
|
|
- On Add: Rejected if Card Number already exists, or if Account/CIF does not exist. Adds to CARD and CARD_PRODUCT_ACCOUNT_REL.
|
|
- On Delete: Logical delete (moved to history).
|
|
- Replacement Flow: When replacing an old card, the new card gets the same PSN (Plastic Serial Number). The old card remains active until its status/block code is updated. All attributes, counters, and pool buckets linked to the old card are automatically linked to the new card.
|
|
|
|
## Exception Flow
|
|
- Validation failures.
|