# UAT Guidebook -- Customer Portal

## About This Guide

This guidebook is a reference for UAT (User Acceptance Testing) of the Customer Portal. It explains what each part of the portal does, how it works from the user's perspective, and what you should see in WHMCS and Salesforce when actions are taken.

**This guide is for you if:** You are a QA tester who knows how to navigate the WHMCS admin panel and Salesforce, and you need to understand what the Customer Portal does so you can verify it works correctly.

**This guide is NOT:** A test script with pass/fail checklists. It is a reference that explains functionality so you can design your own test scenarios and know what to look for.

## How the Systems Connect

The Customer Portal is the front-end that customers use. Behind the scenes, it connects to two main back-office systems:

- **WHMCS** -- The billing system. Manages client accounts, invoices, payments, subscriptions, and product records. When a customer signs up, pays a bill, or changes a plan, WHMCS is where the billing side of things happens.
- **Salesforce** -- The CRM and order management system. Manages customer accounts, orders, opportunities, support cases, and the product catalog. When a customer places an order, creates a support ticket, or goes through identity verification, Salesforce is where those records live.

There is also a third system, **Freebit**, which handles the actual SIM/MVNO operations (activating SIMs, changing plans, porting numbers). Testers generally won't interact with Freebit directly, but it's mentioned in the SIM guides so you understand why certain operations take time to process.

### Typical Data Flow

```
Customer does something in Portal
        |
        v
Portal backend processes the request
        |
        +---> Creates/updates records in WHMCS (billing)
        |
        +---> Creates/updates records in Salesforce (CRM/orders)
        |
        +---> (For SIM operations) Sends commands to Freebit
```

## How to Use This Guide

Each journey file covers one area of the portal. Every file is structured the same way:

1. **Overview** -- A quick summary of what the journey covers.
2. **Portal Flow** -- Step-by-step description of what the user sees and does in the portal.
3. **What Happens in WHMCS** -- What records to check in the WHMCS admin panel, and what field values to expect.
4. **What Happens in Salesforce** -- What records to check in Salesforce, and what field values to expect.
5. **Key Things to Verify** -- A list of important things to pay attention to during testing.

**Recommended approach:** Read through a journey file to understand the flow, then go through it yourself in the portal while checking WHMCS and Salesforce to confirm everything matches.

## Journey Index

### Getting Started

| #   | Journey                                                            | What It Covers                                                                                                                   |
| --- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| 01  | [Signup and Account Creation](./01-signup-and-account-creation.md) | Creating a new account, email verification, WHMCS client creation, Salesforce account linking, migrating existing WHMCS accounts |
| 02  | [Login and Authentication](./02-login-and-authentication.md)       | Two-step login (password + OTP), forgot/reset password, session timeout, logout                                                  |
| 03  | [Dashboard and Profile](./03-dashboard-and-profile.md)             | Dashboard overview page, task cards, activity feed, profile editing, address editing, identity verification upload               |

### Browsing and Ordering

| #   | Journey                                          | What It Covers                                                                               |
| --- | ------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| 04  | [Browsing Services](./04-browsing-services.md)   | Service catalog (SIM, Internet, VPN), plan details, eligibility checks                       |
| 05  | [Ordering a Service](./05-ordering-a-service.md) | Service configuration, checkout, order submission, real-time tracking, provisioning in WHMCS |

### Managing Subscriptions

| #   | Journey                                                                    | What It Covers                                                                                                             |
| --- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| 06  | [Managing SIM Subscriptions](./06-managing-sim-subscriptions.md)           | SIM details, plan changes, data top-ups, SIM reissue, MNP (number porting), call/SMS history, voice features, cancellation |
| 07  | [Managing Internet Subscriptions](./07-managing-internet-subscriptions.md) | Internet plan details, access modes, add-ons, cancellation                                                                 |
| 08  | [Managing VPN Subscriptions](./08-managing-vpn-subscriptions.md)           | VPN plan details, regions, billing                                                                                         |

### Billing and Support

| #   | Journey                                              | What It Covers                                                       |
| --- | ---------------------------------------------------- | -------------------------------------------------------------------- |
| 09  | [Billing and Invoices](./09-billing-and-invoices.md) | Invoice list, invoice detail, PDF download, payment, payment methods |
| 10  | [Support Cases](./10-support-cases.md)               | Creating tickets, viewing cases, adding replies, status tracking     |

### Account Management

| #   | Journey                                                | What It Covers                                                      |
| --- | ------------------------------------------------------ | ------------------------------------------------------------------- |
| 11  | [Identity Verification](./11-identity-verification.md) | Residence card upload, verification status, approval/rejection flow |
| 12  | [Notifications](./12-notifications.md)                 | In-app notifications, notification types, preferences               |
| 13  | [Address Management](./13-address-management.md)       | Address viewing/editing, Japan Post postal code lookup, WHMCS sync  |

### Reference

| Document                                                  | What It Covers                                                                |
| --------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [Cross-Reference Appendix](./appendix-cross-reference.md) | Quick-reference table mapping Portal features to WHMCS and Salesforce objects |

## Key Terminology

| Term                   | Meaning                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Customer Number**    | A unique identifier assigned to each customer in Salesforce. Used to link the portal account to the Salesforce Account record. |
| **WHMCS Client**       | A customer record in WHMCS. Each portal user has a corresponding WHMCS Client.                                                 |
| **Salesforce Account** | A customer record in Salesforce. Linked to the portal via Customer Number.                                                     |
| **Subscription**       | An active service (SIM, Internet, or VPN) that a customer is paying for. Stored as a Product/Service in WHMCS.                 |
| **Opportunity**        | A Salesforce record that represents a potential or in-progress order. Created when a customer submits an order.                |
| **MNP**                | Mobile Number Portability -- the process of transferring a phone number from one carrier to another.                           |
| **eSIM**               | An embedded SIM that is provisioned digitally (no physical card). Requires a 32-digit EID from the device.                     |
| **EID**                | A 32-digit identifier for an eSIM-capable device, needed to provision an eSIM.                                                 |
| **OTP**                | One-Time Password -- a 6-digit code sent by email during login for two-factor authentication.                                  |
| **Platform Event**     | A Salesforce mechanism that sends real-time notifications to the portal (e.g., when an order status changes).                  |
| **Freebit**            | The MVNO platform that handles SIM operations (activation, plan changes, number porting).                                      |
| **IPoE / PPPoE**       | Internet connection access modes. IPoE is simpler (plug and play), PPPoE requires manual configuration with credentials.       |
