/* Copyright (C) 2025 Interactive Brokers LLC. All rights reserved. This code is subject to the terms
 * and conditions of the IB API Non-Commercial License or the IB API Commercial License, as applicable. */

syntax = "proto3";

package protobuf;

option java_outer_classname = "ScannerSubscriptionProto";
option java_package = "com.ib.client.protobuf";
option csharp_namespace = "IBApi.protobuf";

message ScannerSubscription {
    optional int32 numberOfRows = 1;
    optional string instrument = 2;
    optional string locationCode = 3;
    optional string scanCode = 4;
    optional double abovePrice = 5;
    optional double belowPrice = 6;
    optional int64 aboveVolume = 7;
    optional double marketCapAbove = 8;
    optional double marketCapBelow = 9;
    optional string moodyRatingAbove = 10;
    optional string moodyRatingBelow = 11;
    optional string spRatingAbove = 12;
    optional string spRatingBelow = 13;
    optional string maturityDateAbove = 14;
    optional string maturityDateBelow = 15;
    optional double couponRateAbove = 16;
    optional double couponRateBelow = 17;
    optional bool excludeConvertible = 18;
    optional int64 averageOptionVolumeAbove = 19;
    optional string scannerSettingPairs = 20;
    optional string stockTypeFilter = 21;
    map<string, string> scannerSubscriptionFilterOptions = 22;
    map<string, string> scannerSubscriptionOptions = 23;
}
