Created
September 9, 2022 12:29
-
-
Save sabbaticaldev/314f65b36d55ecab18c833382a79813f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$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