feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration - Checkpoint

This commit is contained in:
Dave
2025-10-08 13:57:34 -04:00
parent 2ffc4b81f4
commit de02b34a63
28 changed files with 2550 additions and 2443 deletions

View File

@@ -1,135 +1,139 @@
<rr:RepairOrderChgRq xmlns:rr="http://reynoldsandrey.com/">
<!-- Optional request metadata -->
{{#RequestId}}<rr:RequestId>{{RequestId}}</rr:RequestId>{{/RequestId}}
{{#Environment}}<rr:Environment>{{Environment}}</rr:Environment>{{/Environment}}
<rr:Dealer>
<rr:DealerCode>{{DealerCode}}</rr:DealerCode>
{{#DealerName}}<rr:DealerName>{{DealerName}}</rr:DealerName>{{/DealerName}}
{{#DealerNumber}}<rr:DealerNumber>{{DealerNumber}}</rr:DealerNumber>{{/DealerNumber}}
{{#StoreNumber}}<rr:StoreNumber>{{StoreNumber}}</rr:StoreNumber>{{/StoreNumber}}
{{#BranchNumber}}<rr:BranchNumber>{{BranchNumber}}</rr:BranchNumber>{{/BranchNumber}}
</rr:Dealer>
<rr:RepairOrder>
<!-- Identity -->
{{#RepairOrderId}}<rr:RepairOrderId>{{RepairOrderId}}</rr:RepairOrderId>{{/RepairOrderId}}
{{#RepairOrderNumber}}<rr:RepairOrderNumber>{{RepairOrderNumber}}</rr:RepairOrderNumber>{{/RepairOrderNumber}}
<!-- Header fields that may be patched -->
{{#Status}}<rr:Status>
{{Status}}</rr:Status>{{/Status}} <!-- e.g., OPEN|IN_PROGRESS|CLOSED -->
{{#ROType}}<rr:ROType>
{{ROType}}</rr:ROType>{{/ROType}} <!-- e.g., INSURANCE|CUSTOMER_PAY -->
{{#OpenDate}}<rr:OpenDate>{{OpenDate}}</rr:OpenDate>{{/OpenDate}}
{{#PromisedDate}}<rr:PromisedDate>{{PromisedDate}}</rr:PromisedDate>{{/PromisedDate}}
{{#CloseDate}}<rr:CloseDate>{{CloseDate}}</rr:CloseDate>{{/CloseDate}}
{{#ServiceAdvisorId}}<rr:ServiceAdvisorId>{{ServiceAdvisorId}}</rr:ServiceAdvisorId>{{/ServiceAdvisorId}}
{{#TechnicianId}}<rr:TechnicianId>{{TechnicianId}}</rr:TechnicianId>{{/TechnicianId}}
{{#LocationCode}}<rr:LocationCode>{{LocationCode}}</rr:LocationCode>{{/LocationCode}}
{{#Department}}<rr:Department>{{Department}}</rr:Department>{{/Department}}
{{#PurchaseOrder}}<rr:PurchaseOrder>{{PurchaseOrder}}</rr:PurchaseOrder>{{/PurchaseOrder}}
<!-- Optional customer patch -->
{{#Customer}}
<rr:Customer>
{{#CustomerId}}<rr:CustomerId>{{CustomerId}}</rr:CustomerId>{{/CustomerId}}
{{#CustomerName}}<rr:CustomerName>{{CustomerName}}</rr:CustomerName>{{/CustomerName}}
{{#PhoneNumber}}<rr:PhoneNumber>{{PhoneNumber}}</rr:PhoneNumber>{{/PhoneNumber}}
{{#EmailAddress}}<rr:EmailAddress>{{EmailAddress}}</rr:EmailAddress>{{/EmailAddress}}
</rr:Customer>
{{/Customer}}
<!-- Optional vehicle patch -->
{{#Vehicle}}
<rr:Vehicle>
{{#VIN}}<rr:VIN>{{VIN}}</rr:VIN>{{/VIN}}
{{#LicensePlate}}<rr:LicensePlate>{{LicensePlate}}</rr:LicensePlate>{{/LicensePlate}}
{{#Year}}<rr:Year>{{Year}}</rr:Year>{{/Year}}
{{#Make}}<rr:Make>{{Make}}</rr:Make>{{/Make}}
{{#Model}}<rr:Model>{{Model}}</rr:Model>{{/Model}}
{{#Odometer}}<rr:Odometer>{{Odometer}}</rr:Odometer>{{/Odometer}}
{{#Color}}<rr:Color>{{Color}}</rr:Color>{{/Color}}
</rr:Vehicle>
{{/Vehicle}}
<!-- Line changes: use one of AddedJobLines / UpdatedJobLines / RemovedJobLines -->
{{#AddedJobLines}}
<rr:AddedJobLine>
{{#Sequence}}<rr:Sequence>{{Sequence}}</rr:Sequence>{{/Sequence}}
{{#OpCode}}<rr:OpCode>{{OpCode}}</rr:OpCode>{{/OpCode}}
{{#Description}}<rr:Description>{{Description}}</rr:Description>{{/Description}}
{{#LaborHours}}<rr:LaborHours>{{LaborHours}}</rr:LaborHours>{{/LaborHours}}
{{#LaborRate}}<rr:LaborRate>{{LaborRate}}</rr:LaborRate>{{/LaborRate}}
{{#PartNumber}}<rr:PartNumber>{{PartNumber}}</rr:PartNumber>{{/PartNumber}}
{{#PartDescription}}<rr:PartDescription>{{PartDescription}}</rr:PartDescription>{{/PartDescription}}
{{#Quantity}}<rr:Quantity>{{Quantity}}</rr:Quantity>{{/Quantity}}
{{#UnitPrice}}<rr:UnitPrice>{{UnitPrice}}</rr:UnitPrice>{{/UnitPrice}}
{{#ExtendedPrice}}<rr:ExtendedPrice>{{ExtendedPrice}}</rr:ExtendedPrice>{{/ExtendedPrice}}
{{#TaxCode}}<rr:TaxCode>{{TaxCode}}</rr:TaxCode>{{/TaxCode}}
{{#PayType}}<rr:PayType>
{{PayType}}</rr:PayType>{{/PayType}} <!-- CUST|INS|WARR|INT -->
{{#Reason}}<rr:Reason>{{Reason}}</rr:Reason>{{/Reason}}
</rr:AddedJobLine>
{{/AddedJobLines}}
{{#UpdatedJobLines}}
<rr:UpdatedJobLine>
<!-- Identify the existing line either by Sequence or LineId -->
{{#LineId}}<rr:LineId>{{LineId}}</rr:LineId>{{/LineId}}
{{#Sequence}}<rr:Sequence>{{Sequence}}</rr:Sequence>{{/Sequence}}
{{#ChangeType}}<rr:ChangeType>
{{ChangeType}}</rr:ChangeType>{{/ChangeType}} <!-- PRICE|QTY|DESC|OPCODE|PAYTYPE -->
{{#OpCode}}<rr:OpCode>{{OpCode}}</rr:OpCode>{{/OpCode}}
{{#Description}}<rr:Description>{{Description}}</rr:Description>{{/Description}}
{{#LaborHours}}<rr:LaborHours>{{LaborHours}}</rr:LaborHours>{{/LaborHours}}
{{#LaborRate}}<rr:LaborRate>{{LaborRate}}</rr:LaborRate>{{/LaborRate}}
{{#PartNumber}}<rr:PartNumber>{{PartNumber}}</rr:PartNumber>{{/PartNumber}}
{{#PartDescription}}<rr:PartDescription>{{PartDescription}}</rr:PartDescription>{{/PartDescription}}
{{#Quantity}}<rr:Quantity>{{Quantity}}</rr:Quantity>{{/Quantity}}
{{#UnitPrice}}<rr:UnitPrice>{{UnitPrice}}</rr:UnitPrice>{{/UnitPrice}}
{{#ExtendedPrice}}<rr:ExtendedPrice>{{ExtendedPrice}}</rr:ExtendedPrice>{{/ExtendedPrice}}
{{#TaxCode}}<rr:TaxCode>{{TaxCode}}</rr:TaxCode>{{/TaxCode}}
{{#PayType}}<rr:PayType>{{PayType}}</rr:PayType>{{/PayType}}
{{#Reason}}<rr:Reason>{{Reason}}</rr:Reason>{{/Reason}}
</rr:UpdatedJobLine>
{{/UpdatedJobLines}}
{{#RemovedJobLines}}
<rr:RemovedJobLine>
{{#LineId}}<rr:LineId>{{LineId}}</rr:LineId>{{/LineId}}
{{#Sequence}}<rr:Sequence>{{Sequence}}</rr:Sequence>{{/Sequence}}
{{#OpCode}}<rr:OpCode>{{OpCode}}</rr:OpCode>{{/OpCode}}
{{#Reason}}<rr:Reason>{{Reason}}</rr:Reason>{{/Reason}}
</rr:RemovedJobLine>
{{/RemovedJobLines}}
<!-- Totals (optional patch if RR expects header totals on change) -->
{{#Totals}}
<rr:Totals>
{{#LaborTotal}}<rr:LaborTotal>{{LaborTotal}}</rr:LaborTotal>{{/LaborTotal}}
{{#PartsTotal}}<rr:PartsTotal>{{PartsTotal}}</rr:PartsTotal>{{/PartsTotal}}
{{#MiscTotal}}<rr:MiscTotal>{{MiscTotal}}</rr:MiscTotal>{{/MiscTotal}}
{{#TaxTotal}}<rr:TaxTotal>{{TaxTotal}}</rr:TaxTotal>{{/TaxTotal}}
{{#GrandTotal}}<rr:GrandTotal>{{GrandTotal}}</rr:GrandTotal>{{/GrandTotal}}
</rr:Totals>
{{/Totals}}
<!-- Insurance (optional update) -->
{{#Insurance}}
<rr:Insurance>
{{#CompanyName}}<rr:CompanyName>{{CompanyName}}</rr:CompanyName>{{/CompanyName}}
{{#ClaimNumber}}<rr:ClaimNumber>{{ClaimNumber}}</rr:ClaimNumber>{{/ClaimNumber}}
{{#AdjusterName}}<rr:AdjusterName>{{AdjusterName}}</rr:AdjusterName>{{/AdjusterName}}
{{#AdjusterPhone}}<rr:AdjusterPhone>{{AdjusterPhone}}</rr:AdjusterPhone>{{/AdjusterPhone}}
</rr:Insurance>
{{/Insurance}}
<!-- Notes (append or replace depending on RR semantics) -->
{{#Notes}}
<rr:Notes>
{{#Items}}<rr:Note>{{.}}</rr:Note>{{/Items}}
</rr:Notes>
{{/Notes}}
</rr:RepairOrder>
</rr:RepairOrderChgRq>
<rey_RomeUpdateBSMRepairOrderReq xmlns="{{STAR_NS}}" revision="1.0">
<BSMRepairOrderChgReq>
<RepairOrder>
{{#RepairOrderId}}<RepairOrderId>{{RepairOrderId}}</RepairOrderId>{{/RepairOrderId}}
{{#RepairOrderNumber}}<RepairOrderNumber>{{RepairOrderNumber}}</RepairOrderNumber>{{/RepairOrderNumber}}
{{#Status}}<Status>
{{Status}}</Status>{{/Status}}
{{#ROType}}<ROType>
{{ROType}}</ROType>{{/ROType}}
{{#OpenDate}}<OpenDate>{{OpenDate}}</OpenDate>{{/OpenDate}}
{{#PromisedDate}}<PromisedDate>{{PromisedDate}}</PromisedDate>{{/PromisedDate}}
{{#CloseDate}}<CloseDate>{{CloseDate}}</CloseDate>{{/CloseDate}}
{{#ServiceAdvisorId}}<ServiceAdvisorId>{{ServiceAdvisorId}}</ServiceAdvisorId>{{/ServiceAdvisorId}}
{{#TechnicianId}}<TechnicianId>{{TechnicianId}}</TechnicianId>{{/TechnicianId}}
{{#LocationCode}}<LocationCode>{{LocationCode}}</LocationCode>{{/LocationCode}}
{{#Department}}<Department>{{Department}}</Department>{{/Department}}
{{#PurchaseOrder}}<PurchaseOrder>{{PurchaseOrder}}</PurchaseOrder>{{/PurchaseOrder}}
{{#Customer}}
<Customer>
{{#CustomerId}}<CustomerId>{{CustomerId}}</CustomerId>{{/CustomerId}}
{{#CustomerName}}<CustomerName>{{CustomerName}}</CustomerName>{{/CustomerName}}
{{#PhoneNumber}}<PhoneNumber>{{PhoneNumber}}</PhoneNumber>{{/PhoneNumber}}
{{#EmailAddress}}<EmailAddress>{{EmailAddress}}</EmailAddress>{{/EmailAddress}}
</Customer>
{{/Customer}}
{{#Vehicle}}
<ServiceVehicle>
{{#VehicleId}}<VehicleId>{{VehicleId}}</VehicleId>{{/VehicleId}}
{{#VIN}}<VIN>{{VIN}}</VIN>{{/VIN}}
{{#LicensePlate}}<LicensePlate>{{LicensePlate}}</LicensePlate>{{/LicensePlate}}
{{#Year}}<Year>{{Year}}</Year>{{/Year}}
{{#Make}}<Make>{{Make}}</Make>{{/Make}}
{{#Model}}<Model>{{Model}}</Model>{{/Model}}
{{#Odometer}}<Odometer>{{Odometer}}</Odometer>{{/Odometer}}
{{#Color}}<Color>{{Color}}</Color>{{/Color}}
</ServiceVehicle>
{{/Vehicle}}
{{#AddedJobLines}}
<AddedJobLines>
{{#Items}}
<JobLine>
{{#Sequence}}<Sequence>{{Sequence}}</Sequence>{{/Sequence}}
{{#ParentSequence}}<ParentSequence>{{ParentSequence}}</ParentSequence>{{/ParentSequence}}
{{#OpCode}}<OpCode>{{OpCode}}</OpCode>{{/OpCode}}
{{#Description}}<Description>{{Description}}</Description>{{/Description}}
{{#LineType}}<LineType>
{{LineType}}</LineType>{{/LineType}}
{{#Category}}<Category>
{{Category}}</Category>{{/Category}}
{{#LaborHours}}<LaborHours>{{LaborHours}}</LaborHours>{{/LaborHours}}
{{#LaborRate}}<LaborRate>{{LaborRate}}</LaborRate>{{/LaborRate}}
{{#PartNumber}}<PartNumber>{{PartNumber}}</PartNumber>{{/PartNumber}}
{{#PartDescription}}<PartDescription>{{PartDescription}}</PartDescription>{{/PartDescription}}
{{#Quantity}}<Quantity>{{Quantity}}</Quantity>{{/Quantity}}
{{#UnitPrice}}<UnitPrice>{{UnitPrice}}</UnitPrice>{{/UnitPrice}}
{{#ExtendedPrice}}<ExtendedPrice>{{ExtendedPrice}}</ExtendedPrice>{{/ExtendedPrice}}
{{#DiscountAmount}}<DiscountAmount>{{DiscountAmount}}</DiscountAmount>{{/DiscountAmount}}
{{#TaxCode}}<TaxCode>{{TaxCode}}</TaxCode>{{/TaxCode}}
{{#GLAccount}}<GLAccount>{{GLAccount}}</GLAccount>{{/GLAccount}}
{{#ControlNumber}}<ControlNumber>{{ControlNumber}}</ControlNumber>{{/ControlNumber}}
{{#Taxes}}
<Taxes>
{{#Items}}
<Tax>
<Code>{{Code}}</Code>
<Amount>{{Amount}}</Amount>
{{#Rate}}<Rate>{{Rate}}</Rate>{{/Rate}}
</Tax>
{{/Items}}
</Taxes>
{{/Taxes}}
{{#PayType}}<PayType>
{{PayType}}</PayType>{{/PayType}}
{{#Reason}}<Reason>{{Reason}}</Reason>{{/Reason}}
</JobLine>
{{/Items}}
</AddedJobLines>
{{/AddedJobLines}}
{{#UpdatedJobLines}}
<UpdatedJobLines>
{{#Items}}
<JobLine>
{{#LineId}}<LineId>{{LineId}}</LineId>{{/LineId}}
{{#Sequence}}<Sequence>{{Sequence}}</Sequence>{{/Sequence}}
{{#ChangeType}}<ChangeType>
{{ChangeType}}</ChangeType>{{/ChangeType}}
{{#OpCode}}<OpCode>{{OpCode}}</OpCode>{{/OpCode}}
{{#Description}}<Description>{{Description}}</Description>{{/Description}}
{{#LaborHours}}<LaborHours>{{LaborHours}}</LaborHours>{{/LaborHours}}
{{#LaborRate}}<LaborRate>{{LaborRate}}</LaborRate>{{/LaborRate}}
{{#PartNumber}}<PartNumber>{{PartNumber}}</PartNumber>{{/PartNumber}}
{{#PartDescription}}<PartDescription>{{PartDescription}}</PartDescription>{{/PartDescription}}
{{#Quantity}}<Quantity>{{Quantity}}</Quantity>{{/Quantity}}
{{#UnitPrice}}<UnitPrice>{{UnitPrice}}</UnitPrice>{{/UnitPrice}}
{{#ExtendedPrice}}<ExtendedPrice>{{ExtendedPrice}}</ExtendedPrice>{{/ExtendedPrice}}
{{#TaxCode}}<TaxCode>{{TaxCode}}</TaxCode>{{/TaxCode}}
{{#PayType}}<PayType>{{PayType}}</PayType>{{/PayType}}
{{#Reason}}<Reason>{{Reason}}</Reason>{{/Reason}}
</JobLine>
{{/Items}}
</UpdatedJobLines>
{{/UpdatedJobLines}}
{{#RemovedJobLines}}
<RemovedJobLines>
{{#Items}}
<JobLine>
{{#LineId}}<LineId>{{LineId}}</LineId>{{/LineId}}
{{#Sequence}}<Sequence>{{Sequence}}</Sequence>{{/Sequence}}
{{#OpCode}}<OpCode>{{OpCode}}</OpCode>{{/OpCode}}
{{#Reason}}<Reason>{{Reason}}</Reason>{{/Reason}}
</JobLine>
{{/Items}}
</RemovedJobLines>
{{/RemovedJobLines}}
{{#Totals}}
<Totals>
{{#LaborTotal}}<LaborTotal>{{LaborTotal}}</LaborTotal>{{/LaborTotal}}
{{#PartsTotal}}<PartsTotal>{{PartsTotal}}</PartsTotal>{{/PartsTotal}}
{{#MiscTotal}}<MiscTotal>{{MiscTotal}}</MiscTotal>{{/MiscTotal}}
{{#TaxTotal}}<TaxTotal>{{TaxTotal}}</TaxTotal>{{/TaxTotal}}
{{#GrandTotal}}<GrandTotal>{{GrandTotal}}</GrandTotal>{{/GrandTotal}}
</Totals>
{{/Totals}}
{{#Insurance}}
<Insurance>
{{#CompanyName}}<CompanyName>{{CompanyName}}</CompanyName>{{/CompanyName}}
{{#ClaimNumber}}<ClaimNumber>{{ClaimNumber}}</ClaimNumber>{{/ClaimNumber}}
{{#AdjusterName}}<AdjusterName>{{AdjusterName}}</AdjusterName>{{/AdjusterName}}
{{#AdjusterPhone}}<AdjusterPhone>{{AdjusterPhone}}</AdjusterPhone>{{/AdjusterPhone}}
</Insurance>
{{/Insurance}}
{{#Notes}}
<Notes>
{{#Items}}<Note>{{.}}</Note>{{/Items}}
</Notes>
{{/Notes}}
</RepairOrder>
</BSMRepairOrderChgReq>
</rey_RomeUpdateBSMRepairOrderReq>