Skip to main content

Customer Activation

Customer Activation is the narrow permission flow for approving/rejecting customer requests and toggling whether an existing customer can be used operationally. It affects whether customers can be selected in sales workflows.

App Entry Points

AppTarget
Mobilecustomer activation flow under customer/customer-management screens
POS TerminalcustomerActivation -> CustomerActivationDetailForm

Activation Workflow

Data And API Rules

Page Actions And Decision Rules

ActionGuard / effect
ApproveRequires activation permission and a valid customer code; accepts the pending request.
RejectRequires the same permission and confirmation; rejects the request without deleting customer master data.
Activate/deactivateChanges operational status through the status endpoint; it is distinct from approving a request.
RefreshMandatory after every decision because request and active status are server-owned.
OperationService
Request listgetCustomerActivationSplitList -> getCustomerSapList({ isRequest: true })
DetailgetCustomerSapById(customerId)
Approve requestapproveCustomerRequest(customerCode)
Reject requestrejectCustomerRequest(customerCode)
Toggle active stateupdateCustomerStatus(customerCode, { status })

Business Rules

RuleBehavior
Narrow permissionThis menu uses a smaller deptCode set than Customer Management.
Request approvalApprove/reject request endpoints are separate from generic status update.
Sales dependencyInactive customers should be blocked from new sales/booking flows.
Refresh requiredCards and detail forms must refresh after any status change because downstream flows rely on current state.
Audit expectationApprove/reject operations should preserve server-side actor/time; the UI should not fake status locally without refresh.

Permissions And Guards

TopicBehavior
Terminal menu keycustomerActivation
deptCode menu set2, 4, 7, 16, 29
Branch ruleRestricted by dept code and selected branch customer list context.
User actionOnly users with this menu should see the activation queue/actions.

Mobile vs POS Terminal

TopicMobilePOS Terminal
NavigationActivation entry under customer/customer-management flowsSplit-pane detail form
ListCustomer request/customer listgetCustomerActivationSplitList with isRequest=1
Detail actionsApprove/reject/status change where exposedCustomerActivationDetailForm actions
After actionRefresh list/detailRefresh split list/detail

Developer Handoff Map

AreaCode
Terminal detailapps/pos-terminal/src/screens/HomeScreen/CustomerActivationDetailForm.tsx
Customer serviceapps/*/src/services/customers.ts
Terminal split dataapps/pos-terminal/src/services/splitMenuData.ts -> getCustomerActivationSplitList
Menu configapps/pos-terminal/src/screens/HomeScreen/config.ts and mobile menu config
Sales dependencyCustomer selection blocking in sales/booking flows