anchor.diff:  	offer(T, P, [{"price", price(Price)} | Acc]);
   offer([characteristics | T],
   		#product{characteristics = Chars} = P, Acc) when is_list(Chars) ->
  -	offer(T, P, [{"characteristic", characterics(Chars)} | Acc]);
  +	offer(T, P, [{"characteristic", characteristics(Chars)} | Acc]);
   offer([last_modified | T], #product{last_modified = Last} = P, Acc)
   		when is_integer(Last) ->
   	offer(T, P, [{"lastUpdate", ocs_rest:iso8601(Last)} | Acc]);
  
positive.code: 	offer(T, Acc#product{status = offer_status(Status)});
  offer([{"price", Price} | T], Acc) ->
  	offer(T, Acc#product{price = price(Price)});
  offer([{"characteristic", Chars} | T], Acc) ->
  	offer(T, Acc#product{characteristics = characterics(Chars)});
  offer([{"lastUpdate", Last} | T], Acc) ->
  	offer(T, Acc#product{last_modified = ocs_rest:iso8601(Last)}).
  %% @hidden
  offer([name | T], #product{name = Name} = P, Acc) ->
  	offer(T, P, [{"name", Name} | Acc]);
  offer([description | T], #product{description = Description} = P,
  		Acc) when is_list(Description) ->
  
negative.code: 
  -spec price(Price) -> Price
  	when
  		Price :: #product{} | {struct, [tuple()]}.
  %% @doc CODEC for Product Offering Price.
  %% @private
  price(#price{} = P) ->
  