anchor.diff:  
   -spec iso8601(MilliSeconds) -> Result
   	when
  -		MilliSeconds :: pos_integer(),
  -		Result :: string().
  +		MilliSeconds	:: pos_integer(),
  +		Result			:: string().
   %% @doc Convert timestamp to ISO 8601 format date and time.
   iso8601(MilliSeconds) when is_integer(MilliSeconds) ->
   	{{Year, Month, Day}, {Hour, Minute, Second}} = date(MilliSeconds),
  
positive.code: %%  internal functions
  %%----------------------------------------------------------------------
  
  -spec product_offering_price(POfPrice, IsBundle, Status) -> Result when
  	POfPrice	:: list(),
  	IsBundle	:: boolean(),
  	Status	:: product_status(),
  	Result 	:: Products | {error, StatusCode},
  	Products	:: [#product{}],
  	StatusCode	:: 400.
  %% @doc construct list of product
  %% @private
  product_offering_price(POfPrice, IsBundle, Status) ->
  	try
  		F = fun(ProductJson, AccIn) ->
  				{struct, Object} = mochijson:decode(ProductJson),
  				{_, Name} = lists:keyfind("name", 1, Object),
  				{_, ValidFor} = lists:keyfind("validFor", 1, Object),
  				{struct, VForObject1} = mochijson:decode(ValidFor),
  				{_, _STime} = lists:keyfind("startDateTime", 1, VForObject1),
  				{_, _ETime} = lists:keyfind("endDateTime", 1, VForObject1),
  				{_, PriceTypeS} = lists:keyfind("priceType", 1, Object),
  				PriceType = price_type(PriceTypeS),
  				{_, UnitOfMesasure} = lists:keyfind("unitOfMeasure", 1, Object),
  				{_, PriceObject} = lists:keyfind("price", 1, Object),
  				TaxPAmount = proplists:get_value("taxIncludedAmount", PriceObject, ""),
  				_DutyFreeAmount = proplists:get_value("dutyFreeAmount", PriceObject, ""),
  				_TaxRate = proplists:get_value("taxRate", PriceObject, ""),
  				_CurrencyCode = proplists:get_value("currencyCode", PriceObject, ""),
  				_RecurringChargePeriod = proplists:get_value("recurringChargePeriod", Object, ""),
  				Descirption = proplists:get_value("description", Object, ""),
  				Product = #product{name = Name, is_bundle = IsBundle, status = Status,
  					units = UnitOfMesasure, price = TaxPAmount, description = Descirption,
  					price_type = PriceType},
  				[Product | AccIn]
  		end,
  		AccOut = lists:foldl(F, [], POfPrice),
  		lists:reverse(AccOut)
  
negative.code: 
  -spec date(DateTimeFormat) -> Result
  	when
  		DateTimeFormat	:: pos_integer() | tuple(),
  		Result			:: calendar:datetime().
  %% @doc Convert timestamp to date and time or
  %%	date and time to timeStamp.
  date(MilliSeconds) when is_integer(MilliSeconds) ->
  