anchor.diff:  		Unit :: time | downlinkVolume | uplinkVolume
   				| totalVolume | serviceSpecificUnit,
   		Value :: pos_integer().
  -used_unit([]) ->
  -	[];
   used_unit(UsedServiceUnits) ->
   	used_unit(UsedServiceUnits, []).
   %% @hidden
  
positive.code: 		Unit :: time | downlinkVolume | uplinkVolume
  				| totalVolume | serviceSpecificUnit,
  		Value :: pos_integer().
  reserved_unit([]) ->
  	[];
  reserved_unit(RequestedServiceUnits) ->
  	reserved_unit(RequestedServiceUnits, []).
  %% @hidden
  
negative.code: 		{[], []} ->
  			ServiceRating = {struct, [SCID, {"requestSubType", "RESERVE"} | Acc3]},
  			update_service_rating1(T, SCID, SInfo, [ServiceRating | Acc]);
  		{ConsumedUnits, []} when length(ConsumedUnits) > 0 ->
  			ServiceRating1 = {struct, [SCID, {"consumedUnit", {struct, ConsumedUnits}},
  					{"requestSubType", "DEBIT"} | Acc3]},
  			ServiceRating2 = {struct, [SCID, {"requestSubType", "RESERVE"} | Acc3]},
  			update_service_rating1(T, SCID, SInfo, [ServiceRating1, ServiceRating2 | Acc]);
  		{[], ReservedUnits} when length(ReservedUnits) > 0->
  			ServiceRating = {struct, [SCID, {"requestedUnit", {struct, ReservedUnits}},
  					{"requestSubType", "RESERVE"} | Acc3]},
  			update_service_rating1(T, SCID, SInfo, [ServiceRating | Acc])
  