syntax = "proto2";

package maps_adv.geosmb.telegraphist.proto.common_v3;


enum TransportType {
    SMS = 1;
    EMAIL = 2;
    PUSH = 3;
    TELEGRAM = 4;
}

message Transport {
    required TransportType type = 1;
    repeated string emails = 10;
    repeated uint64 phones = 11;
    repeated uint64 telegram_uids = 12;
}

message NotificationTransportResult {
    required TransportType transport = 1;
    reserved 2;
    oneof effective_address {
        string device_id = 10;
        uint64 passport_uid = 11;
        uint64 phone = 12;
        string email = 13;
        uint64 telegram_uid = 14;
    }
    optional string error = 3;
}

message NotificationResult {
    repeated NotificationTransportResult results = 1;
}
