diff --git a/data/conf/samples/loaders_old2new_internal/cgrates.json b/data/conf/samples/loaders_old2new_internal/cgrates.json new file mode 100644 index 000000000..cbd76dcb7 --- /dev/null +++ b/data/conf/samples/loaders_old2new_internal/cgrates.json @@ -0,0 +1,414 @@ +{ +"general": { + "log_level": 7, + "reply_timeout": "30s", +}, + + + +"data_db": { + "db_type": "*internal", +}, + + +"stor_db": { + "db_type": "*internal" +}, + +"loaders": [ + { + "id": "ParseLoader", + "enabled": true, + "tp_in_dir": "/tmp/In", + "tp_out_dir": "/tmp/parsed", + "run_delay": "-1", + "action": "*parse", + "data":[ + { + "id": "Timings", + "type": "*rate_profiles", + "file_name": "Timings.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "*tmp.Hour", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/(\\d+):\\d+:\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.Minute", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/\\d+:(\\d+):\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.MonthDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.MonthDays", "type": "*variable", "value": "~*req.3{*split&*join:,}","filters":["*notstring:~*req.3:*any"]}, + {"path": "*tmp.Month", "type": "*constant", "value": "*"}, + {"path": "*tmp.Month", "type": "*variable", "value": "~*req.2{*split&*join:,}","filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.WeekDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.WeekDays", "type": "*variable", "value": "~*req.4{*split&*join:,}","filters":["*notstring:~*req.4:*any"]}, + + {"path": "*uch.tmg_<~*tmp.ID>", "type": "*variable", "value": "~*tmp.Minute; ;~*tmp.Hour; ;~*tmp.MonthDays; ;~*tmp.Month; ;~*tmp.WeekDays"}, + ] + }, + { + "id": "Destinations", + "type": "*rate_profiles", + "file_name": "Destinations.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_<~*tmp.ID>", "type": "*composed", "value": "`;`;~*req.1", "filters":["*exists:~*uch.dst_<~*tmp.ID>:"]}, + {"path": "*uch.dst_<~*tmp.ID>", "type": "*variable", "value": "~*req.1", "filters":["*notexists:~*uch.dst_<~*tmp.ID>:"]}, + ] + }, + { + "id": "Rates", + "type": "*rate_profiles", + "file_name": "Rates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_<~*tmp.ID>","filters":["*exists:~*uch.rate_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.RateIntervalStart", "type": "*variable", "value": "~*req.5"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateFixedFee", "type": "*variable", "value": "~*req.1"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateRecurrentFee", "type": "*variable", "value": "~*req.2"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateUnit", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateIncrement", "type": "*variable", "value": "~*req.4"}, + + {"path": "*uch.rate_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + }, + { + "id": "DestinationRates", + "type": "*rate_profiles", + "file_name": "DestinationRates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_rate_<~*tmp.ID>.Filters", "type": "*variable", "value": "`*prefix:~*req.Destination:`;~*uch.dst_<~*req.1>"}, + {"path": "*uch.dst_rate_<~*tmp.ID>.RatesTag", "type": "*variable", "value": "~*req.2"}, + + ] + }, + { + "id": "RatingPlans", + "type": "*rate_profiles", + "file_name": "RatingPlans.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_plans_<~*tmp.ID>","filters":["*exists:~*uch.rate_plans_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.TimingTag", "type": "*variable", "value": "~*uch.tmg_<~*req.2>"}, + {"path": "*tmp.Data.<~*tmp.Idx>.Weight", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.DestinationRatesId", "type": "*variable", "value": "~*req.1"}, + + {"path": "*uch.rate_plans_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + } + ] + }, + { + "id": "StoreLoader", + "enabled": true, + "tp_in_dir": "/tmp/parsed", + "tp_out_dir": "/tmp/Out", + "run_delay": "-1", + "action": "*store", + "data":[ + { + "id": "RatingProfiles", + "type": "*rate_profiles", + "file_name": "RatingProfiles.csv", + "fields": [ + {"path": "Tenant", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "ID", "type": "*variable", "value": "~*req.1;~*req.2", "mandatory": true}, + {"path": "FilterIDs", "type": "*variable", "value": "`*ai:~*req.AnswerTime:`;~*req.3;`;*string:~*req.Category:`;~*req.1", "mandatory": true}, + {"path": "FilterIDs", "type": "*composed", "value": "`;*string:~*req.Subject:`;~*req.2", "filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.RatingPlan", "type": "*generic", "value": "~*uch.rate_plans_<~*req.4>", "mandatory": true}, + + //// RatingPlan 1 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.0.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.0.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 2 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 3 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 4 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 5 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 6 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 7 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 8 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 9 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 10 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 11 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + + + //// RatingPlan 12 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + + + + //// RatingPlan 13 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + ] + } + ] + } +], + + +"admins": { + "enabled": true +} +} diff --git a/data/conf/samples/loaders_old2new_mongo/cgrates.json b/data/conf/samples/loaders_old2new_mongo/cgrates.json new file mode 100644 index 000000000..5dd23b5b6 --- /dev/null +++ b/data/conf/samples/loaders_old2new_mongo/cgrates.json @@ -0,0 +1,417 @@ +{ +"general": { + "log_level": 7, + "reply_timeout": "30s", +}, + + +"data_db": { + "db_type": "mongo", + "db_name": "10", + "db_port": 27017, +}, + + +"stor_db": { + "db_type": "mongo", + "db_name": "cgrates", + "db_port": 27017, +}, + +"loaders": [ + { + "id": "ParseLoader", + "enabled": true, + "tp_in_dir": "/tmp/In", + "tp_out_dir": "/tmp/parsed", + "run_delay": "-1", + "action": "*parse", + "data":[ + { + "id": "Timings", + "type": "*rate_profiles", + "file_name": "Timings.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "*tmp.Hour", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/(\\d+):\\d+:\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.Minute", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/\\d+:(\\d+):\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.MonthDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.MonthDays", "type": "*variable", "value": "~*req.3{*split&*join:,}","filters":["*notstring:~*req.3:*any"]}, + {"path": "*tmp.Month", "type": "*constant", "value": "*"}, + {"path": "*tmp.Month", "type": "*variable", "value": "~*req.2{*split&*join:,}","filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.WeekDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.WeekDays", "type": "*variable", "value": "~*req.4{*split&*join:,}","filters":["*notstring:~*req.4:*any"]}, + + {"path": "*uch.tmg_<~*tmp.ID>", "type": "*variable", "value": "~*tmp.Minute; ;~*tmp.Hour; ;~*tmp.MonthDays; ;~*tmp.Month; ;~*tmp.WeekDays"}, + ] + }, + { + "id": "Destinations", + "type": "*rate_profiles", + "file_name": "Destinations.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_<~*tmp.ID>", "type": "*composed", "value": "`;`;~*req.1", "filters":["*exists:~*uch.dst_<~*tmp.ID>:"]}, + {"path": "*uch.dst_<~*tmp.ID>", "type": "*variable", "value": "~*req.1", "filters":["*notexists:~*uch.dst_<~*tmp.ID>:"]}, + ] + }, + { + "id": "Rates", + "type": "*rate_profiles", + "file_name": "Rates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_<~*tmp.ID>","filters":["*exists:~*uch.rate_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.RateIntervalStart", "type": "*variable", "value": "~*req.5"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateFixedFee", "type": "*variable", "value": "~*req.1"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateRecurrentFee", "type": "*variable", "value": "~*req.2"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateUnit", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateIncrement", "type": "*variable", "value": "~*req.4"}, + + {"path": "*uch.rate_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + }, + { + "id": "DestinationRates", + "type": "*rate_profiles", + "file_name": "DestinationRates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_rate_<~*tmp.ID>.Filters", "type": "*variable", "value": "`*prefix:~*req.Destination:`;~*uch.dst_<~*req.1>"}, + {"path": "*uch.dst_rate_<~*tmp.ID>.RatesTag", "type": "*variable", "value": "~*req.2"}, + + ] + }, + { + "id": "RatingPlans", + "type": "*rate_profiles", + "file_name": "RatingPlans.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_plans_<~*tmp.ID>","filters":["*exists:~*uch.rate_plans_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.TimingTag", "type": "*variable", "value": "~*uch.tmg_<~*req.2>"}, + {"path": "*tmp.Data.<~*tmp.Idx>.Weight", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.DestinationRatesId", "type": "*variable", "value": "~*req.1"}, + + {"path": "*uch.rate_plans_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + } + ] + }, + { + "id": "StoreLoader", + "enabled": true, + "tp_in_dir": "/tmp/parsed", + "tp_out_dir": "/tmp/Out", + "run_delay": "-1", + "action": "*store", + "data":[ + { + "id": "RatingProfiles", + "type": "*rate_profiles", + "file_name": "RatingProfiles.csv", + "fields": [ + {"path": "Tenant", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "ID", "type": "*variable", "value": "~*req.1;~*req.2", "mandatory": true}, + {"path": "FilterIDs", "type": "*variable", "value": "`*ai:~*req.AnswerTime:`;~*req.3;`;*string:~*req.Category:`;~*req.1", "mandatory": true}, + {"path": "FilterIDs", "type": "*composed", "value": "`;*string:~*req.Subject:`;~*req.2", "filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.RatingPlan", "type": "*generic", "value": "~*uch.rate_plans_<~*req.4>", "mandatory": true}, + + //// RatingPlan 1 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.0.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.0.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 2 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 3 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 4 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 5 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 6 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 7 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 8 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 9 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 10 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 11 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + + + //// RatingPlan 12 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + + + + //// RatingPlan 13 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + ] + } + ] + } +], + + +"admins": { + "enabled": true +} +} diff --git a/data/conf/samples/loaders_old2new_mysql/cgrates.json b/data/conf/samples/loaders_old2new_mysql/cgrates.json new file mode 100644 index 000000000..a43a4c6e5 --- /dev/null +++ b/data/conf/samples/loaders_old2new_mysql/cgrates.json @@ -0,0 +1,414 @@ +{ +"general": { + "log_level": 7, + "reply_timeout": "30s", +}, + + +"data_db": { + "db_type": "redis", + "db_port": 6379, + "db_name": "10", +}, + +"stor_db": { + "db_password": "CGRateS.org", +}, + +"loaders": [ + { + "id": "ParseLoader", + "enabled": true, + "tp_in_dir": "/tmp/In", + "tp_out_dir": "/tmp/parsed", + "run_delay": "-1", + "action": "*parse", + "data":[ + { + "id": "Timings", + "type": "*rate_profiles", + "file_name": "Timings.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "*tmp.Hour", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/(\\d+):\\d+:\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.Minute", "type": "*constant", "value": "*"}, + {"path": "*tmp.Hour", "type": "*variable", "value": "~*req.5:s/\\d+:(\\d+):\\d+/$1/", "filters":["*notempty:~*req.5:","*notstring:~*req.5:00:00;00:00:00"]}, + {"path": "*tmp.MonthDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.MonthDays", "type": "*variable", "value": "~*req.3{*split&*join:,}","filters":["*notstring:~*req.3:*any"]}, + {"path": "*tmp.Month", "type": "*constant", "value": "*"}, + {"path": "*tmp.Month", "type": "*variable", "value": "~*req.2{*split&*join:,}","filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.WeekDays", "type": "*constant", "value": "*"}, + {"path": "*tmp.WeekDays", "type": "*variable", "value": "~*req.4{*split&*join:,}","filters":["*notstring:~*req.4:*any"]}, + + {"path": "*uch.tmg_<~*tmp.ID>", "type": "*variable", "value": "~*tmp.Minute; ;~*tmp.Hour; ;~*tmp.MonthDays; ;~*tmp.Month; ;~*tmp.WeekDays"}, + ] + }, + { + "id": "Destinations", + "type": "*rate_profiles", + "file_name": "Destinations.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_<~*tmp.ID>", "type": "*composed", "value": "`;`;~*req.1", "filters":["*exists:~*uch.dst_<~*tmp.ID>:"]}, + {"path": "*uch.dst_<~*tmp.ID>", "type": "*variable", "value": "~*req.1", "filters":["*notexists:~*uch.dst_<~*tmp.ID>:"]}, + ] + }, + { + "id": "Rates", + "type": "*rate_profiles", + "file_name": "Rates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_<~*tmp.ID>","filters":["*exists:~*uch.rate_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.RateIntervalStart", "type": "*variable", "value": "~*req.5"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateFixedFee", "type": "*variable", "value": "~*req.1"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateRecurrentFee", "type": "*variable", "value": "~*req.2"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateUnit", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.RateIncrement", "type": "*variable", "value": "~*req.4"}, + + {"path": "*uch.rate_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + }, + { + "id": "DestinationRates", + "type": "*rate_profiles", + "file_name": "DestinationRates.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*uch.dst_rate_<~*tmp.ID>.Filters", "type": "*variable", "value": "`*prefix:~*req.Destination:`;~*uch.dst_<~*req.1>"}, + {"path": "*uch.dst_rate_<~*tmp.ID>.RatesTag", "type": "*variable", "value": "~*req.2"}, + + ] + }, + { + "id": "RatingPlans", + "type": "*rate_profiles", + "file_name": "RatingPlans.csv", + "fields": [ + {"path": "*tmp.ID", "type": "*variable", "value": "~*req.0", "mandatory": true}, + + {"path": "*tmp.Data", "type": "*generic", "value": "~*uch.rate_plans_<~*tmp.ID>","filters":["*exists:~*uch.rate_plans_<~*tmp.ID>:"]}, + {"path": "*tmp.Idx", "type": "*constant", "value": "0"}, + {"path": "*tmp.Idx", "type": "*variable", "value": "~*tmp.Data{*len}","filters":["*exists:~*tmp.Data:"]}, + + {"path": "*tmp.Data.<~*tmp.Idx>.TimingTag", "type": "*variable", "value": "~*uch.tmg_<~*req.2>"}, + {"path": "*tmp.Data.<~*tmp.Idx>.Weight", "type": "*variable", "value": "~*req.3"}, + {"path": "*tmp.Data.<~*tmp.Idx>.DestinationRatesId", "type": "*variable", "value": "~*req.1"}, + + {"path": "*uch.rate_plans_<~*tmp.ID>", "type": "*generic", "value": "~*tmp.Data"}, + ] + } + ] + }, + { + "id": "StoreLoader", + "enabled": true, + "tp_in_dir": "/tmp/parsed", + "tp_out_dir": "/tmp/Out", + "run_delay": "-1", + "action": "*store", + "data":[ + { + "id": "RatingProfiles", + "type": "*rate_profiles", + "file_name": "RatingProfiles.csv", + "fields": [ + {"path": "Tenant", "type": "*variable", "value": "~*req.0", "mandatory": true}, + {"path": "ID", "type": "*variable", "value": "~*req.1;~*req.2", "mandatory": true}, + {"path": "FilterIDs", "type": "*variable", "value": "`*ai:~*req.AnswerTime:`;~*req.3;`;*string:~*req.Category:`;~*req.1", "mandatory": true}, + {"path": "FilterIDs", "type": "*composed", "value": "`;*string:~*req.Subject:`;~*req.2", "filters":["*notstring:~*req.2:*any"]}, + {"path": "*tmp.RatingPlan", "type": "*generic", "value": "~*uch.rate_plans_<~*req.4>", "mandatory": true}, + + //// RatingPlan 1 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.0.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.0.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.0.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:1"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.0.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:1","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 2 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:2"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.1.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:2","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 3 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:3"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.2.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:3","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 4 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:4"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.3.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:4","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 5 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:5"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.4.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:5","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 6 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:6"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.5.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:6","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 7 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:7"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.6.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:7","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 8 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:8"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.7.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:8","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 9 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:9"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.8.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:9","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 10 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:10"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.9.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:10","*gte:~*tmp.Rates{*len}:2"]}, + + //// RatingPlan 11 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:11"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.10.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:11","*gte:~*tmp.Rates{*len}:2"]}, + + + //// RatingPlan 12 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:12"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.11.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:12","*gte:~*tmp.Rates{*len}:2"]}, + + + + //// RatingPlan 13 + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].ActivationTimes", "type": "*variable", "value": "~*tmp.RatingPlan.1.TimingTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].Weights", "type": "*variable", "value": "`;`;~*tmp.RatingPlan.1.Weight", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].FilterIDs", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.Filters", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + {"path": "*tmp.RatesTag", "type": "*variable", "value": "~*uch.dst_rate_<~*tmp.RatingPlan.1.DestinationRatesId>.RatesTag", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + {"path": "*tmp.Rates", "type": "*generic", "value": "~*uch.rate_<~*tmp.RatesTag>", "filters":["*gte:~*tmp.RatingPlan{*len}:13"]}, + + ///////////Rates + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.0.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.0.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.0.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.0.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.0.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:1"]}, + + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.IntervalStart", "type": "*variable", "value": "~*tmp.Rates.1.RateIntervalStart", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"],"new_branch":true}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.FixedFee", "type": "*variable", "value": "~*tmp.Rates.1.RateFixedFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.RecurrentFee", "type": "*variable", "value": "~*tmp.Rates.1.RateRecurrentFee", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Unit", "type": "*variable", "value": "~*tmp.Rates.1.RateUnit", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + {"path": "Rates[<~*req.4;_;~*tmp.RatingPlan.12.DestinationRatesId>].IntervalRates.Increment", "type": "*variable", "value": "~*tmp.Rates.1.RateIncrement", "filters":["*gte:~*tmp.RatingPlan{*len}:13","*gte:~*tmp.Rates{*len}:2"]}, + ] + } + ] + } +], + + +"admins": { + "enabled": true +} +} diff --git a/data/tariffplans/oldtutorial2/DestinationRates.csv b/data/tariffplans/oldtutorial2/DestinationRates.csv new file mode 100644 index 000000000..ee3352fc3 --- /dev/null +++ b/data/tariffplans/oldtutorial2/DestinationRates.csv @@ -0,0 +1,11 @@ +#Id,DestinationId,RatesTag,RoundingMethod,RoundingDecimals,MaxCost,MaxCostStrategy +DR_1002_20CNT,DST_1002,RT_20CNT,*up,4,0, +DR_1002_10CNT,DST_1002,RT_10CNT,*up,4,0, +DR_1003_20CNT,DST_1003,RT_40CNT,*up,4,0, +DR_1003_10CNT,DST_1003,RT_10CNT,*up,4,0, +DR_FS_40CNT,DST_FS,RT_40CNT,*up,4,0, +DR_FS_10CNT,DST_FS,RT_10CNT,*up,4,0, +DR_SPECIAL_1002,DST_1002,RT_1CNT,*up,4,0, +DR_1007_MAXCOST_DISC,DST_1007,RT_1CNT_PER_SEC,*up,4,0.62,*disconnect +DR_1007_MAXCOST_FREE,DST_1007,RT_1CNT_PER_SEC,*up,4,0.62,*free +DR_GENERIC,*any,RT_GENERIC_1,*up,4,0, diff --git a/data/tariffplans/oldtutorial2/Destinations.csv b/data/tariffplans/oldtutorial2/Destinations.csv new file mode 100644 index 000000000..823d3a72f --- /dev/null +++ b/data/tariffplans/oldtutorial2/Destinations.csv @@ -0,0 +1,8 @@ +#Id,Prefix +DST_1002,1002 +DST_1003,1003 +DST_1007,1007 +DST_FS,10 +DST_DE_MOBILE,+49151 +DST_DE_MOBILE,+49161 +DST_DE_MOBILE,+49171 diff --git a/data/tariffplans/oldtutorial2/Rates.csv b/data/tariffplans/oldtutorial2/Rates.csv new file mode 100644 index 000000000..921d61137 --- /dev/null +++ b/data/tariffplans/oldtutorial2/Rates.csv @@ -0,0 +1,15 @@ +#Id,ConnectFee,Rate,RateUnit,RateIncrement,GroupIntervalStart +RT_10CNT,0.2,0.1,60s,60s,0s +RT_10CNT,0,0.05,60s,1s,60s + +RT_20CNT,0.4,0.2,60s,60s,0s +RT_20CNT,0,0.1,60s,1s,60s + +RT_40CNT,0.8,0.4,60s,30s,0s +RT_40CNT,0,0.2,60s,10s,60s + +RT_1CNT,0,0.01,60s,60s,0s + +RT_1CNT_PER_SEC,0,0.01,1s,1s,0s + +RT_GENERIC_1,0,1,1,1,0 diff --git a/data/tariffplans/oldtutorial2/RatingPlans.csv b/data/tariffplans/oldtutorial2/RatingPlans.csv new file mode 100644 index 000000000..59dc663d7 --- /dev/null +++ b/data/tariffplans/oldtutorial2/RatingPlans.csv @@ -0,0 +1,21 @@ +#Id,DestinationRatesId,TimingTag,Weight +RP_RETAIL1,DR_FS_40CNT,PEAK,10 +RP_RETAIL1,DR_FS_10CNT,OFFPEAK_MORNING,10 +RP_RETAIL1,DR_FS_10CNT,OFFPEAK_EVENING,10 +RP_RETAIL1,DR_FS_10CNT,OFFPEAK_WEEKEND,10 +RP_RETAIL1,DR_1007_MAXCOST_DISC,*any,10 +RP_RETAIL2,DR_1002_20CNT,PEAK,10 +RP_RETAIL2,DR_1003_20CNT,PEAK,10 +RP_RETAIL2,DR_FS_40CNT,PEAK,10 +RP_RETAIL2,DR_1002_10CNT,OFFPEAK_MORNING,10 +RP_RETAIL2,DR_1002_10CNT,OFFPEAK_EVENING,10 +RP_RETAIL2,DR_1002_10CNT,OFFPEAK_WEEKEND,10 +RP_RETAIL2,DR_1003_10CNT,OFFPEAK_MORNING,10 +RP_RETAIL2,DR_1003_10CNT,OFFPEAK_EVENING,10 +RP_RETAIL2,DR_1003_10CNT,OFFPEAK_WEEKEND,10 +RP_RETAIL2,DR_FS_10CNT,OFFPEAK_MORNING,10 +RP_RETAIL2,DR_FS_10CNT,OFFPEAK_EVENING,10 +RP_RETAIL2,DR_FS_10CNT,OFFPEAK_WEEKEND,10 +RP_RETAIL2,DR_1007_MAXCOST_FREE,*any,10 +RP_SPECIAL_1002,DR_SPECIAL_1002,*any,10 +RP_GENERIC,DR_GENERIC,*any,10 \ No newline at end of file diff --git a/data/tariffplans/oldtutorial2/RatingProfiles.csv b/data/tariffplans/oldtutorial2/RatingProfiles.csv new file mode 100644 index 000000000..5df325a5d --- /dev/null +++ b/data/tariffplans/oldtutorial2/RatingProfiles.csv @@ -0,0 +1,6 @@ +#Tenant,Category,Subject,ActivationTime,RatingPlanId,RatesFallbackSubject +cgrates.org,call,*any,2014-01-14T00:00:00Z,RP_RETAIL1, +cgrates.org,call,1001,2014-01-14T00:00:00Z,RP_RETAIL2, +cgrates.org,call,SPECIAL_1002,2014-01-14T00:00:00Z,RP_SPECIAL_1002, +cgrates.org,generic,*any,2014-01-14T00:00:00Z,RP_GENERIC, +cgrates.org,data,*any,2014-01-14T00:00:00Z,RP_GENERIC, \ No newline at end of file diff --git a/data/tariffplans/oldtutorial2/Timings.csv b/data/tariffplans/oldtutorial2/Timings.csv new file mode 100644 index 000000000..5ab820810 --- /dev/null +++ b/data/tariffplans/oldtutorial2/Timings.csv @@ -0,0 +1,5 @@ +#Tag,Years,Months,MonthDays,WeekDays,Time +PEAK,*any,*any,*any,1;2;3;4;5,08:00:00 +OFFPEAK_MORNING,*any,*any,*any,1;2;3;4;5,00:00:00 +OFFPEAK_EVENING,*any,*any,*any,1;2;3;4;5,19:00:00 +OFFPEAK_WEEKEND,*any,*any,*any,6;7,00:00:00 \ No newline at end of file diff --git a/engine/routes_test.go b/engine/routes_test.go index e94ee0f9a..67d2b779c 100644 --- a/engine/routes_test.go +++ b/engine/routes_test.go @@ -872,7 +872,7 @@ func TestRouteProfileSet(t *testing.T) { if err := rp.Set([]string{"NotAField"}, "", false, utils.EmptyString); err != utils.ErrWrongPath { t.Error(err) } - if err := rp.Set([]string{"NotAField", "1"}, "", false, utils.EmptyString); err != utils.ErrWrongPath { + if err := rp.Set([]string{"NotAField", "1"}, ":", false, utils.EmptyString); err != utils.ErrWrongPath { t.Error(err) } @@ -913,7 +913,7 @@ func TestRouteProfileSet(t *testing.T) { if err := rp.Set([]string{utils.Routes, utils.StatIDs}, "stat1", false, utils.EmptyString); err != nil { t.Error(err) } - if err := rp.Set([]string{utils.Routes, utils.Weights}, "", false, utils.EmptyString); err != nil { + if err := rp.Set([]string{utils.Routes, utils.Weights}, ";0", false, utils.EmptyString); err != nil { t.Error(err) } if err := rp.Set([]string{utils.Routes, utils.Blocker}, "true", false, utils.EmptyString); err != nil { diff --git a/general_tests/loadersold2new_it_test.go b/general_tests/loadersold2new_it_test.go new file mode 100644 index 000000000..df493b7da --- /dev/null +++ b/general_tests/loadersold2new_it_test.go @@ -0,0 +1,250 @@ +//go:build integration +// +build integration + +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ +package general_tests + +import ( + "io" + "os" + "path" + "path/filepath" + "reflect" + "sort" + "testing" + "time" + + "github.com/cgrates/birpc" + "github.com/cgrates/birpc/context" + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/utils" +) + +var ( + testLdro2nRtCfgPath string + testLdro2nRtCfg *config.CGRConfig + testLdro2nRtRPC *birpc.Client + testLdro2nDirs = []string{"/tmp/In", "/tmp/Out", "/tmp/parsed"} + + testLdro2nRtTests = []func(t *testing.T){ + testCreateDirs, + testLdro2nRtLoadConfig, + testLdro2nRtResetDataDB, + testLdro2nRtResetStorDb, + testLdro2nRtStartEngine, + testLdro2nRtRPCConn, + testLdro2nRtLoadTP, + testLdro2nRtCheckData, + testLdro2nRtStopCgrEngine, + testRemoveDirs, + } +) + +func TestLdro2nRtChange(t *testing.T) { + var testLdro2nRtCfgDir string + switch *dbType { + case utils.MetaInternal: + testLdro2nRtCfgDir = "loaders_old2new_internal" + case utils.MetaMySQL: + testLdro2nRtCfgDir = "loaders_old2new_mysql" + case utils.MetaMongo: + testLdro2nRtCfgDir = "loaders_old2new_mongo" + case utils.MetaPostgres: + t.SkipNow() + default: + t.Fatal("Unknown Database type") + } + testLdro2nRtCfgPath = path.Join(*dataDir, "conf", "samples", testLdro2nRtCfgDir) + for _, testLdro2nRtTest := range testLdro2nRtTests { + t.Run(testLdro2nRtCfgDir, testLdro2nRtTest) + } +} + +func testCreateDirs(t *testing.T) { + for _, dir := range testLdro2nDirs { + if err = os.MkdirAll(dir, 0755); err != nil { + t.Fatal(err) + } + } +} + +func testRemoveDirs(t *testing.T) { + for _, dir := range testLdro2nDirs { + if err = os.RemoveAll(dir); err != nil { + t.Fatal(err) + } + } +} +func testLdro2nRtLoadConfig(t *testing.T) { + var err error + if testLdro2nRtCfg, err = config.NewCGRConfigFromPath(context.Background(), testLdro2nRtCfgPath); err != nil { + t.Error(err) + } +} + +func testLdro2nRtResetDataDB(t *testing.T) { + if err := engine.InitDataDB(testLdro2nRtCfg); err != nil { + t.Fatal(err) + } +} + +func testLdro2nRtResetStorDb(t *testing.T) { + if err := engine.InitStorDB(testLdro2nRtCfg); err != nil { + t.Fatal(err) + } +} + +func testLdro2nRtStartEngine(t *testing.T) { + if _, err := engine.StopStartEngine(testLdro2nRtCfgPath, *waitRater); err != nil { + t.Fatal(err) + } +} + +func testLdro2nRtRPCConn(t *testing.T) { + var err error + if testLdro2nRtRPC, err = newRPCClient(testLdro2nRtCfg.ListenCfg()); err != nil { + t.Fatal(err) + } +} + +func testLdro2nRtLoadTP(t *testing.T) { + for _, file := range []string{ + "Timings.csv", + "Destinations.csv", + "Rates.csv", + "DestinationRates.csv", + "RatingPlans.csv", + "RatingProfiles.csv", + } { + if err = copyFile(filepath.Join(*dataDir, "tariffplans", "oldtutorial2", file), filepath.Join("/tmp/In", file)); err != nil { + t.Fatal(err) + } + } + time.Sleep(time.Second) +} + +func testLdro2nRtStopCgrEngine(t *testing.T) { + if err := engine.KillEngine(100); err != nil { + t.Error(err) + } +} + +func copyFile(src, dst string) (err error) { + var in *os.File + if in, err = os.Open(src); err != nil { + return + } + defer in.Close() + + var si os.FileInfo + if si, err = in.Stat(); err != nil { + return + } + var out *os.File + if out, err = os.OpenFile(dst, os.O_RDWR|os.O_CREATE|os.O_TRUNC, si.Mode()); err != nil { + return + } + defer func() { + if e := out.Close(); e != nil { + err = e + } + }() + + if _, err = io.Copy(out, in); err != nil { + return + } + return out.Sync() +} + +func testLdro2nRtCheckData(t *testing.T) { + expIDs := []string{"call*any", "data*any", "callSPECIAL_1002", "generic*any", "call1001"} + sort.Strings(expIDs) + var rateIDs []string + if err := testLdro2nRtRPC.Call(context.Background(), utils.AdminSv1GetRateProfileIDs, + &utils.PaginatorWithTenant{ + Tenant: "cgrates.org", + Paginator: utils.Paginator{}, + }, &rateIDs); err != nil { + t.Error(err) + } else if sort.Strings(rateIDs); !reflect.DeepEqual(rateIDs, expIDs) { + t.Errorf("expected: %s, \nreceived: %s", utils.ToJSON(expIDs), utils.ToJSON(rateIDs)) + } + + expRatePrf := utils.RateProfile{ + Tenant: "cgrates.org", + ID: "call*any", + FilterIDs: []string{"*ai:~*req.AnswerTime:2014-01-14T00:00:00Z", "*string:~*req.Category:call"}, + MinCost: utils.NewDecimal(0, 0), + MaxCost: utils.NewDecimal(0, 0), + Rates: map[string]*utils.Rate{ + "RP_RETAIL1_DR_1007_MAXCOST_DISC": { + ID: "RP_RETAIL1_DR_1007_MAXCOST_DISC", + FilterIDs: []string{"*prefix:~*req.Destination:10"}, + ActivationTimes: "* 00 * * 1,2,3,4,5", + Weights: utils.DynamicWeights{{Weight: 10}}, + IntervalRates: []*utils.IntervalRate{{ + IntervalStart: utils.NewDecimalFromFloat64(60000000000), + FixedFee: utils.NewDecimalFromFloat64(0), + RecurrentFee: utils.NewDecimalFromFloat64(0.05), + Unit: utils.NewDecimalFromFloat64(60000000000), + Increment: utils.NewDecimalFromFloat64(1000000000), + }}, + }, + "RP_RETAIL1_DR_FS_10CNT": { + ID: "RP_RETAIL1_DR_FS_10CNT", + FilterIDs: []string{"*prefix:~*req.Destination:10"}, + ActivationTimes: "* 00 * * 1,2,3,4,5", + Weights: utils.DynamicWeights{{Weight: 10}}, + IntervalRates: []*utils.IntervalRate{{ + IntervalStart: utils.NewDecimalFromFloat64(60000000000), + FixedFee: utils.NewDecimalFromFloat64(0), + RecurrentFee: utils.NewDecimalFromFloat64(0.05), + Unit: utils.NewDecimalFromFloat64(60000000000), + Increment: utils.NewDecimalFromFloat64(1000000000), + }}, + }, + "RP_RETAIL1_DR_FS_40CNT": { + ID: "RP_RETAIL1_DR_FS_40CNT", + FilterIDs: []string{"*prefix:~*req.Destination:10"}, + ActivationTimes: "* 00 * * 1,2,3,4,5", + Weights: utils.DynamicWeights{{Weight: 10}}, + IntervalRates: []*utils.IntervalRate{{ + IntervalStart: utils.NewDecimalFromFloat64(60000000000), + FixedFee: utils.NewDecimalFromFloat64(0), + RecurrentFee: utils.NewDecimalFromFloat64(0.2), + Unit: utils.NewDecimalFromFloat64(60000000000), + Increment: utils.NewDecimalFromFloat64(10000000000), + }}, + }, + }, + } + + var rplyRatePrf utils.RateProfile + if err := testLdro2nRtRPC.Call(context.Background(), utils.AdminSv1GetRateProfile, + utils.TenantID{ + Tenant: "cgrates.org", + ID: expIDs[0], + }, &rplyRatePrf); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(rplyRatePrf, expRatePrf) { + t.Errorf("expected: %s, \nreceived: %s", + utils.ToJSON(expRatePrf), utils.ToJSON(rplyRatePrf)) + } +} diff --git a/utils/dataconverter.go b/utils/dataconverter.go index d80719115..f75061bcc 100644 --- a/utils/dataconverter.go +++ b/utils/dataconverter.go @@ -129,12 +129,12 @@ func NewDataConverter(params string) (conv DataConverter, err error) { return NewRandomConverter(params[len(MetaRandom)+1:]) case strings.HasPrefix(params, MetaJoin): if len(params) == len(MetaJoin) { // no extra params, defaults implied - return joinConverter(FieldsSep), nil + return joinConverter(InfieldSep), nil } return joinConverter(params[len(MetaJoin)+1:]), nil case strings.HasPrefix(params, MetaSplit): if len(params) == len(MetaSplit) { // no extra params, defaults implied - return splitConverter(FieldsSep), nil + return splitConverter(InfieldSep), nil } return splitConverter(params[len(MetaSplit)+1:]), nil default: