3.7 KiB
3.7 KiB
Rome – Update Body Shop Management Repair Order (v1.6, Jan 2016) — Full Synapse
Purpose This interface allows a Body Shop Management (BSM) system to update an existing Repair Order (RO) in the Reynolds & Reynolds DMS. It covers updates to general RO details, labor operations, parts, GOG (gas, oil, grease) items, and miscellaneous charges .
🧩 Core Workflow
-
BSM System → RCI Gateway → Reynolds DMS
- BSM sends a SOAP/XML request (
rey_RomeUpdateBSMRepairOrderReq) to RCI. - DMS validates and processes the update.
- DMS replies with
rey_RomeUpdateBSMRepairOrderResp.
- BSM sends a SOAP/XML request (
-
Supported updates
- Comments, tax codes, and estimate type.
- Labor operation details (e.g., billing rates, opcodes).
- Parts (add, delete, modify).
- GOG and Misc items with financial attributes.
🧱 Request Structure — rey_RomeUpdateBSMRepairOrderReq
| Section | Description | |
|---|---|---|
| ApplicationArea | Identifies sender (Rome/RCI), creation time, and destination dealer/store. |
|
| RoRecord | Main data payload, with attribute `FinalUpdate="Y | N"`. Includes general, labor, part, GOG, and misc subsections. |
RoRecord subsections
-
Rogen: Header data —
RoNo,CustNo,TagNo, mileage, and optionalRoCommentInfo,EstimateInfo, andTaxCodeInfo. -
Rolabor: One or more
OpCodeLaborInfonodes containing:OpCode,JobNo, and pay type flags (Cust,Intr,Warr).- Nested
BillTimeRateHrs,CCCStmts(Cause/Complaint/Correction), andRoAmts(billing amounts).
-
Ropart: Job-linked
PartInfoByJobwithOSDPartDetailitems. -
Rogog: “Gas/Oil/Grease” lines (
AllGogOpCodeInfo→AllGogLineItmInfo). -
Romisc: Miscellaneous charge sections (
MiscOpCodeInfo→MiscLineItmInfo).
📤 Response Structure — rey_RomeUpdateBSMRepairOrderResp
| Element | Description | |
|---|---|---|
| ApplicationArea | Mirrors the request metadata (sender now ERA/RR). |
|
| GenTransStatus | `Status="Success | Failure"and numericStatusCode`. |
| RoRecordStatus | Attributes include Status, Date, Time, OutsdRoNo, DMSRoNo, and ErrorMessage. |
⚙️ Key Return Codes
| Code | Meaning |
|---|---|
0 |
Success |
300 |
RO not found |
301 |
Invalid RO number |
501 |
Invalid tax code |
503 |
Invalid opcode |
9999 |
Undefined system error |
🧩 Implementation Notes
- FinalUpdate="Y" signals the RO is finalized in the DMS.
- The DMS uses RO#, Dealer#, and Store# to locate the target record.
- JobNo groups labor and parts within the same operation.
- Monetary and tax fields are sent as strings (DMS expects implicit decimal).
- Every RO update must be uniquely identified by a BODId (GUID).
- Validation failures trigger a response with
Status="Failure"andErrorMessagepopulated.