syntax = "proto2";

message Rule {
    optional string type = 0x1;
    optional uint32 times = 0x2;
    optional uint64 interval = 0x3;
}

message AdRequest {
    optional string client_language = 0x1;
    optional string product = 0x2;
    optional uint32 version = 0x3;
    optional string type = 0x4;
    repeated string avoidAds = 0x5;
}

message AdQueueResponse {
    repeated AdQueueEntry adQueueEntry = 0x1;
}

message AdFile {
    optional string id = 0x1;
    optional string format = 0x2;
}

message AdQueueEntry {
    optional uint64 start_time = 0x1;
    optional uint64 end_time = 0x2;
    optional double priority = 0x3;
    optional string token = 0x4;
    optional uint32 ad_version = 0x5;
    optional string id = 0x6;
    optional string type = 0x7;
    optional string campaign = 0x8;
    optional string advertiser = 0x9;
    optional string url = 0xa;
    optional uint64 duration = 0xb;
    optional uint64 expiry = 0xc;
    optional string tracking_url = 0xd;
    optional string banner_type = 0xe;
    optional string html = 0xf;
    optional string image = 0x10;
    optional string background_image = 0x11;
    optional string background_url = 0x12;
    optional string background_color = 0x13;
    optional string title = 0x14;
    optional string caption = 0x15;
    repeated AdFile file = 0x16;
    repeated Rule rule = 0x17;
}