Vendor contacts

A vendor contact is a contact who provides services for a claimant.

A service is an action performed by a vendor to address a loss associated with a claim. Services can include the following:

  • For a damaged car, services could include towing, auto body repair, and replacement car rental.
  • For a damaged house, services could include plumbing and roof repair.
  • For an injury, services could include conducting an examination, taking an x-ray, or performing surgery.

Vendors can have service types attached to them. This indicates the services the vendor performs.

Minimum creation criteria for vendor contacts

All contacts (including vendor contacts) must have a contact subtype and at least one contact tag. Vendor contacts must also meet the following conditions:

  • They must have the vendor contact tag.
  • They must have a non-null vendorAvailability value.

The vendor tag

A vendor contact must have the vendor tag, but it can have any number of additional tags.

Note: The ABContact data model has two subtypes with vendors in their name: ABCompanyVendor and ABPersonVendor. For the purposes of vendor functionality in ContactManager, it is neither sufficient nor required for a contact to be an ABCompanyVendor, an ABPersonVendor, or one of their subtypes. It is the contact tags that determine whether a contact is a "vendor contact".

Vendor availability

The vendorAvailability field is a typekey that must be set to one of the values in the VendorAvailabilityType typelist. In the base configuration, this is either available or unavailable. When executing a search from the ContactManager user interface, you can limit your search to only available or unavailable vendors. Otherwise, this field does not have any impact on the vendor's functionality. (For example, marking a vendor as unavailable does not inherently remove it from searches.)

New vendor contact example

The following creates a new vendor contact:

{
  "data": {
    "attributes": {
        "contactSubtype": "ABCompany",
        "name": "Felicity Fixes It",
        "tags": [
            {
                "type": {
                    "code": "vendor"
                }
            }
        ],
        "taxId": "000-00-0005",
        "vendorAvailability": {
          "code": "available"
        }
    }
  }
}
Java

Vendor contact services

The types of services that a vendor can perform are stored in an array. In the ContactManager data model, this array is declared at the ABContact level. Thus, from a database perspective, any type of contact can have associated services. In practice, services are attached only to contacts that are business entities that provide claim-related services, such as an ABAutoRepairShop or an ABDoctor, and not an ABPerson or ABPlace.

In the ABContact resource in Cloud API, services are specified in the services field. This is an array of JSON objects. Each object specifies one service. The following shows the syntax for the services array:

{
  "data": {
    "attributes": {
        ...
        "services": [
          {
            "code": "<serviceCode>"
          },
          {
            "code": "<serviceCode>"
          }
        ]
    }
  }
}
Java

Each service is specified as a code from the vendorservicetree.xml file, which you can access through Studio.

For example, the following creates an ABCompany with two services: body repair (autoinsprepairbody) and glass repair (autoinsprepairglass):

{
  "data": {
    "attributes": {
        "contactSubtype": "ABAutoRepairShop",
        "name": "Felicity Fixes It",
        "tags": [
            {
                "type": {
                    "code": "vendor"
                }
            }
        ],
        "taxId": "000-00-0005",
        "vendorAvailability": "available",
        "services": [
          {
            "code": "autoinsprepairbody"
          },
          {
            "code": "autoinsprepairglass"
          }
        ]
    }
  }
}
Java