Table of contents
No headers
// Google Protocol Buffers
// ----------------------------------------------------------------
// double int32 uint32 sint32 fixed32 sfixed32 bytes bool
// float int64 uint64 sint64 fixed64 sfixed64 string
package turboExchange.Messages.turboMessage;
message RecoveryJob //1000
{
enum MessageEvent
{
NewJob = 1; //9100,GM-JOB
JobUpdate = 2; //9100,MTS-UPD
}
message timedTextField
{
optional int64 _dateTime = 1;
required string _text = 2;
}
message vehicle
{
optional string _type = 1; //1104
optional string _make = 2; //1103
optional string _model = 3; //1103
optional string _registration = 4; //1105
optional uint32 _odometer = 5; //1106
optional string _transmission = 6; //1007
optional string _fuelType = 7; //1108
optional string _engine = 8; //1108
optional string _colour = 9; //1110
optional string _contents = 10; //1111
optional bool _towingATrailer = 11; //1112
optional float _grossMass = 12; //1113
optional string _trim = 13; //1116
}
optional MessageEvent _messageEvent = 1; //9100
required string _jobNumber = 2; //1004
optional string _agentReference = 3; //1001
optional string _acceptedBy = 4; //1002
optional int64 _jobDateTime = 5; //1005
optional string _reference = 6; //1006
optional int64 _timeOfCall = 7; //1007
optional int64 _eta = 8; //1008
optional int64 _clearTime = 9; //1009
optional uint32 _onSceneElapsed = 10; //1010
optional uint32 _clearTimeElapsed = 11; //1011
optional uint32 _etaElapsed = 12; //1012
optional int64 _memberCallDateTime = 13; //1014/1015
optional int64 _dispatchTime = 14; //1018
optional uint32 _dispatchTimeElapsed = 15; //1019
optional string _membershipDetails = 16; //1100
optional string _clientName = 17; //1101
optional string _clientAddress = 18; //1102 //coma separated
optional string _clientAddressPostcode = 19;
optional string _driverLocation = 20; //1109
optional string _symptom = 21; //1114
optional string _towType = 22; //1115
optional vehicle _vehicle = 23;
optional uint32 _odometer = 24; //1117
optional string _vehicleLocation = 25; //1200
optional string _driversPhoneNo = 26; //1201
optional string _vehicleLocationOfKeys = 27; //1202
optional uint32 _peopleOnBoardAdult = 28; //1203
optional uint32 _peopleOnBoardChild = 29; //1203
optional string _loadDescription = 30; //1204
optional string _faultCode = 31; //1205
optional string _faultDescription = 32; //1205
optional string _categoryOfService = 33; //1206
optional string _outcomeCode = 34; //1207
optional string _outcomeDescription = 35; //1207
optional string _towedTo = 36; //1208
repeated string _recoveryDriver = 37; //1209
repeated timedTextField _remarks = 38; //1210
repeated string _recoveryVehicleUsed = 39; //1211
repeated timedTextField _notes = 40; //1212 //This field is usually kept private, and shared between internal depatments.
optional double _latitude = 41; //1213
optional double _longitude = 42; //1213
optional string _controllerContact = 43; //1223
optional string _area = 44; //1222
}
message RecoveryJobReply //1005
{
enum Status
{
Accepted = 1;
Rejected = 2;
}
enum RefuseCode
{
NightMode_00 = 1; // Jobaccepted only by computer - Sender must now ring a pre arranged telephone number with job details. Used for example in 24hr operations when the computer is put into Night Mode because the operator has gone home for the night
TooBusyToDeal_01 = 2;
NotOurAera_02 = 3;
ExtremeWeather_03 = 4;
ExtremeTrafficConditions_04 = 5;
NoFacilitiesAvailable_05 = 6;
NoStaff_06 = 7;
InDisputeWithOrganisationOrMember_07 = 8;
UnableToAttendWithinETA_08 = 9;
UnableToDoRecoveryAfterRoadsideAssist_09 = 10;
TemporarilyUnavailable_10 = 11;
GuaranteeOfPaymentNotGiven_11 = 12;
NoLicenseForThisClass_12 = 13;
OutOfDriverHours_13 = 14;
UnableToDoJobOrParts_14 = 15;
AlreadyWorkingForThisOrganisation_15 = 16;
TelephoneNoAnswer_16 = 17;
TelephoneRepeatedlyEngaged_17 = 18;
TelephoneUnobtainable_18 = 19;
PassedToFitter_19 = 20;
RetransmitRequest_100 = 100;
}
required Status _status = 1;
required string _jobNumber = 2; //1004
optional int64 _eta = 3; //1008
optional RefuseCode _refuseCode = 4; //9101
}
message RecoveryClearDown //1010
{
//"9100,MTS-CLR
required string _jobNumber = 1; //1004
optional string _agentReference = 2; //1001
optional int64 _etaTime = 3; //1008
optional int64 _timeOnScene = 4;
optional int32 _timeOnSceneElapsed = 5; //1010
optional int64 _timeClear = 6; //1009
optional string _faultCode = 7; //1205
optional string _faultDescription = 8; //1205
optional string _outcomeCode = 9; //1207
optional string _outcomeDescription = 10; //1207
optional uint32 _odometer = 11; //1106
}
message TextMessage //1400
{
//9100,MTS-MSG
required string _text = 1; //1220
optional string _jobNumber = 2; //1004
optional string _agentReference = 3; //1001
optional int64 _dateTime = 4; //1005
}
message VehicleHire //1500
{
//"9100,VEHICLE-HIRE"
optional string _sendersPhoneNumber = 1; //9003
optional string _vehicleUsed = 2; //1211
optional int64 _eta = 3; //1008
optional string _vehicleBodyType = 4; //1701
optional uint32 _maxLoadLbs = 5; //1702
optional string _vehicleLocation = 6; //1200
optional string _deliveredTo = 7; //1208
}
message Invoice
{
enum Currency
{
GBP = 1;
EU = 2;
}
enum InvoiceType
{
Invoice = 1;
CreditNote = 2;
Proforma = 3;
}
message price
{
required float _quantity = 1;
required float _unitNet = 2;
required float _totalNet = 3;
required float _totalVAT = 4;
required float _vatRate = 5;
optional string _description = 6;
}
message autherisedCost
{
optional float _miles = 1;
optional float _netCost = 2;
optional string _autherisedRef = 3;
}
required RecoveryJob _recoveryJob = 1;
required InvoiceType _invoiceType = 2;
required string _invoiceNumber = 3; //0000
required int64 _invoiceDate = 4;
optional string _vatNumber = 5; //1000
optional Currency _currencyType = 6;
optional string _agentNumber = 7; //1001
repeated price _calloutCharge = 8; //0001
repeated price _mileageCharge = 9; //0002
repeated price _labourCharge = 10; //0003
repeated price _tollCharge = 11; //0004
repeated price _hours = 12; //0005
repeated price _extraMan = 13; //0006
repeated price _serviceVan = 14; //0007
repeated price _partsSold = 15; //0008
repeated price _fuelSupplied = 16; //0009
repeated price _othercharges = 17; //0010
repeated price _trailerMiles = 18; //0011
optional float _quotedPrice = 19; //0012
required float _totalNet = 20; //0013
required float _totalVatAmount = 21; //0014
required float _totalGross = 22; //0015
optional float _discountPercent = 23; //0016
optional float _discount = 24; //0016
optional string _accountRef = 25; //0017
optional autherisedCost _autherisedCost = 26;
optional string _remittenceRef = 27; //0021
optional int64 _remittenceDate = 28; //0022
optional float _remittenceGross = 29; //0023
optional string _remarks = 30; //1210
}
message InvoiceReply
{
enum InvoiceType
{
Invoice = 1;
CreditNote = 2;
Proforma = 3;
}
enum Reply
{
InvoicedReceived = 1;
InvoceAccepted = 2;
InvoiceRefused = 3;
InvoiceOnHold = 4;
DuplicateInvoice = 5;
PrintedInvoiceRequired = 6;
}
required InvoiceType _type = 1;
required Reply _reply = 2; //0021
required string _invoiceNumber = 3; //0000
optional string _jobNumber = 4; //1004
optional string _remarks = 5; //1210
}
message InvoiceRemittance //9100,REMITTANCE
{
message invoice
{
required string _invoiceNumber = 1; //0000
optional string _jobNumber = 2; //1004
required float _net = 3; //0013
required float _vat = 4; //0014
required float _gross = 5; //1015
optional string _remarks = 6;
}
optional string _agentRef = 1; //1001
optional string _remittanceRef = 2; //0021
repeated invoice _invoice = 3;
optional string _jobNumber = 4; //1004
required float _remittanceGross = 5; //0023
}
message TurboData //4000
{
required string _message = 3;
optional uint32 _magicNumber = 4;
}
