anchor.diff:  	Prices;
   po_price(erlang_term, [{struct, Object} | T], Prices) ->
   	try
  -		{_, ProdName} = lists:keyfind("name", 1, Object),
  -		{_,  {struct, VFObj}} = lists:keyfind("validFor", 1, Object),
  -		{_, ProdSTime} = lists:keyfind("startDateTime", 1, VFObj),
  -		{_, ProdETime} = lists:keyfind("endDateTime", 1, VFObj),
  -		{_, ProdPriceTypeS} = lists:keyfind("priceType", 1, Object),
  +		ProdName = prod_price_name(erlang_term, Object),
  +		{ProdSTime, ProdETime} = prod_price_vf(erlang_term, Object),
  +		ProdPriceType = prod_price_type(erlang_term, Object),
   		{_, {struct, ProdPriceObj}} = lists:keyfind("price", 1, Object),
   		{_, ProdAmount} = lists:keyfind("taxIncludedAmount", 1, ProdPriceObj),
   		{_, CurrencyCode} = lists:keyfind("currencyCode", 1, ProdPriceObj),
  
positive.code: 			{error, 400}
  	end.
  
  -spec validity_period(StartTime, EndTime) -> Result
  	when
  		StartTime	:: string(),
  
negative.code: 		ProdValidity = validity_period(ProdSTime, ProdETime),
  		if
  			ProdValidity =/= {error, format_error} ->
  				{ProdUnits, ProdSize} = product_unit_of_measure(ProdUOMesasure),
  				Size = product_size(ProdUnits, octets, ProdSize),
  				RCPeriod = recurring_charge_period(RCPeriodS),
  