Code Sample


/ValuationTransaction/Message/MessageBody/@Status can have any of the follow values depending on the LIXI message type.

For workflow:

  • Accepted to accept a job
  • Assigned to accept a job and assign a valuer
  • Inspected when the property has been physically inspected
  • Delayed to delay a job (and record against SLA)
  • InProgress when a delay has ended or expired
  • Cancelled when a job has been cancelled

For valuation requests:

  • Initial for a standard request
  • Inquiring if the request is a quote request
  • AmendmentRequired if the report is being amended

For valuation responses:

  • ValuationCompleted

WorkFlow supported in ValEx

We currently require Valuation Firms to be able to send us core workflow (status update) types done through hitting statusUpdate() method on ValEx's endpoint:

  1. Accepted (optional)
  2. Assigned
  3. Delayed
  4. Inspected
  5. Declined
  6. In Progress (optional at this time)
  7. There are more under discussion

Here are some of the required features of each packet type below:


In the related party section. You must define your Valfirm with it's Valex id in a VPMAssigned identifier in the format of VXV-00XXXX. If you don't know your Valex valfirm id email us.


Any valuer you assign a job to must be in the ValEx system. There way the ValEx requires valfirms to identify valuers in the valuer related party segment.

Valex does this by using their Valex valuer id as a VPMAssigned identifier. This requires you to store your all the Valex id's of your Valuers.

You can find the valuer IDs from the Valfirm Realm, Management, Valuers menu; then Export CSV.

We accept these in the format of VXVLR-00XXXX. Read more about Identifiers.

You should pay attention to Valex's response to assigned. If it's not 0, it's possible the job has been reassigned to another valuation firm. In most cases this shouldn't be an issue, but just make sure your system checks the result.

Assigned is also how you set the appointment time. You can resend an assigned with an appointment time once that's set.

Please be aware that some business rules apply.


A delayed workflow must include a non empty comment node. Hence you'll have to take and store a comment in your system.

The Delayed date must be in future. If you send us a date without a time, Valex assumes the date starts at midnight (2007-01-01 0:00:00) - this will cause errors at our end.

See more about Delay Reasons and How do Delays work in Valex?


Please set both the workflow date and the actual inspected date to the date of the inspection.


We also support accepted workflow; and recommend its implementation - however it will not block your system from working.

This status will cause ValEx to assign your default valuer.


We now support declined workflow. A comment about the reason declined must be in the packet. ValEx enforces a 10 character minimum rule for comments about why you are declining a job. For valuation firms, we strongly suggest you enforce similar provisions in your user interfaces.


We now support inprogress workflow. We can optionally take an appointment time, and this workflow will remove all Delays on a job.

This will also add a note to the job.


There are sample packets at the bottom of this article.

We will try to continue to update this article with issues Valfirms come up with. If you have issues with workflows, please recheck this article.

Sample Packet XPath


VPMAssigned identifier
Valuer name
Valuer work phone


Delay Status


Actual Inspection Date
Workflow Date




Date Of Inspection


Accepted Status

What about cancellations?

At the moment, ValEx only supports outbound cancellation requests.

Recommend practice: provide dummy methods in your WSDLs

For easy and safe debugging of connection problems, we recommend the implementation of a "repeat" method in your web services end point. Ours lives at

Effectively, the entire implementation of the method would simply be:

     * Repeat a string back
     * @param string    $input
     * @return string   $input
    public function repeat($input) {
        return $input;

This allows people to connect easily to each other, and ensure what they send is correctly received.

It also could be used as a stub in your unit testing.

Syndicate content