WIP PBS RO
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<babeledit_project be_version="2.7.1" version="1.2">
|
<babeledit_project version="1.2" be_version="2.7.1">
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
BabelEdit project file
|
BabelEdit project file
|
||||||
@@ -5305,6 +5305,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>ro_posting</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>sendmaterialscosting</name>
|
<name>sendmaterialscosting</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -8472,6 +8493,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>responsibilitycenter</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>templates</name>
|
<name>templates</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -138,6 +138,15 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
|||||||
<Switch />
|
<Switch />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)}
|
)}
|
||||||
|
{bodyshop.pbs_serialnumber && (
|
||||||
|
<Form.Item
|
||||||
|
label={t("bodyshop.fields.dms.ro_posting")}
|
||||||
|
valuePropName="checked"
|
||||||
|
name={["pbs_configuration", "ro_posting"]}
|
||||||
|
>
|
||||||
|
<Switch />
|
||||||
|
</Form.Item>
|
||||||
|
)}
|
||||||
{bodyshop.pbs_serialnumber && (
|
{bodyshop.pbs_serialnumber && (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("bodyshop.fields.dms.appostingaccount")}
|
label={t("bodyshop.fields.dms.appostingaccount")}
|
||||||
|
|||||||
@@ -316,6 +316,7 @@
|
|||||||
"itc_local": "Local Tax is ITC?",
|
"itc_local": "Local Tax is ITC?",
|
||||||
"itc_state": "State Tax is ITC?",
|
"itc_state": "State Tax is ITC?",
|
||||||
"mappingname": "DMS Mapping Name",
|
"mappingname": "DMS Mapping Name",
|
||||||
|
"ro_posting": "Create $0 RO?",
|
||||||
"sendmaterialscosting": "Materials Cost as % of Sale",
|
"sendmaterialscosting": "Materials Cost as % of Sale",
|
||||||
"srcco": "Source Company #/Dealer #"
|
"srcco": "Source Company #/Dealer #"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -316,6 +316,7 @@
|
|||||||
"itc_local": "",
|
"itc_local": "",
|
||||||
"itc_state": "",
|
"itc_state": "",
|
||||||
"mappingname": "",
|
"mappingname": "",
|
||||||
|
"ro_posting": "",
|
||||||
"sendmaterialscosting": "",
|
"sendmaterialscosting": "",
|
||||||
"srcco": ""
|
"srcco": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -316,6 +316,7 @@
|
|||||||
"itc_local": "",
|
"itc_local": "",
|
||||||
"itc_state": "",
|
"itc_state": "",
|
||||||
"mappingname": "",
|
"mappingname": "",
|
||||||
|
"ro_posting": "",
|
||||||
"sendmaterialscosting": "",
|
"sendmaterialscosting": "",
|
||||||
"srcco": ""
|
"srcco": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -23,5 +23,9 @@ exports.PBS_ENDPOINTS = {
|
|||||||
VehicleGet: `${pbsDomain}/VehicleGet`,
|
VehicleGet: `${pbsDomain}/VehicleGet`,
|
||||||
AccountingPostingChange: `${pbsDomain}/AccountingPostingChange`,
|
AccountingPostingChange: `${pbsDomain}/AccountingPostingChange`,
|
||||||
ContactChange: `${pbsDomain}/ContactChange`,
|
ContactChange: `${pbsDomain}/ContactChange`,
|
||||||
VehicleChange: `${pbsDomain}/VehicleChange`
|
VehicleChange: `${pbsDomain}/VehicleChange`,
|
||||||
|
RepairOrderChange: `${pbsDomain}/RepairOrderChange`, //TODO: Verify that this is correct. Docs have /reply/ in path.
|
||||||
|
RepairOrderGet: `${pbsDomain}/RepairOrderGet`,
|
||||||
|
RepairOrderContactVehicleGet: `${pbsDomain}/RepairOrderContactVehicleGet`,
|
||||||
|
RepairOrderContactVehicleChange: `${pbsDomain}/RepairOrderContactVehicleChange`,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -23,8 +23,7 @@ axios.interceptors.request.use((x) => {
|
|||||||
...x.headers[x.method],
|
...x.headers[x.method],
|
||||||
...x.headers
|
...x.headers
|
||||||
};
|
};
|
||||||
const printable = `${new Date()} | Request: ${x.method.toUpperCase()} | ${
|
const printable = `${new Date()} | Request: ${x.method.toUpperCase()} | ${x.url
|
||||||
x.url
|
|
||||||
} | ${JSON.stringify(x.data)} | ${JSON.stringify(headers)}`;
|
} | ${JSON.stringify(x.data)} | ${JSON.stringify(headers)}`;
|
||||||
//console.log(printable);
|
//console.log(printable);
|
||||||
|
|
||||||
@@ -80,14 +79,14 @@ exports.PbsSelectedCustomer = async function PbsSelectedCustomer(socket, selecte
|
|||||||
CdkBase.createLogEvent(
|
CdkBase.createLogEvent(
|
||||||
socket,
|
socket,
|
||||||
"DEBUG",
|
"DEBUG",
|
||||||
`Upserting contact information to DMS for ${
|
`Upserting contact information to DMS for ${socket.JobData.ownr_fn || ""
|
||||||
socket.JobData.ownr_fn || ""
|
|
||||||
} ${socket.JobData.ownr_ln || ""} ${socket.JobData.ownr_co_nm || ""}`
|
} ${socket.JobData.ownr_ln || ""} ${socket.JobData.ownr_co_nm || ""}`
|
||||||
);
|
);
|
||||||
const ownerRef = await UpsertContactData(socket, selectedCustomerId);
|
const ownerRef = await UpsertContactData(socket, selectedCustomerId);
|
||||||
|
socket.ownerRef = ownerRef;
|
||||||
CdkBase.createLogEvent(socket, "DEBUG", `Upserting vehicle information to DMS for ${socket.JobData.v_vin}`);
|
CdkBase.createLogEvent(socket, "DEBUG", `Upserting vehicle information to DMS for ${socket.JobData.v_vin}`);
|
||||||
await UpsertVehicleData(socket, ownerRef.ReferenceId);
|
const vehicleRef = await UpsertVehicleData(socket, ownerRef.ReferenceId);
|
||||||
|
socket.vehicleRef = vehicleRef;
|
||||||
} else {
|
} else {
|
||||||
CdkBase.createLogEvent(
|
CdkBase.createLogEvent(
|
||||||
socket,
|
socket,
|
||||||
@@ -103,6 +102,12 @@ exports.PbsSelectedCustomer = async function PbsSelectedCustomer(socket, selecte
|
|||||||
CdkBase.createLogEvent(socket, "DEBUG", `Marking job as exported.`);
|
CdkBase.createLogEvent(socket, "DEBUG", `Marking job as exported.`);
|
||||||
await MarkJobExported(socket, socket.JobData.id);
|
await MarkJobExported(socket, socket.JobData.id);
|
||||||
|
|
||||||
|
//If export succesful, check to see if an RO exists.
|
||||||
|
//If it does, update necessary elements, otherwise create it.
|
||||||
|
|
||||||
|
if (socket.jobData.bodyshop.pbs_configuration.ro_posting) { //TODO: Create `ro_posting` field on
|
||||||
|
await CreateRepairOrderInPBS(socket, socket.ownerRef, socket.VehicleRef)
|
||||||
|
}
|
||||||
socket.emit("export-success", socket.JobData.id);
|
socket.emit("export-success", socket.JobData.id);
|
||||||
} else {
|
} else {
|
||||||
CdkBase.createLogEvent(socket, "ERROR", `Export was not successful.`);
|
CdkBase.createLogEvent(socket, "ERROR", `Export was not successful.`);
|
||||||
@@ -621,3 +626,954 @@ async function InsertFailedExportLog(socket, error) {
|
|||||||
CdkBase.createLogEvent(socket, "ERROR", `Error in InsertFailedExportLog - ${error} - ${JSON.stringify(error2)}`);
|
CdkBase.createLogEvent(socket, "ERROR", `Error in InsertFailedExportLog - ${error} - ${JSON.stringify(error2)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async function CreateRepairOrderInPBS(socket) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
const ExistingRepairOrderData = await RepairOrderGet(socket);
|
||||||
|
|
||||||
|
if (ExistingRepairOrderData.RepairOrders.length === 0) {
|
||||||
|
const InsertedRepairOrder = await RepairOrderChange(socket)
|
||||||
|
} else if (ExistingRepairOrderData.RepairOrders.length === 1) {
|
||||||
|
|
||||||
|
//Upsert Scenario
|
||||||
|
const InsertedRepairOrder = await RepairOrderChange(socket)
|
||||||
|
} else {
|
||||||
|
//We had too many matches come back. Shouldn't be here.
|
||||||
|
CdkBase.createLogEvent(socket, "ERROR", `Error in CreateRepairOrderInPBS - Multiple RO's returned by PBS. ${JSON.stringify(ExistingRepairOrderData.RepairOrders)}`);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
CdkBase.createLogEvent(socket, "ERROR", `Error in CreateRepairOrderInPBS - ${error} - ${JSON.stringify(error)}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function RepairOrderGet(socket) {
|
||||||
|
try {
|
||||||
|
const { data: RepairOrderGet } = await axios.post(
|
||||||
|
PBS_ENDPOINTS.RepairOrderGet,
|
||||||
|
{
|
||||||
|
SerialNumber: socket.JobData.bodyshop.pbs_serialnumber,
|
||||||
|
//"RepairOrderId": "00000000000000000000000000000000",
|
||||||
|
"RepairOrderNumber": socket.JobData.ro_number,
|
||||||
|
// "RawRepairOrderNumber": "String",
|
||||||
|
// "Tag": "String",
|
||||||
|
// "ContactRef": "00000000000000000000000000000000",
|
||||||
|
// "ContactRefList": ["00000000000000000000000000000000"],
|
||||||
|
// "VehicleRef": "00000000000000000000000000000000",
|
||||||
|
// "VehicleRefList": ["00000000000000000000000000000000"],
|
||||||
|
// "Status": "String",
|
||||||
|
// "CashieredSince": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "CashieredUntil": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "OpenDateSince": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "OpenDateUntil": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "ModifiedSince": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "ModifiedUntil": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "Shop": "String"
|
||||||
|
},
|
||||||
|
{ auth: PBS_CREDENTIALS, socket }
|
||||||
|
);
|
||||||
|
CheckForErrors(socket, RepairOrderGet);
|
||||||
|
return RepairOrderGet;
|
||||||
|
} catch (error) {
|
||||||
|
CdkBase.createLogEvent(socket, "ERROR", `Error in RepairOrderChange - ${error}`);
|
||||||
|
throw new Error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function RepairOrderChange(socket) {
|
||||||
|
try {
|
||||||
|
const { data: RepairOrderChangeResponse } = await axios.post(
|
||||||
|
PBS_ENDPOINTS.RepairOrderChange,
|
||||||
|
{
|
||||||
|
"RepairOrderInfo": {
|
||||||
|
"Id": "string/00000000-0000-0000-0000-000000000000",
|
||||||
|
"RepairOrderId": "00000000000000000000000000000000",
|
||||||
|
|
||||||
|
SerialNumber: socket.JobData.bodyshop.pbs_serialnumber,
|
||||||
|
|
||||||
|
"RepairOrderNumber": socket.JobData.ro_number.match(/\d+/g), //TODO Verify if this is only the numbers.
|
||||||
|
"RawRepairOrderNumber": socket.JobData.ro_number,
|
||||||
|
"DateOpened": moment(), //Confirm this is today.
|
||||||
|
//"DateOpenedUTC": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
//"DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "DateCashieredUTC": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
"DatePromised": socket.JobData.scheduled_completion,
|
||||||
|
// "DatePromisedUTC": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
"DateVehicleCompleted": socket.JobData.actual_completion,
|
||||||
|
// "DateCustomerNotified": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "BookingUser": "String",
|
||||||
|
// "BookingUserRef": "00000000000000000000000000000000",
|
||||||
|
"ContactRef": socket.ownerRef?.Contact?.Id, //TODO: Verify the structure of this, it's a resoponse object from PBS.
|
||||||
|
"VehicleRef": socket.vehicleRef?.Vehicle?.Id,
|
||||||
|
"MileageIn": socket.JobData.km_in,
|
||||||
|
//"MileageOut": 0,//KM out not tracked.
|
||||||
|
//"Tag": "String",
|
||||||
|
// "Location": "String",
|
||||||
|
// "IsWaiter": false,
|
||||||
|
// "IsComeback": false,
|
||||||
|
// "Shop": "String",
|
||||||
|
// "ChargeType": "String",
|
||||||
|
// "PurchaseOrderNumber": "String",
|
||||||
|
// "Transportation": "String",
|
||||||
|
"Status": "Closed",
|
||||||
|
// "Requests": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderRequestRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderRequestId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Skill": "String",
|
||||||
|
// "RequestCode": "String",
|
||||||
|
// "RequestDescription": "String",
|
||||||
|
// "Cause": "String",
|
||||||
|
// "Correction": "String",
|
||||||
|
// "Status": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "AllowedHours": 0,
|
||||||
|
// "EstimateLabour": 0,
|
||||||
|
// "EstimateParts": 0,
|
||||||
|
// "ComeBack": false,
|
||||||
|
// "AddedOperation": false,
|
||||||
|
// "PartLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "PartRequestLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "LabourLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderLabourLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderLabourLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "OpCode": "String",
|
||||||
|
// "OpDescription": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "ActualHours": 0,
|
||||||
|
// "SoldHours": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "PriceCodeType": 0,
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "GMOPCode": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "SubletLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderSubletLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderSubletLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Description": "String",
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "TimePunches": [
|
||||||
|
// {
|
||||||
|
// "StartTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StopTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StartTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "StopTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "Summary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "Coupons": [{ "Code": "String", "Description": "String", "Amount": 0 }],
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "JobGoodWill": false,
|
||||||
|
// "JobReferback": "String",
|
||||||
|
// "ClaimNumber": "String",
|
||||||
|
// "OriginType": "String",
|
||||||
|
// "PartnerAddedReq": "String",
|
||||||
|
// "LineType": "RequestLine",
|
||||||
|
// "MenuPackagePriceType": "String",
|
||||||
|
// "TireStorageType": 0,
|
||||||
|
// "IsDeleted": false,
|
||||||
|
// "InspectionRef": "00000000000000000000000000000000",
|
||||||
|
// "AWRTechCSR": "String",
|
||||||
|
// "AWRTechCSRRef": "00000000000000000000000000000000",
|
||||||
|
// "FailureCode": "String",
|
||||||
|
// "DisplayInWebAppointments": false,
|
||||||
|
// "MarkedForDeletion": false,
|
||||||
|
// "Reason": "String",
|
||||||
|
// "Severity": "String",
|
||||||
|
// "JobNote": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "CustomerSummary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "WarrantySummary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "InternalSummary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "Loaner": {
|
||||||
|
// "VehicleRef": "00000000000000000000000000000000",
|
||||||
|
// "FriendlyId": "String",
|
||||||
|
// "DatePickup": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "DateDropOff": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "OdomPickup": 0,
|
||||||
|
// "OdomDropOff": 0,
|
||||||
|
// "AgreementNumber": 0,
|
||||||
|
// "Comments": "String"
|
||||||
|
// },
|
||||||
|
"Memo": socket.txEnvelope.story,
|
||||||
|
// "MemoCustomerCopy": false,
|
||||||
|
// "AppointmentNumber": 0,
|
||||||
|
// "AppointmentRef": "00000000000000000000000000000000",
|
||||||
|
// "LastUpdate": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "IsHardCopyPrinted": false,
|
||||||
|
// "PendingRequests": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderRequestRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderRequestId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Skill": "String",
|
||||||
|
// "RequestCode": "String",
|
||||||
|
// "RequestDescription": "String",
|
||||||
|
// "Cause": "String",
|
||||||
|
// "Correction": "String",
|
||||||
|
// "Status": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "AllowedHours": 0,
|
||||||
|
// "EstimateLabour": 0,
|
||||||
|
// "EstimateParts": 0,
|
||||||
|
// "ComeBack": false,
|
||||||
|
// "AddedOperation": false,
|
||||||
|
// "PartLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "PartRequestLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "LabourLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderLabourLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderLabourLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "OpCode": "String",
|
||||||
|
// "OpDescription": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "ActualHours": 0,
|
||||||
|
// "SoldHours": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "PriceCodeType": 0,
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "GMOPCode": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "SubletLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderSubletLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderSubletLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Description": "String",
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "TimePunches": [
|
||||||
|
// {
|
||||||
|
// "StartTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StopTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StartTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "StopTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "Summary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "Coupons": [{ "Code": "String", "Description": "String", "Amount": 0 }],
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "JobGoodWill": false,
|
||||||
|
// "JobReferback": "String",
|
||||||
|
// "ClaimNumber": "String",
|
||||||
|
// "OriginType": "String",
|
||||||
|
// "PartnerAddedReq": "String",
|
||||||
|
// "LineType": "RequestLine",
|
||||||
|
// "MenuPackagePriceType": "String",
|
||||||
|
// "TireStorageType": 0,
|
||||||
|
// "IsDeleted": false,
|
||||||
|
// "InspectionRef": "00000000000000000000000000000000",
|
||||||
|
// "AWRTechCSR": "String",
|
||||||
|
// "AWRTechCSRRef": "00000000000000000000000000000000",
|
||||||
|
// "FailureCode": "String",
|
||||||
|
// "DisplayInWebAppointments": false,
|
||||||
|
// "MarkedForDeletion": false,
|
||||||
|
// "Reason": "String",
|
||||||
|
// "Severity": "String",
|
||||||
|
// "JobNote": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "DeferredRequests": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderRequestRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderRequestId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Skill": "String",
|
||||||
|
// "RequestCode": "String",
|
||||||
|
// "RequestDescription": "String",
|
||||||
|
// "Cause": "String",
|
||||||
|
// "Correction": "String",
|
||||||
|
// "Status": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "AllowedHours": 0,
|
||||||
|
// "EstimateLabour": 0,
|
||||||
|
// "EstimateParts": 0,
|
||||||
|
// "ComeBack": false,
|
||||||
|
// "AddedOperation": false,
|
||||||
|
// "PartLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "PartRequestLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "LabourLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderLabourLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderLabourLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "OpCode": "String",
|
||||||
|
// "OpDescription": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "ActualHours": 0,
|
||||||
|
// "SoldHours": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "PriceCodeType": 0,
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "GMOPCode": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "SubletLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderSubletLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderSubletLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Description": "String",
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "TimePunches": [
|
||||||
|
// {
|
||||||
|
// "StartTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StopTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StartTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "StopTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "Summary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "Coupons": [{ "Code": "String", "Description": "String", "Amount": 0 }],
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "JobGoodWill": false,
|
||||||
|
// "JobReferback": "String",
|
||||||
|
// "ClaimNumber": "String",
|
||||||
|
// "OriginType": "String",
|
||||||
|
// "PartnerAddedReq": "String",
|
||||||
|
// "LineType": "RequestLine",
|
||||||
|
// "MenuPackagePriceType": "String",
|
||||||
|
// "TireStorageType": 0,
|
||||||
|
// "IsDeleted": false,
|
||||||
|
// "InspectionRef": "00000000000000000000000000000000",
|
||||||
|
// "AWRTechCSR": "String",
|
||||||
|
// "AWRTechCSRRef": "00000000000000000000000000000000",
|
||||||
|
// "FailureCode": "String",
|
||||||
|
// "DisplayInWebAppointments": false,
|
||||||
|
// "MarkedForDeletion": false,
|
||||||
|
// "Reason": "String",
|
||||||
|
// "Severity": "String",
|
||||||
|
// "JobNote": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "CancelledRequests": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderRequestRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderRequestId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Skill": "String",
|
||||||
|
// "RequestCode": "String",
|
||||||
|
// "RequestDescription": "String",
|
||||||
|
// "Cause": "String",
|
||||||
|
// "Correction": "String",
|
||||||
|
// "Status": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "AllowedHours": 0,
|
||||||
|
// "EstimateLabour": 0,
|
||||||
|
// "EstimateParts": 0,
|
||||||
|
// "ComeBack": false,
|
||||||
|
// "AddedOperation": false,
|
||||||
|
// "PartLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "PartRequestLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderPartsLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderPartsLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "PartRef": "00000000000000000000000000000000",
|
||||||
|
// "PartNumber": "String",
|
||||||
|
// "PartDescription": "String",
|
||||||
|
// "Requested": 0,
|
||||||
|
// "Shipped": 0,
|
||||||
|
// "Ordered": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Cost": 0,
|
||||||
|
// "UnitPrice": 0,
|
||||||
|
// "ExtendedPrice": 0,
|
||||||
|
// "NoHistory": false,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "OriginalSerialNumber": "String",
|
||||||
|
// "ReplacementSerialNumber": "String",
|
||||||
|
// "IsPartsKit": false,
|
||||||
|
// "PartsKitName": "String",
|
||||||
|
// "Comment": "String",
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "BIN": "String",
|
||||||
|
// "PartsRequestType": "Inquiry",
|
||||||
|
// "IsTransferred": false,
|
||||||
|
// "IsPickTicketPrinted": false,
|
||||||
|
// "SpecialOrderRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "LabourLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderLabourLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderLabourLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "OpCode": "String",
|
||||||
|
// "OpDescription": "String",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000",
|
||||||
|
// "ActualHours": 0,
|
||||||
|
// "SoldHours": 0,
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "PriceCodeType": 0,
|
||||||
|
// "PriceOverride": "String",
|
||||||
|
// "GMItemId": "String",
|
||||||
|
// "GMOPCode": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "SubletLines": [
|
||||||
|
// {
|
||||||
|
// "RepairOrderSubletLineRef": "00000000000000000000000000000000",
|
||||||
|
// "RepairOrderSubletLineId": 0,
|
||||||
|
// "CSR": "String",
|
||||||
|
// "CSRRef": "00000000000000000000000000000000",
|
||||||
|
// "Description": "String",
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "Price": 0,
|
||||||
|
// "Cost": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "TimePunches": [
|
||||||
|
// {
|
||||||
|
// "StartTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StopTime": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "StartTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "StopTimeLocal": "0001-01-01T00:00:00.0000000+00:00",
|
||||||
|
// "Tech": "String",
|
||||||
|
// "TechRef": "00000000000000000000000000000000"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "Summary": {
|
||||||
|
// "Labour": 0,
|
||||||
|
// "Parts": 0,
|
||||||
|
// "OilGas": 0,
|
||||||
|
// "SubletTow": 0,
|
||||||
|
// "Misc": 0,
|
||||||
|
// "Environment": 0,
|
||||||
|
// "ShopSupplies": 0,
|
||||||
|
// "Freight": 0,
|
||||||
|
// "WarrantyDeductible": 0,
|
||||||
|
// "Discount": 0,
|
||||||
|
// "SubTotal": 0,
|
||||||
|
// "Tax1": 0,
|
||||||
|
// "Tax2": 0,
|
||||||
|
// "InvoiceTotal": 0,
|
||||||
|
// "CustomerDeductible": 0,
|
||||||
|
// "CustomerDeductibleBillableDescription": "String",
|
||||||
|
// "GrandTotal": 0,
|
||||||
|
// "Status": "String",
|
||||||
|
// "DateCashiered": "0001-01-01T00:00:00.0000000Z",
|
||||||
|
// "LabourDiscount": 0,
|
||||||
|
// "PartDiscount": 0,
|
||||||
|
// "ServiceFeeTotal": 0,
|
||||||
|
// "OEMDiscount": 0
|
||||||
|
// },
|
||||||
|
// "Coupons": [{ "Code": "String", "Description": "String", "Amount": 0 }],
|
||||||
|
// "PriceCode": "String",
|
||||||
|
// "JobGoodWill": false,
|
||||||
|
// "JobReferback": "String",
|
||||||
|
// "ClaimNumber": "String",
|
||||||
|
// "OriginType": "String",
|
||||||
|
// "PartnerAddedReq": "String",
|
||||||
|
// "LineType": "RequestLine",
|
||||||
|
// "MenuPackagePriceType": "String",
|
||||||
|
// "TireStorageType": 0,
|
||||||
|
// "IsDeleted": false,
|
||||||
|
// "InspectionRef": "00000000000000000000000000000000",
|
||||||
|
// "AWRTechCSR": "String",
|
||||||
|
// "AWRTechCSRRef": "00000000000000000000000000000000",
|
||||||
|
// "FailureCode": "String",
|
||||||
|
// "DisplayInWebAppointments": false,
|
||||||
|
// "MarkedForDeletion": false,
|
||||||
|
// "Reason": "String",
|
||||||
|
// "Severity": "String",
|
||||||
|
// "JobNote": "String"
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// "Priority": 0,
|
||||||
|
// "TodayPhoneNumber": "String",
|
||||||
|
// "NotifyType": "String",
|
||||||
|
// "IncludeInternalPricing": false,
|
||||||
|
// "VINInquiryPerformed": false,
|
||||||
|
// "SONote": "String",
|
||||||
|
// "AlternateStartAddress": {
|
||||||
|
// "Name": "String",
|
||||||
|
// "Address": "String",
|
||||||
|
// "City": "String",
|
||||||
|
// "Province": "String",
|
||||||
|
// "PostalCode": "String",
|
||||||
|
// "AdditionalInfo": "String"
|
||||||
|
// },
|
||||||
|
// "AlternateEndAddress": {
|
||||||
|
// "Name": "String",
|
||||||
|
// "Address": "String",
|
||||||
|
// "City": "String",
|
||||||
|
// "Province": "String",
|
||||||
|
// "PostalCode": "String",
|
||||||
|
// "AdditionalInfo": "String"
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
"IsAsynchronous": false,
|
||||||
|
// "UserRequest": "String",
|
||||||
|
// "UserRef": "00000000000000000000000000000000"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
,
|
||||||
|
{ auth: PBS_CREDENTIALS, socket }
|
||||||
|
);
|
||||||
|
CheckForErrors(socket, RepairOrderChangeResponse);
|
||||||
|
return RepairOrderChangeResponse;
|
||||||
|
} catch (error) {
|
||||||
|
CdkBase.createLogEvent(socket, "ERROR", `Error in RepairOrderChange - ${error}`);
|
||||||
|
throw new Error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user