anchor.diff:  	Version = {"version", "1.0"},
   	LastUpdate = {"lastUpdate", "2017-10-06T12:00:00Z"},
   	Status = {"lifecycleStatus", "Active"},
  -	{struct, [Id, Name, Href, Description, Version, LastUpdate, Status]}.
  -
  -%% @hidden
  -spec_product_fixed_quantity_pkg() ->
  +	Chars = {"productSpecCharacteristic", {array, characteristic_product_network()}},
  +	{struct, [Id, Name, Href, Description, Version, LastUpdate, Status, Chars]}.
  +
  +%% @hidden
  +spec_prod_fixed_quantity_pkg() ->
   	Id = {"id", "2"},
   	Href = {"href", ?productSpecPath "2"},
   	Name = {"name", "FixedQuantityPackageProductSpec"},
  
positive.code: 	{struct, [Id, Name, Href, Description, Version, LastUpdate, Status]}.
  
  %% @hidden
  spec_product_rated_plan() ->
  	Id = {"id", "3"},
  	Href = {"href", ?productSpecPath "3"},
  	Name = {"name", "RatedPlanProductSpec"},
  
negative.code: 	Type2 = {"valueType", "String"},
  	Value2 = {"productSpecCharacteristicValue", {array, [{struct, [Type2]}]}},
  	Char2 = {struct, [Name2, Description2, Config2, Type2, Value2]},
  	Name3 = {"name", "radiusReserveTime"},
  	Description3 = {"description",
  		"Number of seconds to reserve on RADIUS Accounting-Start "
  		"and add to reported duration on Accounting-Interim reservation."},
  	Config3 = {"configurable", false},
  	Type3 = {"valueType", "Number"},
  	Type31 = {struct, [{"unitOfMeasure", "seconds"}, {"valueType", "Number"}]},
  	Type32 = {struct, [{"unitOfMeasure", "minutes"}, {"valueType", "Number"}]},
  	Value3 = {"productSpecCharacteristicValue", {array, [Type31, Type32]}},
  	Char3 = {struct, [Name3, Description3, Config3, Type3, Value3]},
  	Name4 = {"name", "radiusReserveOctets"},
  	Description4 = {"description",
  		"Number of octets to reserve on RADIUS Accounting-Start "
  		"and add to reported octetes used on Accounting-Interim reservation."},
  	Config4 = {"configurable", false},
  	Type4 = {"valueType", "Number"},
  	Type41 = {struct, [{"unitOfMeasure", "bytes"}, {"valueType", "Number"}]},
  	Type42 = {struct, [{"unitOfMeasure", "kilobytes"}, {"valueType", "Number"}]},
  	Type43 = {struct, [{"unitOfMeasure", "megabytes"}, {"valueType", "Number"}]},
  	Type44 = {struct, [{"unitOfMeasure", "gigabytes"}, {"valueType", "Number"}]},
  	Value4 = {"productSpecCharacteristicValue",
  			{array, [Type41, Type42, Type43, Type44]}},
  	Char4 = {struct, [Name4, Description4, Config4, Type4, Value4]},
  	[Char1, Char2, Char3, Char4].
  
  %% @hidden
  characteristic_product_rated_plan() ->
  	Name1 = {"name", "timeOfDayRange"},
  	Description1 = {"description", "Start and End of time of day range"},
  	ValueType1 = {"valueType", "Range"},
  	Char1 = {struct, [Name1, Description1, ValueType1]},
  	[Char1].
  
  %% @hidden
  characteristic_product_prepaid() ->
  	Name1 = {"name", "balanceTopUpDuration"},
  	Description1 = {"description", "Validity period of balance top-ups."},
  	Config1 = {"configurable", false},
  	Type1 = {"valueType", "Number"},
  	Type11 = {struct, [{"unitOfMeasure", "seconds"}, {"valueType", "Number"}]},
  	Type12 = {struct, [{"unitOfMeasure", "minutes"}, {"valueType", "Number"}]},
  	Type13 = {struct, [{"unitOfMeasure", "days"}, {"valueType", "Number"}]},
  	Type14 = {struct, [{"unitOfMeasure", "months"}, {"valueType", "Number"}]},
  	Type15 = {struct, [{"unitOfMeasure", "years"}, {"valueType", "Number"}]},
  	Value1 = {"productSpecCharacteristicValue",
  			{array, [Type11, Type12, Type13, Type14, Type15]}},
  	Char1 = {struct, [Name1, Description1, Config1, Type1, Value1]},
  	[Char1].
  
  %% @hidden
  characteristic_product_voice() ->
  	Name1 = {"name", "destPrefixPriceTable"},
  	Description1 = {"description", "Table of Prefix, Description, Price Label"},
  	ValueType1 = {"valueType", "String"},
  