How Vehicle Third-Party Integrations Work
Source: `vehicle.rb`, `vehicles_controller.rb`
- The Relay service is updated when a vehicle's
last_in_datechanges, but only if the company has a relay token configured AND the vehicle has a relay ID assigned - Body type conversion for Relay maps Workshop Software body types to simplified Relay types (e.g., HATCH remains HATCH, WAGON maps to STATION WAGON, etc.)
- HaynesPro data is automatically cleared when the VIN changes on a vehicle belonging to a European company, forcing a fresh lookup
- HaynesPro lookups are chargeability-limited: each category is charged once per day, so repeated lookups in the same category on the same day don't incur additional charges
- VV Garage vehicle sync only works if the customer has a
vv_garage_customer_id; without this, the sync silently does nothing - When a vehicle's owner is changed, VV Garage is updated only if both the old owner and new owner have VV Garage IDs
- DVLA and registration lookups are logged to HubSpot for tracking and analytics purposes
Support scenarios
- "The vehicle didn't update in Relay after a service" → Relay updates only trigger when
last_in_datechanges AND both the company relay token and vehicle relay ID are set. Check that the vehicle has a relay ID and the company has a relay token configured. - "HaynesPro data disappeared after I updated the VIN" → This is expected. HaynesPro data is automatically cleared when the VIN changes on EU company vehicles to force a fresh lookup with the new VIN.
- "VV Garage isn't syncing this vehicle" → VV Garage sync requires the customer to have a
vv_garage_customer_id. If the customer doesn't have one, the sync won't occur. Also, owner changes only sync if both old and new customers have VV Garage IDs. - "I'm being charged for HaynesPro lookups" → HaynesPro charges per category per day. Multiple lookups in the same category on the same day only count as one charge. If costs seem high, check if lookups are happening across many categories.