As i see it some parser that will implement SubscriberStorage interface will load data from JSON. It'l load all data about subscribers, including refills. Then some other entity will pass calls to BillingCalculator, which will use BillingRules to calculate call costs and charge money from subscribers.