anchor.diff:  			ServiceType, undefined, undefined, undefined, ServiceId,
   			Timestamp, undefined, undefined, initial, [],
   			[{PackageUnits, PackageSize}], SessionId),
  -	{ok, #bucket{remain_amount = 0, reservations = Rs}} = ocs:find_bucket(BId),
  -	[{_, PackagePrice, 0, _, _, SessionId}] = Rs.
  +	{ok, #bucket{remain_amount = 0, attributes = Attr}} = ocs:find_bucket(BId),
  +	#{reservations := #{SessionId := #{debit := PackagePrice,
  +			reserve := 0}}} = Attr.
   
   initial_insufficient() ->
   	[{userdata, [{doc, "Insufficient cents balance for initial reservation"}]}].
  
positive.code: 	RemAmount = 13,
  	B1 = bucket(cents, RemAmount),
  	SessionId1 = [{'Session-Id', list_to_binary(ocs:generate_password())}],
  	R = [{erlang:system_time(millisecond), 100,
  			undefined, undefined, undefined, SessionId1}],
  	B2 = B1#bucket{reservations = R},
  	BId = add_bucket(ProdRef, B2),
  	Timestamp = calendar:local_time(),
  	SessionId2 = [{'Session-Id', list_to_binary(ocs:generate_password())}],
  
negative.code: 			[], SessionId),
  	RemAmount3 = RemAmount2 - (PackagePrice * 2),
  	{ok, #bucket{remain_amount = RemAmount3}} = ocs:find_bucket(BId1),
  	[#bucket{attributes = #{reservations := _Reservations1}},
  			#bucket{attributes = #{reservations := _Reservations2}}]
  			= lists:foldl(F2, [], ocs:get_buckets(ProdRef)),
  	Debit3 = rand:uniform(PackageSize),
  	Debit4 = rand:uniform(PackageSize),
  	{ok, _, _} = ocs_rating:rate(diameter,
  