syntax = "proto3"; option go_package = "grpc/kafka_grpc"; message GRPC_ValetPayload { string handler = 1; oneof Data { VIN emptyMsg = 2; RemoteCommand remoteCmd = 3; VIN digitalTwinReq = 4; MapDestinationRequest mapDestReq = 5; MapRouteRequest MapRouteReq = 6; MapHistory mapHistory = 7; MobileSettingsUpdate settingsUpdate = 8; MobileChargeSetting mobileChargeSetting = 9; DepartureSchedule departureSchedule = 10; StorePurchases storePurchases = 11; PointOfInterest poiCreate = 12; MobilePOIEditMessage poiEdit = 13; MobilePOIDeleteMessage poiDelete = 14; VIN wakecar = 15; AddIssueRequest addIssueReq = 16; ChargingCommand chCMD = 17; RemoteCommandSrc remoteCmdSrc = 18; MobileDepartureSchedule mobileDepartureSchedule = 19; BLEKeyRequest BLEKey = 20; HMISettingsUpdate hmiSettingsUpdate = 21; HMIMapHistory hmiMapHistory = 22; HMIPOIsMessage hmiPOIsMessage = 23; UserConsentFromHMI userConsentFromHMI = 24; JSONHMIDeleteProfile hmiDeleteProfile = 25; ChargeSettings chargeSetting = 26; } } message VIN { string vin = 1; } message RemoteCommand { string vin = 1; string source = 2; optional string time = 3; int64 wait_dur = 4; string command = 5; optional string data = 6; optional string start = 7; optional string end = 8; } message RemoteCommandSrc { string cmd = 1; optional string data = 2; optional int64 start = 3; optional int64 end = 4; } message MapDestinationRequest { string vin = 1; string name = 2; TomTomAddress address = 3; MapCoordinates coordinates = 4; } message MapCoordinates { double latitude = 1 [json_name = "latitude"]; double longitude = 2 [json_name = "longitude"]; } message TomTomAddress { string street_number = 1; string street_name = 2; string local_name = 3; string postal_code = 4; string country_subdivision_name = 5; string country_code_iso3 = 6; } message MapRouteRequest { string vin = 1; repeated MapWaypoint waypoints = 2; repeated MapCoordinates route = 3; } message MapWaypoint { string type = 1; string title = 2; MapCoordinates coordinates = 3; } message MapHistory { string name = 1 [json_name = "name"]; string description = 2 [json_name = "description"]; MapCoordinates location = 3 [json_name = "location"]; } message CarSetting { string vin = 1; string driverId = 2; string name = 3; string value = 4; string type = 5; optional int64 created = 6; optional int64 updated = 7; } message MobileSettingsUpdate { string vin = 1; repeated CarSetting settings = 2; } message HMISettingsUpdate { string driverId = 1; repeated CarSetting settings = 2; } message MobileDepartureSchedule { string vin = 1; DepartureSchedule departure_schedule = 2; } message DepartureSchedule { optional string next_day_departure = 1; repeated DepartureDay departure_days = 2; } message DepartureDay { string day_of_week = 1; string time = 2; } message MobileChargeSetting { string vin = 1; ChargeSettings chargeSettings = 2; } message ChargeSettings { int32 charge_limit = 1; int32 max_current = 2; optional int32 minCharge = 3 [json_name = "min_charge"]; OffPeakCharging offPeakCcharging = 4 [json_name = "off_peak_charging"]; } message OffPeakCharging { int64 start = 1; int64 end = 2; } message StorePurchaseItem { string id = 1; } message StorePurchases { string vin = 1; repeated StorePurchaseItem purchases = 2; } message PointOfInterest { string name = 1; POILocation location = 2; } message POILocation { double latitude = 1 [json_name = "latitude"]; double longitude = 2 [json_name = "longitude"]; } message MobilePOIEditMessage { string old_name = 1; PointOfInterest user_poi = 2; } message MobilePOIDeleteMessage { string name = 1; } message AddIssueRequest { Issue issue = 1; repeated bytes images = 2; } message Issue { int32 id = 1; string vin = 2; string title = 3; string description = 4; string driver_id = 5; int64 timestamp = 6; repeated IssueImage images = 7; } message IssueImage { int32 id = 1; bytes image = 2; int32 issue_id = 3; } message ChargingCommand { string action = 1; } message BLEKeyRequest { string driver_id = 1; string ble_key = 2; } message HMIMapHistory { string driver_id = 1; repeated MapHistory searches = 2; } message HMIPOIsMessage { string DriverId = 1 [json_name = "driver_id"]; repeated PointOfInterest userPOIs = 2 [json_name = "user_pois"]; } message UserConsentFromHMI { repeated UserConsent userConsent = 1; } message UserConsent { string name = 1; bool accept = 2; string driver_id = 3; } message JSONHMIDeleteProfile { string driver_id = 1; }