import "mapreduce/yt/interface/protos/extension.proto";

package NWebmaster.NIks.NProto;

message TMascotFeatures {
    optional string Key         = 1 [(NYT.column_name) = "Key"];
    optional string Features    = 2 [(NYT.column_name) = "Features"];
}

message TIKS {
    optional string Host                = 1 [(NYT.column_name) = "Host"];
    optional string MainMirror          = 2 [(NYT.column_name) = "MainMirror"];
    optional float IKSRaw               = 3 [(NYT.column_name) = "IKSRaw"];
    optional float IKSScaled            = 4 [(NYT.column_name) = "IKSScaled"];
    optional uint64 IKSNotPenalized     = 5 [(NYT.column_name) = "IKSNotPenalized"];
    optional uint64 IKS                 = 6 [(NYT.column_name) = "IKS"];
    optional uint64 TIc                 = 7 [(NYT.column_name) = "TIc"];
    optional uint64 Sources             = 8 [(NYT.column_name) = "Sources"];
    optional float Penalty              = 9 [(NYT.column_name) = "Penalty"];
    optional float PenaltyMultiplier    = 10 [(NYT.column_name) = "PenaltyMultiplier"];
    optional float RatingMultiplier     = 11 [(NYT.column_name) = "RatingMultiplier"];
    optional int32 LastUpdate           = 12 [(NYT.column_name) = "LastUpdate"];
    optional int32 RoundsSinceUpdate    = 13 [(NYT.column_name) = "RoundsSinceUpdate"];
    optional bool UpdateByRandom        = 14 [(NYT.column_name) = "UpdateByRandom"];
    optional bool UpdateByRounds        = 15 [(NYT.column_name) = "UpdateByRounds"];
    optional bool UpdateByNewMirror     = 16 [(NYT.column_name) = "UpdateByNewMirror"];
}

message TIKSWithContent {
    optional string Host                = 1 [(NYT.column_name) = "Host"];
    optional string Path                = 2 [(NYT.column_name) = "Path"];
    optional uint64 IKS                 = 3 [(NYT.column_name) = "IKS"];
    optional uint64 PreviousIKS         = 4 [(NYT.column_name) = "PreviousIKS"];
    optional string MainMirror          = 5 [(NYT.column_name) = "MainMirror"];
    optional string Owner               = 6 [(NYT.column_name) = "Owner"];
    optional string Title               = 7 [(NYT.column_name) = "Title"];
    optional string MascotHost          = 8 [(NYT.column_name) = "MascotHost"];
}

message TTIcData {
    optional string Host    = 1 [(NYT.column_name) = "Host"];
    optional string TIcHost = 2 [(NYT.column_name) = "TIcHost"];
    optional uint64 TIc     = 3 [(NYT.column_name) = "TIc"];
}

message TIKSPenalty {
    optional string Host                    = 1 [(NYT.column_name) = "Host"];
    optional float Penalty                  = 2 [(NYT.column_name) = "Penalty"];
    optional uint64 SecondsUnderSanctions   = 3 [(NYT.column_name) = "SecondsUnderSanctions"];
    optional int64 LastSanctionTimestamp    = 4 [(NYT.column_name) = "LastSanctionTimestamp"];
    optional string UsedRanges              = 5 [(NYT.column_name) = "UsedRanges"];
    optional string Details                 = 6 [(NYT.column_name) = "Details"];
}

message TIKSVitalityHostdat {
    optional string Host                = 1 [(NYT.column_name) = "Host"];
    optional uint64 HostStatusCountOk   = 2 [(NYT.column_name) = "HostStatusCountOk"];
    optional uint64 HostStatusCountBad  = 3 [(NYT.column_name) = "HostStatusCountBad"];
}

message TIKSVitalityRobot {
    optional string Host        = 1 [(NYT.column_name) = "Host"];
    optional uint64 UrlsTotal   = 2 [(NYT.column_name) = "UrlsTotal"];
    optional uint64 UrlsGood    = 3 [(NYT.column_name) = "UrlsGood"];
}

message TIKSVitalitySerp {
    optional string Host        = 1 [(NYT.column_name) = "Host"];
    optional uint64 SerpClicks  = 2 [(NYT.column_name) = "SerpClicks"];
    optional uint64 SerpShows   = 3 [(NYT.column_name) = "SerpShows"];
}

message TIKSVitalityBandetector {
    optional string Host        = 1 [(NYT.column_name) = "Host"];
    optional string BanType     = 2 [(NYT.column_name) = "BanType"];
}

message TIKSVitality {
    optional string Host                = 1 [(NYT.column_name) = "Host"];
    optional uint64 IKS                 = 2 [(NYT.column_name) = "IKS"];
    optional uint64 SerpClicks          = 3 [(NYT.column_name) = "SerpClicks"];
    optional uint64 SerpShows           = 4 [(NYT.column_name) = "SerpShows"];
    optional uint64 UrlsTotal           = 5 [(NYT.column_name) = "UrlsTotal"];
    optional uint64 UrlsGood            = 6 [(NYT.column_name) = "UrlsGood"];
    optional uint64 HostStatusCountOk   = 7 [(NYT.column_name) = "HostStatusCountOk"];
    optional uint64 HostStatusCountBad  = 8 [(NYT.column_name) = "HostStatusCountBad"];
    optional string BanType             = 9 [(NYT.column_name) = "BanType"];
    optional bool IsDead                = 10 [(NYT.column_name) = "IsDead"];
}

message TIKSMirror {
    optional string Host        = 1 [(NYT.column_name) = "Host"];
    optional string MainMirror  = 2 [(NYT.column_name) = "MainMirror"];
}

message TAchievementsYandex {
    optional string owner        = 1 [(NYT.column_name) = "owner"];
}

message TIKSPenaltySource {
    optional string Owner               = 1 [(NYT.column_name) = "owner"];
    optional string Method              = 2 [(NYT.column_name) = "method"];
    optional string Week                = 3 [(NYT.column_name) = "week"];
    optional int32 TimeUnderSanction    = 4 [(NYT.column_name) = "time_under_sanction"];
}

message TOwnersCY {
    optional string Host        = 1 [(NYT.column_name) = "Host"];
    optional uint32 cy_flt_100  = 4 [(NYT.column_name) = "cy_flt_100"];
}

message TFrozenCY {
    optional string Owner        = 1 [(NYT.column_name) = "Owner"];
    optional uint32 cy           = 2 [(NYT.column_name) = "cy"];
    optional uint32 cy100        = 3 [(NYT.column_name) = "cy100"];
    optional uint32 cy_flt_100   = 4 [(NYT.column_name) = "cy_flt_100"];
}
