anchor.diff:  		Name = prod_name(erlang_term, Object),
   		IsBundle = prod_isBundle(erlang_term, Object),
   		Status = prod_status(erlang_term, Object),
  -		case prod_vf(erlang_term, Object) of
  -			{error, Status} ->
  -				{error, Status};
  -			ValidFor ->
  -				Descirption = prod_description(erlang_term, Object),
  -				case prod_offering_price(erlang_term, Object) of
  +		ValidFor = prod_vf(erlang_term, Object),
  +		Descirption = prod_description(erlang_term, Object),
  +		case prod_offering_price(erlang_term, Object) of
  +			{error, StatusCode} ->
  +				{error, StatusCode};
  +			Price ->
  +				Product = #product{price = Price, name = Name, valid_for = ValidFor,
  +					is_bundle = IsBundle, status = Status, description = Descirption},
  +				case add_product1(Product) of
  +					ok ->
  +						add_product2(Name, Object);
   					{error, StatusCode} ->
  -						{error, StatusCode};
  -					Price ->
  -						Product = #product{price = Price, name = Name, valid_for = ValidFor,
  -							is_bundle = IsBundle, status = Status, description = Descirption},
  -						case add_product1(Product) of
  -							ok ->
  -								add_product2(Name, Object);
  -							{error, StatusCode} ->
  -								{error, StatusCode}
  -						end
  +						{error, StatusCode}
   				end
   		end
   	catch
  
positive.code: 	when
  		Prefix :: erlang_term | json,
  		Product :: list() | #product{},
  		Result :: tuple() | {error, Status},
  		Status :: 400.
  %% @private
  prod_vf(erlang_term, Product) ->
  	{_, {struct, VFObj}} = lists:keyfind("validFor", 1, Product),
  	{_, SDateTime} = lists:keyfind("startDateTime", 1, VFObj),
  	{_, EDateTime} = lists:keyfind("endDateTime", 1, VFObj),
  	case {ocs_rest:timestamp(SDateTime), ocs_rest:timestamp(EDateTime)} of
  		{SDT, EDT} when is_integer(SDT),
  				is_integer(EDT) ->
  			{SDT, EDT};
  		_ ->
  			{error, 400}
  	end;
  prod_vf(json, Product) ->
  	case Product#product.valid_for of
  		{SDateTime, undefined} ->
  
negative.code: 		Prefix	:: erlang_term | json,
  		ProdAlterObj :: list(),
  		Result	:: #alteration{} | {error, Status},
  		Status	:: 400 | 500.
  %% @private
  po_alteration(erlang_term, ProdAlterObj) ->
  	try
  