Skip to content

Instantly share code, notes, and snippets.

@sabbaticaldev
Created September 9, 2022 12:29
Show Gist options
  • Save sabbaticaldev/314f65b36d55ecab18c833382a79813f to your computer and use it in GitHub Desktop.
Save sabbaticaldev/314f65b36d55ecab18c833382a79813f to your computer and use it in GitHub Desktop.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "http://discounttire.com/schemas/cvm-gkomnipos.json",
"title": "CVM to GK OmniPOS definition",
"version": "0.0.8",
"comments": [
{
"version": "0.0.8",
"changes": [
"genericVehicleNotes removed. vehicleComment (both generic and regular vehicle can use this field)",
"genericVehicleImage, Change to Vehicle Images (both generic and regular vehicle can use this field)",
"vehicleRideHeightDes, Change to Fitment Lift ID, right now we don’t have vehicle ride height des coming from c360, this might be a field we add later on if we don’t have lift id in inches",
"vehicleType. Change enum type from “Standard” to “Fitment”",
"blockedReasonDescription. Remove, no longer a field in CVM",
"taxExemptStatus, Add, the tax status will be used in PB to apply the tax."
]
}
],
"type": "object",
"properties":
{
"CVM": {
"$ref": "#/$defs/cvm"
},
"vehicle": {
"$ref": "#/$defs/vehicle"
},
"ARCharge": {
"$ref": "#/$defs/AR"
}
},
"description": "Defines the fields to be sent by CVM to communicate with the GK OmniPOS",
"$defs": {
"cvm": {
"type" : "object",
"properties": {
"customerId": {
"type": "string",
"minLength": 1,
"maxLength": 14
},
"customerFirstName": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"customerLastName": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"customerMiddleInitial": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"address": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"addressLine2": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"zipcode": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"customerPrimaryAddressCity": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"customerPrimaryAddressState": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"customerPrimaryAddressCountry": {
"enum": ["US", "MX", "CA"]
},
"primaryAddressIndicator": {
"type": "boolean"
},
"customerCountryCode": {
"type": "string",
"maxLength": 10
},
"avsIndicator": {
"type": "boolean"
},
"AZP20": {
"type": "boolean"
},
"phoneNumber": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"phoneType": {
"enum": ["Mobile", "Work", "Home"]
},
"emailAddress": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"customerEmailAddressType": {
"enum": ["Home", "Work", null]
},
"customerAddressType": {
"enum": ["Shipping"]
},
"customerType": {
"enum": ["Person", "Organization"]
},
"companyName": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"companyName2": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessPhoneNumber": {
"type": "string, null",
"minLength": 0,
"maxLength": 20
},
"businessPrimaryPurchasingPhoneNumberExt": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"businessPrimaryPurchasingFirstName": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"businessPrimaryPurchasingLastName": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"businessPrimaryPurchasingEmail": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"businessPrimaryPurchasingMobilePhoneNumber": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"businessPrimaryMobilePhoneNumber": {
"type": "string",
"maxLength": 50
},
"arAccountNumber": {
"type": "number, null",
"minLength": 0,
"maxLength": 10
},
"salesforceId": {
"type": "string, null",
"minLength": 0,
"maxLength": 10
},
"workorderAuth": {
"type": "string, null",
"minLength": 3,
"maxLength": 50
},
"paymentType": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"blockedReasonCode": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"postingBlock": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"certificatesRequired": {
"type": "boolean"
},
"poRequired": {
"type": "boolean"
},
"taxExemptCertificateId": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"taxExemptType": {
"type": "string, null"
},
"taxExemptState": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"taxClassificationCode": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"taxExemptStatus": {
"type": "string, null",
"minLength": 3,
"maxLength": 10
},
"employeeId": {
"type": "string, null",
"minLength": 3,
"maxLength": 20
},
"privateLabelCardholder": {
"enum": ["Y", "N"]
},
"myAccount": {
"enum": ["Y", "N"]
},
"military": {
"type": "boolean"
},
"aaaMembershipNumber": {
"type": "string, null",
"minLength": 0,
"maxLength": 50
},
"offlineCreation": {
"type": "boolean"
},
"b2btype": {
"enum": ["Lead", "Prospect", "Submitted for AR review", "Pending", "Customer", "Unqualified"]
},
"businessAdditionalEmail1": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessAdditionalEmail2": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessAdditionalEmail3": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessAdditionalEmail4": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessAdditionalEmail5": {
"type": "string",
"minLength": 6,
"maxLength": 50
}
}
},
"vehicle": {
"type": "object",
"properties": {
"driverName": {
"type": "string",
"maxLength": 50
},
"driverEmail": {
"type": "string",
"maxLength": 50
},
"vehicleType": {
"enum": ["Fitment", "Generic"]
},
"customerVehicleID": {
"type": "string"
},
"fitmentVehicleId": {
"type": "string",
"maxLength": 50
},
"vehicleYear": {
"type": "number"
},
"vehicleMake": {
"type": "string",
"maxLength": 50
},
"vehicleModel": {
"type": "string",
"maxLength": 50
},
"fitmentTrimId": {
"type": "string",
"maxLength": 50
},
"vehicleTrim": {
"type": "string",
"maxLength": 50
},
"fitmentChassisId": {
"type": "string",
"maxLength": 50
},
"fitmentAssemblyId": {
"type": "string",
"maxLength": 50
},
"fitmentLiftId": {
"type": "string",
"maxLength": 50
},
"vehicleColor": {
"type": "string",
"maxLength": 50
},
"vehicleComment": {
"type": "string",
"maxLength": 20
},
"genericMake": {
"type": "string, null",
"maxLength": 50
},
"genericModel": {
"type": "string, null",
"maxLength": 50
},
"genericTrim": {
"type": "string, null",
"maxLength": 50
},
"vehicleImage": {
"type": "string, null",
"maxLength": 255
},
"genericVehicleCategory": {
"type": "string, null",
"maxLength": 50
},
"genericVehicleSubcategory": {
"type": "string, null",
"maxLength": 50
},
"genericBoltPattern": {
"type": "string, null",
"maxLength": 50
},
"genericLugNut": {
"type": "string, null",
"maxLength": 50
},
"genericTorque": {
"type": "string, null",
"maxLength": 50
},
"vehicleLicensePlate": {
"type": "string",
"maxLength": 50
},
"vehicleLicensePlateState": {
"type": "string",
"maxLength": 50
},
"vehicleLicensePlateCountry": {
"type": "string",
"maxLength": 50
},
"vehicleVIN": {
"type": "string",
"maxLength": 50
},
"offlineCreationIndicator": {
"type": "boolean"
},
"oneTimeVehicleIndicator": {
"type": "string",
"maxLength": 50
},
"IHSIndicator": {
"type": "boolean",
"maxLength": 50
},
"vtvId": {
"type": "string",
"maxLength": 50
},
"vehicleMileage": {
"type": "number"
},
"carryOut": {
"type": "boolean"
},
"assemblyType": {
"type": "string"
},
"frontTireRatio": {
"type": "numeric"
},
"frontTireDiameter": {
"type": "numeric"
},
"frontRimSize": {
"type": "numeric"
},
"frontTireWidth": {
"type": "numeric"
},
"rearTireRatio": {
"type": "numeric"
},
"rearTireDiameter": {
"type": "numeric"
},
"rearRimSize": {
"type": "numeric"
},
"rearTireWidth": {
"type": "numeric"
},
"frontTirePressureOverride": {
"type": "numeric"
},
"rearTirePressureOverride": {
"type": "numeric"
},
"Tires": {
"type": "array",
"items": {
"type": "object",
"properties":{
"position": {
"type": "string"
},
"dotNumber": {
"type": "string"
},
"readings": {
"type": "string"
},
"dotAgeByPosition": {
"type": "string"
},
"notesByPosition": {
"type": "string"
},
"recallStatusByPosition": {
"type": "string"
},
"loadRange": {
"type": "string"
},
"loadIndex": {
"type": "number"
},
"rawReadings": {
"type": "array"
},
"servicesPerformed": {
"type": "string"
},
"treadEntryMode": {
"type": "string"
},
"tireStatus": {
"type": "string"
},
"recallFlag": {
"type": "string"
},
"treadDepth": {
"type": "array"
}
}
}
}
}
},
"AR": {
"type" : "object",
"properties": {
"driverName": {
"type": "string",
"maxLength": 50
},
"companyName": {
"type": "string",
"minLength": 6,
"maxLength": 50
},
"businessStreetAddress": {
"type": "string",
"maxLength": 100
},
"businessCity": {
"type": "string",
"maxLength": 50
},
"businessState": {
"type": "string",
"maxLength": 50
},
"businessZip": {
"type": "string",
"maxLength": 50
},
"vehicleYear": {
"type": "number"
},
"vehicleMake": {
"type": "string",
"maxLength": 50
},
"vehicleModel": {
"type": "string",
"maxLength": 50
},
"vehicleLicensePlateNumber": {
"type": "string",
"maxLength": 50
},
"vehicleLicensePlateState": {
"type": "string",
"maxLength": 50
},
"vin": {
"type": "string",
"maxLength": 50
},
"mileage": {
"type": "string",
"maxLength": 50
},
"fleetCardNumber": {
"type": "string",
"maxLength": 50
},
"stockNumber": {
"type": "string",
"maxLength": 50
},
"unitNumber": {
"type": "string",
"maxLength": 50
},
"fleetNumber": {
"type": "string",
"maxLength": 50
},
"driverEmail": {
"type": "string",
"maxLength": 50
},
"jobNumber": {
"type": "string",
"maxLength": 50
},
"driverLicenseNumber": {
"type": "string",
"maxLength": 50
},
"customerPoNumber": {
"type": "string",
"maxLength": 50
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment