KareTech Docs

Customer Activation SOP

Full workflow for activating a new UISP customer including device discovery, service creation, and NMS linking

Customer Activation SOP

Last Updated: 2026-02-10 Status: Production Ready

Quick Start

cd /home/karetech/clawd
source scripts/load-secrets.sh
python3 skills/satlinkgy-uisp/scripts/uisp.py activate FirstName LastName DeviceIP

Automated Workflow

The activate_customer() function handles the complete workflow:

1. Device Discovery

  • Searches for device by IP, MAC, or Name
  • Checks both Authorized and Discovered (pending) lists
  • Fails if device not found

2. Client Management

  • Existing client: reuses it
  • New client: creates with enforced Title Case names

3. Service Check and Cleanup

IF existing Active service (status 1):
    Reuse existing service
    Log "Already activated"
    Skip creation

IF existing Quoted service (status 6) from device adoption:
    Delete it (API constraint: cannot upgrade)
    Continue to create fresh service

IF existing Obsolete service (status 7):
    Delete it (deprecated, cannot reactivate)
    Continue to create fresh service

IF no services exist:
    Create fresh Active service

4. Site Management

  • Site exists: reuses it
  • Site missing: creates new site for customer
  • Links device to site (enables internet access)

5. Service Activation

  • Creates service with:
    • Plan: Standard Monthly (servicePlanPeriodId: 37)
    • Price: GYD 10,000.00
    • Billing Start: Today
    • Invoicing Start: Today
  • Service automatically activates on creation (status 1)
  • No additional activation step needed

6. Device Authorization

  • Associates device with customer site
  • Enables device to access network
  • Links device ↔ Service ↔ Client

7. NMS–CRM Linking (Manual Step)

Automated activation completes after device authorization. NMS–CRM linking must be done manually in the Web CRM UI. See NMS-CRM Linking SOP.

Service Plan Reference

Plan NameservicePlanPeriodIdMonthly Rate
Standard Monthly37GYD 10,000

NMS Site Hierarchy

SiteNMS ParentNote
Kumaka HQ51Primary site
Mahdia HQ50
Karaburi27
Parakeese13

Troubleshooting

Activation fails with "device not found"

  • Check device IP is correct
  • Verify device appears in UISP NMS (may be in Discovered list)
  • Device may need to be adopted first

Service shows as Quoted instead of Active

  • This is a UISP API quirk when device is adopted
  • Script automatically detects and deletes the Quoted service, then creates Active
  • If the script is not running, manually delete the Quoted service in CRM UI

Duplicate services visible in Mobile App

  • Clear browser cache or log out/in
  • GUI may show stale data; verify via API

Key API Endpoints

# List clients
GET /crm/api/v1.0/clients
 
# Create client
POST /crm/api/v1.0/clients
 
# Get client services
GET /crm/api/v1.0/clients/{id}/services
 
# Create service (Active, not Quoted)
POST /crm/api/v1.0/clients/{id}/services
# Body must include: status=1, activeFrom, invoicingStart, servicePlanPeriodId