syntax = "proto3";
package amazon_poc;

message Amazon {
    enum DeviceType {
        /*
         * Field indicating type of device stream was made from:
         * 0=Desktop
         * 1=Cell phone app/mobile web (portable device under 7 inches)
         * 2=Tablet app (portable device larger than 7 inches)
         * 3=In-dash car integration (Tesla, BMW)
         * 4=Mobile-to-car tether (ApplePlay, Andriod Auto)
         * 5=Connected Home TV (Apple TV, Amazon Fire, Google TV, Roku, Connected TV)
         * 6=Connected Home Audio Tether (Google Cast Audio, Sonos)
         * 7=Gaming System (PlayStation, Xbox)
         * 8=Voice Controlled Device (Amazon Echo, Google Home)
         * 9=Other
         */
        DESKTOP = 0;
        CELL_PHONE_APP_MOBILE_WEB = 1;
        TABLET_APP = 2;
        IN_DASH_CAR_INTEGRATION = 3;
        MOBILE_TO_CAR_TETHER = 4;
        CONNECTED_HOME_TV = 5;
        CONNECTED_HOME_AUDIO_TETHER = 6;
        GAMING_SYSTEM = 7;
        VOICE_CONTROLLED_DEVICE = 8;
        OTHER = 9;
    }
    enum LeanForward {
        /*
         * These were defined by getting the unique values from the data
         */
        DEFAULT_VALUE = 0;
        ALBUM = 1;
        ARTIST = 2;
        AUTO_PLAYLIST = 3;
        GENRE = 4;
        RECENTLY_ADDED = 15;
        RECENTLY_PLAYED = 6;
        SEARCH = 7;
        SONGS = 8;
        TRACK = 9;
        USER_PLAYLIST = 10;
    }
    enum LeanBack {
        /*
         * These were defined by getting the unique values from the data
         */
        DEFAULT_VALUE = 0;
        AMF_STATION = 1;
        AMF_STATION_SEED = 2;
        CUSTOM_MIX = 3;
        ERROR = 4;
        GNO_PRIME_PLAYLIST = 5;
        GNO_UNL_PLAYLIST = 6;
        GOLDEN_PLAYLIST = 7;
        PRIME_PLAYLIST = 8;
        PRIME_STATION = 9;
        PRIME_STATION_SEED = 10;
        SHARED_PLAYLIST = 11;
        SIMILARITY = 12;
        SIMILARITY_STATION = 13;
        STATION = 14;
        UNDEFINED = 15;
        UNKNOWN = 16;
        UNL_STATION_SEED = 17;
        UNLIMITED_PLAYLIST = 18;
        UNLIMITED_STATION = 19;
        UNLIMITED_STATION_SE = 20;
    }
    enum OperatingSystem {
        /*
         * These were defined by getting the unique values from the data
         */
        DEFAULT_VALUE = 0;
        ALEXA = 1;
        ANDROID = 2;
        FIRE_OS = 3;
        IOS = 4;
        MAC_OSX = 5;
        THIRD_PARTY_DEVICE_OS = 6;
        UNKNOWN = 7;
        WINDOWS = 8;
    }
    enum ReferralSourceType {
        /*
         * Referral source that drove the user to play the track (if any):
         * 1=Websites or hyperlinks
         * 2=Search Result
         * 3=SME promotional marketing inventory
         * 4=SME paid promotion
         * 5=Recommended content promotions
         * 6=Not Available (natural unpromoted plays and all other referral sources)
         * *other categories may be added over time to capture alternate referral sources.
         */
        DEFAULT_VALUE = 0;
        WEBSITES_OR_HYPERLINKS = 1;
        SEARCH_RESULT = 2;
        SME_PROMOTIONAL_MARKETING_INVENTORY = 3;
        SME_PAID_PROMOTION = 4;
        RECOMMENDED_CONTENT_PROMOTIONS = 5;
        NOT_AVAILABLE = 6;
    }
    enum SelectionSourceType {
        /*
         * SME categories based on where in the client the stream was initiated
         * (to be amended and refined in partnership with provider)
         */
        DEFAULT_VALUE = 0;
        ALBUM = 1;
        ARTIST = 2;
        AUTO_PLAYLIST = 3;
        PRIME_PLAYLIST = 4;
        PRIME_STATION = 5;
        SONGS = 6;
        USER_PLAYLIST = 7;
    }
    enum StreamSourceType {
        /*
         * SME categories based on where in the client the stream was initiated (to be amended and refined in partnership with provider):
         * 1=Search Results page
         * 2=Artist Profile page
         * 3=Content pages (for content provider-delivered album / track / playlist products outside of the collection)
         * 4=User-Created playlists, and other user-curated areas (where selected tracks, albums, favorites, etc. are saved)
         * 5=Followed/Saved 3rd Party Artists or Playlists in the User's Collection
         * 6=Promotional areas curated by the provider (such as a recommended music page or "Browse" area)
         * 7="Recent Activity" feature
         * 8=API Partner integration
         * 9=Semi-interactive radio station
         * 10=Charts and algorithmic selections controlled by the provider
         * 11=All other areas
         * *other categories may be added over time to capture alternate streaming sources.
         */
        DEFAULT_VALUE = 0;
        SEARCH_RESULTS_PAGE = 1;
        ARTIST_PROFILE_PAGE = 2;
        CONTENT_PAGES = 3;
        USER_CREATED_PLAYLISTS = 4;
        FOLLOWED_SAVED_THIRD_PARTY = 5;
        PROMOTIONAL = 6;
        RECENT_ACTIVITY = 7;
        API_PARTNER = 8;
        SEMI_INTERACTIVE_RADIO_STATION = 9;
        CHARTS_AND_ALGORITHMIC = 10;
        ALL_OTHER_AREAS = 11;
    }
}
