Use cases
Use case #1: Activate accounts in a batch
Roles: external system, main and secondary site of PortaSwitch
Preconditions: there is a batch "355" of 10 inactive accounts already generated
Use scenario #1.1 Activate PINs
main site becomes unavailable and secondary site goes into standalone mode
the external system connects to PortaBilling API on the secondary site
external system activates accounts of batch "355" with control numbers 1-5
- accounts of batch "355" with control numbers 1-5 are activated on the secondary site
main site becomes available
- accounts of batch "355" with control numbers 1-5 are activated on the main site
Use case #2: Charge Distributor for activated accounts
Roles: external system, main and secondary site of PortaSwitch, distributor "Wallmart"
Preconditions: there is a batch "355" of 10 inactive accounts with $10 balance already generated; those accounts are assigned to distributor "Wallmart", their commission is 10%
Use scenario #2.1 Activate PINs
main site becomes unavailable and secondary site goes into standalone mode
the external system connects to PortaBilling API on the secondary site using "Wallmart" credentials
external system activates accounts of batch "355" with control numbers 6-10
- accounts of batch "355" with control numbers 6-10 are activated on the secondary site
- distributor is charged $45 = 5 x ($10-10%) on the secondary site
main site becomes available
- accounts of batch "355" with control numbers 6-10 are activated on the main site
- distributor is charged $45 on the main site
Use case #3: Block and unblock accounts in a batch
Roles: external system, main and secondary site of PortaSwitch
Preconditions: there is a batch "355" of 10 inactive accounts already generated
Use scenario #3.1 Block stolen PINs
PINs of batch "355" with control numbers 6-10 are reported to be stolen
main site becomes unavailable and secondary site goes into standalone mode
the external system connects to PortaBilling API on the secondary site
external system blocks accounts of batch "355" and control numbers 6-10
- accounts of batch "355" with control numbers 6-10 are blocked on the secondary site
main site becomes available
- accounts of batch "355" with control numbers 6-10 are blocked on the main site
Use scenario #3.2 Unblock PINs that were blocked by mistake
continues after scenario #1
PINs of batch "355" with control numbers 6-10 were blocked by mistake (they were not stolen)
main site becomes unavailable and secondary site goes into standalone mode
the external system connects to PortaBilling API on the secondary site
external system unblocks accounts of batch "355" and control numbers 6-10
- accounts of batch "355" with control numbers 6-10 are unblocked on the secondary site
main site becomes available
- accounts of batch "355" with control numbers 6-10 are unblocked on the main site
Use case #4: Top up an account
Roles: user, main and secondary site of PortaSwitch
Preconditions: there is a debit account 123123123123 with a balance of $10
Use scenario #1 Topup account with $10
main site becomes unavailable and secondary site goes into standalone mode
user makes calls via Calling Card IVR worth $5, remaining balance is $5
user topups his account (via IVR?) with $10, remaining balance is $15
user makes more calls via Calling Card IVR worth $8, remaining balance is $7
main site becomes available
- all transactions of account 123123123123 are copied to the main site, so remaining balance becomes $7 on the main site as well