diff --git a/engine/history_test.go b/engine/history_test.go index ec06116cc..bd0a7b379 100644 --- a/engine/history_test.go +++ b/engine/history_test.go @@ -23,7 +23,7 @@ import ( "testing" ) -func TestHistory(t *testing.T) { +func TestHistoryDestinations(t *testing.T) { scribe := historyScribe.(*history.MockScribe) expected := `[{"Key":"ALL","Object":{"Id":"ALL","Prefixes":["49","41","43"]}} {"Key":"GERMANY","Object":{"Id":"GERMANY","Prefixes":["49"]}} @@ -32,7 +32,23 @@ func TestHistory(t *testing.T) { {"Key":"NAT","Object":{"Id":"NAT","Prefixes":["0256","0257","0723"]}} {"Key":"RET","Object":{"Id":"RET","Prefixes":["0723","0724"]}} {"Key":"nat","Object":{"Id":"nat","Prefixes":["0257","0256","0723"]}}]` - if scribe.Buf.String() != expected { - t.Error("Error in history content:", scribe.Buf.String()) + if scribe.DestBuf.String() != expected { + t.Error("Error in destination history content:", scribe.DestBuf.String()) + } +} + +func TestHistoryratingProfiles(t *testing.T) { + scribe := historyScribe.(*history.MockScribe) + expected := `[{"Key":"*out:CUSTOMER_1:0:danb","Object":{"Id":"*out:CUSTOMER_1:0:danb","FallbackKey":"","DestinationMap":{"ALL":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:CUSTOMER_1:0:rif:from:tm","Object":{"Id":"*out:CUSTOMER_1:0:rif:from:tm","FallbackKey":"*out:CUSTOMER_1:0:danb","DestinationMap":{"ALL":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:CUSTOMER_2:0:danb:87.139.12.167","Object":{"Id":"*out:CUSTOMER_2:0:danb:87.139.12.167","FallbackKey":"*out:CUSTOMER_2:0:danb","DestinationMap":{"ALL":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:*any","Object":{"Id":"*out:vdf:0:*any","FallbackKey":"","DestinationMap":{"ALL":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:fall","Object":{"Id":"*out:vdf:0:fall","FallbackKey":"*out:vdf:0:rif","DestinationMap":{"ALL":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:inf","Object":{"Id":"*out:vdf:0:inf","FallbackKey":"*out:vdf:0:inf","DestinationMap":{"ALL":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:minu","Object":{"Id":"*out:vdf:0:minu","FallbackKey":"","DestinationMap":{"ALL":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:one","Object":{"Id":"*out:vdf:0:one","FallbackKey":"","DestinationMap":{"ALL":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.2,"RateIncrements":1},{"StartSecond":0,"Value":0.1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":60,"Prices":[{"StartSecond":0,"Value":0.1,"RateIncrements":1},{"StartSecond":0,"Value":0.05,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}} +{"Key":"*out:vdf:0:rif","Object":{"Id":"*out:vdf:0:rif","FallbackKey":"","DestinationMap":{"ALL":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_O2":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"GERMANY_PREMIUM":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"NAT":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}],"RET":[{"ActivationTime":"2012-01-01T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]},{"ActivationTime":"2012-02-28T00:00:00Z","Intervals":[{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":1,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":1,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[1,2,3,4,5],"StartTime":"18:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0},{"Years":[],"Months":[1,2,3,4,5,6,7,8,9,10,11,12],"MonthDays":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"WeekDays":[6,0],"StartTime":"00:00:00","EndTime":"","Weight":10,"ConnectFee":0,"PricedUnits":1,"Prices":[{"StartSecond":0,"Value":0.5,"RateIncrements":1}],"RoundingMethod":"","RoundingDecimals":0}]}]},"Tag":"","Tenant":"","TOR":"","Direction":"","Subject":"","DestRatesTimingTag":"","RatesFallbackSubject":"","ActivationTime":""}}]` + if scribe.RpBuf.String() != expected { + t.Error("Error in rating profiles history content:", scribe.RpBuf.String()) } } diff --git a/engine/storage_map.go b/engine/storage_map.go index 28ab76546..601f2b635 100644 --- a/engine/storage_map.go +++ b/engine/storage_map.go @@ -55,6 +55,7 @@ func (ms *MapStorage) GetRatingProfile(key string) (rp *RatingProfile, err error func (ms *MapStorage) SetRatingProfile(rp *RatingProfile) (err error) { result, err := ms.ms.Marshal(rp) ms.dict[RATING_PROFILE_PREFIX+rp.Id] = result + go historyScribe.Record(RATING_PROFILE_PREFIX+rp.Id, rp) return } @@ -70,7 +71,7 @@ func (ms *MapStorage) GetDestination(key string) (dest *Destination, err error) func (ms *MapStorage) SetDestination(dest *Destination) (err error) { result, err := ms.ms.Marshal(dest) ms.dict[DESTINATION_PREFIX+dest.Id] = result - historyScribe.Record(dest.Id, dest) + go historyScribe.Record(DESTINATION_PREFIX+dest.Id, dest) return } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index b27a6ebe7..31080dd53 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -21,9 +21,8 @@ package engine import ( "errors" "fmt" - "menteslibres.net/gosexy/redis" - //"log" "github.com/cgrates/cgrates/utils" + "menteslibres.net/gosexy/redis" "strconv" "strings" "time" diff --git a/history/file_scribe.go b/history/file_scribe.go index 6ac4f9513..4ef72c523 100644 --- a/history/file_scribe.go +++ b/history/file_scribe.go @@ -25,80 +25,145 @@ import ( "io" "os" "os/exec" + "path/filepath" + "strings" "sync" ) +const ( + DESTINATIONS_FILE = "destinations.json" + RATING_PROFILES_FILE = "rating_profiles.json" +) + type FileScribe struct { sync.RWMutex - filename string - records records + fileRoot string + gitCommand string + destinations records + ratingProfiles records } -func NewFileScribe(filename string) (Scribe, error) { +func NewFileScribe(fileRoot string) (Scribe, error) { // looking for git - _, err := exec.LookPath("git") + gitCommand, err := exec.LookPath("git") if err != nil { return nil, errors.New("Please install git: " + err.Error()) } - s := &FileScribe{filename: filename} - return s, s.load() + s := &FileScribe{fileRoot: fileRoot, gitCommand: gitCommand} + s.gitInit() + if err := s.load(DESTINATIONS_FILE); err != nil { + return nil, err + } + if err := s.load(RATING_PROFILES_FILE); err != nil { + return nil, err + } + return s, nil } func (s *FileScribe) Record(key string, obj interface{}) error { s.Lock() defer s.Unlock() - s.records = s.records.SetOrAdd(key, obj) - s.save() + switch { + case strings.HasPrefix(key, DESTINATION_PREFIX): + s.destinations = s.destinations.SetOrAdd(key, obj) + s.save(DESTINATIONS_FILE) + case strings.HasPrefix(key, RATING_PROFILE_PREFIX): + s.ratingProfiles = s.ratingProfiles.SetOrAdd(key, obj) + s.save(RATING_PROFILES_FILE) + } return nil } -func (s *FileScribe) commit() error { - out, err := exec.Command("git", "commit", "-a", "-m", "'historic commit'").Output() - if err != nil { +func (s *FileScribe) gitInit() error { + if _, err := os.Stat(filepath.Join(s.fileRoot, ".git")); os.IsNotExist(err) { + cmd := exec.Command(s.gitCommand, "init") + cmd.Dir = s.fileRoot + if out, err := cmd.Output(); err != nil { + return errors.New(string(out) + " " + err.Error()) + } + if f, err := os.Create(filepath.Join(s.fileRoot, DESTINATIONS_FILE)); err != nil { + return err + } else { + f.Close() + } + if f, err := os.Create(filepath.Join(s.fileRoot, RATING_PROFILES_FILE)); err != nil { + return err + } else { + f.Close() + } + cmd = exec.Command(s.gitCommand, "add") + cmd.Dir = s.fileRoot + if out, err := cmd.Output(); err != nil { + return errors.New(string(out) + " " + err.Error()) + } + } + return nil +} + +func (s *FileScribe) gitCommit() error { + cmd := exec.Command(s.gitCommand, "commit", "-a", "-m", "'historic commit'") + cmd.Dir = s.fileRoot + if out, err := cmd.Output(); err != nil { return errors.New(string(out) + " " + err.Error()) } return nil } -func (s *FileScribe) load() error { - f, err := os.Open(s.filename) +func (s *FileScribe) load(filename string) error { + f, err := os.Open(filepath.Join(s.fileRoot, filename)) if err != nil { return err } defer f.Close() d := json.NewDecoder(f) - if err := d.Decode(&s.records); err != nil { - return err + switch { + case filename == DESTINATIONS_FILE: + if err := d.Decode(&s.destinations); err != nil { + return err + } + s.destinations.Sort() + case filename == RATING_PROFILES_FILE: + if err := d.Decode(&s.ratingProfiles); err != nil { + return err + } + s.ratingProfiles.Sort() } - s.records.Sort() return nil } -func (s *FileScribe) save() error { - f, err := os.Create(s.filename) +func (s *FileScribe) save(filename string) error { + f, err := os.Create(filepath.Join(s.fileRoot, filename)) if err != nil { return err } b := bufio.NewWriter(f) defer b.Flush() - if err := s.format(b); err != nil { - return err + switch { + case filename == DESTINATIONS_FILE: + if err := s.format(b, s.destinations); err != nil { + return err + } + case filename == RATING_PROFILES_FILE: + if err := s.format(b, s.ratingProfiles); err != nil { + return err + } } - return s.commit() + + return s.gitCommit() } -func (s *FileScribe) format(b io.Writer) error { - s.records.Sort() +func (s *FileScribe) format(b io.Writer, recs records) error { + recs.Sort() b.Write([]byte("[")) - for i, r := range s.records { + for i, r := range recs { src, err := json.Marshal(r) if err != nil { return err } b.Write(src) - if i < len(s.records)-1 { + if i < len(recs)-1 { b.Write([]byte("\n")) } } diff --git a/history/mock_scribe.go b/history/mock_scribe.go index d49e653e2..49e540ff5 100644 --- a/history/mock_scribe.go +++ b/history/mock_scribe.go @@ -23,13 +23,16 @@ import ( "bytes" "encoding/json" "io" + "strings" "sync" ) type MockScribe struct { sync.RWMutex - records records - Buf bytes.Buffer + destinations records + ratingProfiles records + DestBuf bytes.Buffer + RpBuf bytes.Buffer } func NewMockScribe() (Scribe, error) { @@ -39,31 +42,48 @@ func NewMockScribe() (Scribe, error) { func (s *MockScribe) Record(key string, obj interface{}) error { s.Lock() defer s.Unlock() - s.records = s.records.SetOrAdd(key, obj) - s.save() - return nil -} - -func (s *MockScribe) save() error { - s.Buf.Reset() - b := bufio.NewWriter(&s.Buf) - defer b.Flush() - if err := s.format(b); err != nil { - return err + switch { + case strings.HasPrefix(key, DESTINATION_PREFIX): + s.destinations = s.destinations.SetOrAdd(key[len(DESTINATION_PREFIX):], obj) + s.save(DESTINATIONS_FILE) + case strings.HasPrefix(key, RATING_PROFILE_PREFIX): + s.ratingProfiles = s.ratingProfiles.SetOrAdd(key[len(DESTINATION_PREFIX):], obj) + s.save(RATING_PROFILES_FILE) } return nil } -func (s *MockScribe) format(b io.Writer) error { - s.records.Sort() +func (s *MockScribe) save(filename string) error { + switch { + case filename == DESTINATIONS_FILE: + s.DestBuf.Reset() + b := bufio.NewWriter(&s.DestBuf) + defer b.Flush() + if err := s.format(b, s.destinations); err != nil { + return err + } + case filename == RATING_PROFILES_FILE: + s.RpBuf.Reset() + b := bufio.NewWriter(&s.RpBuf) + defer b.Flush() + if err := s.format(b, s.ratingProfiles); err != nil { + return err + } + } + + return nil +} + +func (s *MockScribe) format(b io.Writer, recs records) error { + recs.Sort() b.Write([]byte("[")) - for i, r := range s.records { + for i, r := range recs { src, err := json.Marshal(r) if err != nil { return err } b.Write(src) - if i < len(s.records)-1 { + if i < len(recs)-1 { b.Write([]byte("\n")) } } diff --git a/history/scribe.go b/history/scribe.go index fe1349548..a22ece6fc 100644 --- a/history/scribe.go +++ b/history/scribe.go @@ -22,6 +22,11 @@ import ( "sort" ) +const ( + RATING_PROFILE_PREFIX = "rpf_" + DESTINATION_PREFIX = "dst_" +) + type Scribe interface { Record(key string, obj interface{}) error } diff --git a/utils/coreutils.go b/utils/coreutils.go index 4c5da1650..cf68d9b71 100644 --- a/utils/coreutils.go +++ b/utils/coreutils.go @@ -97,10 +97,11 @@ func Round(x float64, prec int, method string) float64 { } func ParseDate(date string) (expDate time.Time, err error) { + date = strings.TrimSpace(date) switch { case date == "*unlimited" || date == "": // leave it at zero - case string(date[0]) == "+": + case strings.HasPrefix(date, "+"): d, err := time.ParseDuration(date[1:]) if err != nil { return expDate, err @@ -108,7 +109,7 @@ func ParseDate(date string) (expDate time.Time, err error) { expDate = time.Now().Add(d) case date == "*monthly": expDate = time.Now().AddDate(0, 1, 0) // add one month - case strings.Contains(date, "Z"): + case strings.HasSuffix(date, "Z"): expDate, err = time.Parse(time.RFC3339, date) default: unix, err := strconv.ParseInt(date, 10, 64)