## 🧩 **Rome Service Vehicle Insert — Developer Integration Summary** ### **Purpose & Scope** This interface allows third-party systems (like your Rome middleware) to insert a new *Service Vehicle* record into the Reynolds & Reynolds DMS. The DMS will validate the provided vehicle and customer data, create the record if valid, and respond with a status of `Success` or `Failure`. --- ### **Core Workflow** 1. **POST** a SOAP request to the Reynolds endpoint (`ProcessMessage`). 2. Include the XML payload structured as `rey_RomeServVehicleInsertRequest`. 3. Receive `rey_RomeServVehicleInsertResponse` with: * Transmission status (`GenTransStatus`), * Optional `StatusCode` from the return codes table (Appendix E). --- ### **Request (`rey_RomeServVehicleInsertRequest`)** **Sections:** * **ApplicationArea** * Metadata such as `CreationDateTime`, `BODId`, and sender/destination details. * **Vehicle** * Basic vehicle identity fields (`Vin`, `VehicleMake`, `VehicleYear`, etc.). * Sub-element `VehicleDetail` for mechanical attributes (`Aircond`, `EngineConfig`, etc.). * **VehicleServInfo** * Operational context: stock ID, customer number, advisor, warranty, production dates, etc. * Includes sub-elements: * `VehExtWarranty` (contract #, expiration date/mileage) * `Advisor` → `ContactInfo` (NameRecId) **Required core fields** * `Vin` (validated via `GEVINVAL`) * `VehicleMake`, `VehicleYear`, `ModelDesc`, `Carline` * `CustomerNo` (must pre-exist) * `SalesmanNo` (valid advisor) * `InServiceDate` ≤ current date * `TeamCode` – must exist in `MECHANICS` file --- ### **Response (`rey_RomeServVehicleInsertResponse`)** **Elements:** * `ApplicationArea` – mirrors request metadata. * `GenTransStatus` – attributes: * `Status` = `Success` | `Failure` * `StatusCode` = numeric code (see Appendix E) --- ### **Error Codes (Appendix E Highlights)** | Code | Meaning | | ------ | ----------------------------------------------------- | | `0` | Success | | `300` | Vehicle already exists | | `301` | Invalid make or ownership not established | | `502` | Advisor was terminated | | `506` | Mileage must be greater than last mileage | | `513` | VIN must be added to ERA2 before an RO can be created | | `9999` | Undefined error | --- ### **Implementation Notes** * Endpoint authentication and URL differ between **test** and **production**. * Ensure all date fields follow format `MM/DD/YYYYThh:mm:ssZ(EST)` (local dealer time). * Use `GUID` for `BODId` to ensure message traceability. * Validate VIN before submission; rejected VINs halt insertion. ---