GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchInternational Roaming Policy Manager
Automated telecom solution that applies custom roaming rates and service levels based on customer destination, plan type and usage patterns.
Solution
This international roaming manager automatically determines appropriate service levels and pricing when customers travel abroad. The system evaluates the destination country and region against established roaming agreements to apply the correct service tier, from premium to minimal coverage. Each tier defines specific data access levels (full, limited, restricted, or emergency-only) with corresponding rate structures for data, voice, and SMS usage.
The solution calculates estimated daily costs based on the customer's typical usage patterns and determines if data and voice roaming should be enabled based on the customer's plan permissions and destination policies. It tracks remaining data allowances by comparing quota limits against current usage, ensuring customers stay within their plan boundaries. This prevents bill shock while maintaining appropriate service levels that align with both carrier agreements and customer expectations.
How it works
The decision graph evaluates roaming eligibility and rates through these key processes:
Regional Policy Lookup: Identifies the destination region from the customer travel data and determines the appropriate service tier, access level, and base rates for data, voice, and SMS.
Service Tier Assignment: Applies predetermined service levels with EU regions receiving premium access, while areas with fewer agreements receive basic or minimal coverage.
Rate Application: Sets specific pricing for each region, with rates increasing based on the carrier's roaming agreements (ranging from €1.0/MB in EU regions to €5.0/MB in regions with minimal agreements).
Cost Projection: Calculates the customer's estimated daily costs based on their historical usage patterns and the destination's rate structure.
Service Activation: Determines which services to enable based on customer permissions and remaining allowances, preventing unexpected charges.
Where teams use it
- Mobile network operators managing international roaming
- MVNOs implementing partner carrier agreements
- Corporate telecom expense management
- Travel plan optimization for frequent international travelers
- Prepaid service providers with international offerings
- IoT device deployments requiring cross-border connectivity
Inside the decision model
International Roaming Policy Manager ships as a JDM decision graph with 3 nodes, 1 decision table and 5 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.
Roaming Request
inputTwo request objects drive the decision: destination supplies the region that selects the roaming policy, and customer carries the profile permissions, quotas, and average usage plus the usage counters already consumed on this trip.
Sample requestJSON
{
"destination": {
"country": "France",
"region": "EU",
"arrivalDate": "2025-03-20",
"departureDate": "2025-03-27"
},
"customer": {
"id": "C123456789",
"profile": {
"planType": "International Plus",
"isDataRoamingAllowed": true,
"isVoiceRoamingAllowed": true,
"dataRoamingQuota": 5000,
"avgDailyDataUsage": 250,
"avgDailyVoiceUsage": 15,
"avgDailySmsUsage": 10
},
"usage": {
"dataRoamingUsed": 1250,
"voiceRoamingUsed": 45,
"smsRoamingUsed": 22
}
}
}Roaming Policy Lookup
tableZone pricing is a single first-hit lookup on destination.region that emits the whole rate card at once. 'EU' gets the 'premium' tier with 'full' data access at 1.0 per MB, 0.15 per voice minute, and 0.05 per SMS; 'USA', 'Canada' and the 'Australia', 'New Zealand', 'Japan', 'South Korea' group are 'standard'/'limited' at 2.0 and 2.5 per MB; 'China', 'India', 'Brazil', 'Russia', 'Mexico' fall to 'basic'/'restricted' at 3.5, and any unlisted region hits the catch-all: 'minimal' tier, 'emergency' access only, 5.0 per MB.
Grouping countries into rate zones is exactly how roaming is wholesaled between carriers, since retail prices track the inter-operator tariffs negotiated per agreement, and EU destinations are cheapest here because intra-EU roaming is the most mature and regulated market. The emergency-only fallback for unknown regions is the standard defensive posture: where no agreement exists, wholesale costs are unpredictable, so everything except emergency service stays off.
| Regiondestination.region | ServiceTierpolicy.serviceTier | DataAccesspolicy.dataAccess | DataRatePerMBpolicy.dataRate | VoiceRatePerMinpolicy.voiceRate | SMSRatePerMessagepolicy.smsRate |
|---|---|---|---|---|---|
| 'EU' | 'premium' | 'full' | 1.0 | 0.15 | 0.05 |
| 'USA', 'Canada' | 'standard' | 'limited' | 2.0 | 0.25 | 0.10 |
| 'Australia', 'New Zealand', 'Japan', 'South Korea' | 'standard' | 'limited' | 2.5 | 0.30 | 0.15 |
| 'China', 'India', 'Brazil', 'Russia', 'Mexico' | 'basic' | 'restricted' | 3.5 | 0.40 | 0.25 |
| - | 'minimal' | 'emergency' | 5.0 | 0.50 | 0.30 |
Calculate Roaming Parameters
expressionTrip economics and switches are computed from the selected policy: totalEstimatedDailyCost multiplies avgDailyDataUsage, avgDailyVoiceUsage, and avgDailySmsUsage by the matching policy rates to give a bill-shock preview before travel. isDataRoamingEnabled requires both policy.serviceTier != 'minimal' and the customer's own isDataRoamingAllowed opt-in, voice only needs the customer permission, and remainingDataAllowance subtracts dataRoamingUsed from dataRoamingQuota so provisioning knows how much headroom is left.
customer.profile.avgDailyDataUsage * policy.dataRate + customer.profile.avgDailyVoiceUsage * policy.voiceRate + customer.profile.avgDailySmsUsage * policy.smsRatepolicy.serviceTier != 'minimal' and customer.profile.isDataRoamingAllowed == truecustomer.profile.isVoiceRoamingAllowed == truecustomer.profile.dataRoamingQuota - customer.usage.dataRoamingUsedOther Telco templates
View all templatesDynamic Tariff Engine
Rule-based pricing system for telecommunication services that automatically applies discounts based on user profiles, time periods, and location types.
TelcoRegional Compliance Manager
Automated system that applies region-specific data privacy rules for telecommunications services across EU, US, UK, Canada, and Australia.
TelcoCustomer Eligibility Engine
Intelligent system that analyzes customer data to determine service upgrades, loyalty rewards, and premium features based on usage patterns and account history.
Make this template
your own.
Load International Roaming Policy Manager into GoRules, adjust the rules to your policy, and ship it behind your own API.