(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{hs51:function(e,t,i){"use strict";var r=i("rePB"),s=i("eDuk"),n=i.n(s);function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return a({},e,{context:a({},e.context||{},{typewriter:{language:"typescript",version:"7.1.0"}})})}var d={setTypewriterOptions:function(e){c=e.analytics?function(){return e.analytics||window.analytics}:c,p=e.onViolation||p},applicationBackgrounded:function(e,t,i){h({event:"Application Backgrounded",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"This event should be sent when a user backgrounds the application upon applicationDidEnterBackground",properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Application Backgrounded",type:"object"});var r=c();r&&r.track("Application Backgrounded",e||{},l(t),i)},applicationInstalled:function(e,t,i){h({event:"Application Installed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"This event fires when a user first opens your mobile application. Note, if the user never opens your app after installing, we will not be able to collect this event. This event does not wait for attribution or campaign information to be received, and is collected automatically by our SDKs. ",labels:{},properties:{context:{},properties:{properties:{build:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."},version:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."}},required:["version","build"],type:"object"},traits:{}},required:["properties"],title:"Application Installed",type:"object"});var r=c();r&&r.track("Application Installed",e||{},l(t),i)},applicationOpened:function(e,t,i){h({event:"Application Opened",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"This event fires when a user launches or foregrounds your mobile application after the first open. It will fire after the Application Installed event and again after the app is re-opened after being closed. This event does not wait for attribution information to be received but may include information about referring applications or deep link URLs if available to the application upon open.",labels:{},properties:{context:{},properties:{properties:{build:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."},version:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."}},required:["version","build"],type:"object"},traits:{}},required:["properties"],title:"Application Opened",type:"object"});var r=c();r&&r.track("Application Opened",e||{},l(t),i)},applicationUpdated:function(e,t,i){h({event:"Application Updated",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"This event fires when a user updates the application. Our SDK will automatically collect this event in lieu of an \u201cApplication Opened\u201d event when we determine that the Open is first since an update.",labels:{},properties:{context:{},properties:{properties:{build:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."},previous_build:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."},previous_version:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."},version:{description:"Dictionary of information about the current application, containing name, version and build.\nThis is collected automatically from our mobile libraries when possible."}},required:["previous_version","previous_build","version","build"],type:"object"},traits:{}},required:["properties"],title:"Application Updated",type:"object"});var r=c();r&&r.track("Application Updated",e||{},l(t),i)},articleOpened:function(e,t,i){h({event:"Article Opened",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",properties:{context:{},properties:{properties:{article_name:{description:"",type:"string"},faq_product:{description:"",type:"string"}},type:"object"},traits:{type:"object"}},title:"Article Opened",type:"object"});var r=c();r&&r.track("Article Opened",e||{},l(t),i)},assetDetailView:function(e,t,i){h({event:"Asset Detail View",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user is seeing the detail page of an asset, in the same time with the screen or page call we will send information about what asset is visualised",labels:{},properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_genre:{description:'List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:'The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"b_.*|c_.*|d_.*",type:"string"},asset_length:{description:'The total length of the video. In Kinesis the name of the field is "playout_duration". Eg: \u20182624\u2019 for content_asset_id= \'a_pjm5gc4o1x6\'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',type:"number"},asset_license_type:{description:'The type of the licence. Acceptable values: "avod.*|svod.*".',pattern:"avod.*|svod.*|fvod.*",type:"string"},asset_title:{description:"The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX' in lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"}},required:["asset_genre","asset_channel_name","asset_length","asset_title","asset_type","asset_license_type","asset_id"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Asset Detail View",type:"object"});var r=c();r&&r.track("Asset Detail View",e||{},l(t),i)},assetSelected:function(e,t,i){h({event:"Asset Selected",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Any time a user interacts (click or tap) with an element (title, search result, genre) to know more about it.",properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'",pattern:"^[^A-Z]{1,}$",type:"string"},asset_genre:{description:"List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. ",pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:"The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id.",pattern:"b_.*|c_.*|d_.*",type:"string"},asset_position:{description:"What is the asset position in the list from top to bottom, left to right. Counting starts with position 1. ",type:"number"},asset_title:{description:" The name of the series/movie/channel/genre eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX', 'Action' in lowercase. ",pattern:"^[^A-Z]{1,}$",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream') UMAS: #CreativeWorkContentType lowercase",pattern:"channel|movie|compilation|series|genre",type:"string"},list_length:{description:"How many assets are in this list. Eg. The number of search results returned. Or the number of the assets in the lane Eg. 23",type:"number"},list_name:{description:"The name of the different list types. 'TV Highlights', 'Best of Joyn', 'Search', 'Compilation' in lowercase.",pattern:"^[^A-Z]{1,}$",type:"string"},list_position:{description:"The position number, counted from top to bottom in the page. The number must be lower than the number of lanes listed on page Eg: '5'",type:"integer"},list_reco_id:{description:"If the lane was served by RECO you will get it with the asset array, if is not RECO it is -1",pattern:".*-.*-.*-.*-.*|^$|-1",type:"string"},list_type:{description:"The type of the list. Accepted values standard lane, featured lane, resumelane, hero lane, channel lane, live lane, episodes list, compilation list, search results",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["asset_id","asset_type","list_length","asset_position","screen_name","asset_genre","asset_channel_name","asset_title","list_name","list_type","list_position","list_reco_id"],type:"object"},traits:{}},required:["properties"],title:"Asset Selected",type:"object"});var r=c();r&&r.track("Asset Selected",e||{},l(t),i)},assetSelectedMoreLikeThis:function(e,t,i){h({event:"Asset Selected More Like This",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Any time a user interacts (click or tap) with an element (title, image, play button in lane) that was part of a More Like This Lane",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Asset Selected More Like This",type:"object"});var r=c();r&&r.track("Asset Selected More Like This",e||{},l(t),i)},assetSelectedRecommendedForYou:function(e,t,i){h({event:"Asset Selected Recommended For You",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Any time a user interacts (click or tap) with an element (title, image, play button in lane) that was part of a Recommended for you Lane",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Asset Selected Recommended For You",type:"object"});var r=c();r&&r.track("Asset Selected Recommended For You",e||{},l(t),i)},bookmarked:function(e,t,i){h({event:"Bookmarked",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user has added an item in his bookmarks. It doesn\u2019t matter where the bookmark is displayed we use the same tracking across the entire app.",labels:{},properties:{context:{},properties:{properties:{asset_id:{description:"The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id.",pattern:"b_.*|c_.*|d_.*",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"movie|series|compilation|home",type:"string"}},required:["screen_name","asset_id"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Bookmarked",type:"object"});var r=c();r&&r.track("Bookmarked",e||{},l(t),i)},buttonClick:function(e,t,i){h({event:"Button Click",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When we have a button and the user is interacting with that button (eg clicking on it) we want to track that button click",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"^[^A-Z]{1,}$",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_position:{description:"The position of that element in the element_container. It should be a number lower than the number of elements in that list or grid or etc. Eg '5'"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","element_position","element_name","element_type","screen_name"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Button Click",type:"object"});var r=c();r&&r.track("Button Click",e||{},l(t),i)},ctaClick:function(e,t,i){h({event:"CTA Click",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When we have a landingpage and the user is interacting with the CTA buttons",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"^[^A-Z]{1,}$",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_position:{description:"The position of that element in the element_container. It should be a number lower than the number of elements in that list or grid or etc. Eg '5'"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","element_position","element_name","element_type","screen_name"],type:"object"},traits:{type:"object"}},required:["properties"],title:"CTA Click",type:"object"});var r=c();r&&r.track("CTA Click",e||{},l(t),i)},channelSwitched:function(e,t,i){h({event:"Channel Switched",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:'The user switches the channel during playback ("zapping")',properties:{context:{},properties:{properties:{channel_from:{description:"The channel the user is on before switching. Eg: Comedy Central",pattern:"^[^A-Z]{1,}$",type:"string"},channel_to:{description:"Destination channel or channel the user selects and moves to. Eg: Comedy Central",pattern:"^[^A-Z]{1,}$",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback eg:",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["channel_from","channel_to","playback_session_id"],type:"object"},traits:{}},required:["properties"],title:"Channel Switched",type:"object"});var r=c();r&&r.track("Channel Switched",e||{},l(t),i)},checkoutStarted:function(e,t,i){h({event:"Checkout Started",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When they see the following screens: Web checkout - Step 1 benefits OR App purchase flow - Step 1",labels:{},properties:{context:{},properties:{properties:{products:{description:"An object with the details about the plan the user just purchased",items:{description:"",properties:{category:{description:"The category of products this product is part of (eg premium vs HS)",pattern:"premium",type:"string"},name:{description:"The name of the product. It can happen that this is not unique by product_id",pattern:"plus.*",type:"string"},price:{description:"The price with VAT for this product. In EUR, 2 decimals (no discount applied!)",type:"number"},product_id:{description:"The unique product ID, take from the DB. ",pattern:"deplus",type:"string"},quantity:{description:"The qty selected for this product ID. Usually will be 1.",type:"number"}},required:["quantity","price","name","category","product_id"],type:"object"},type:"array"}},required:["products"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Checkout Started",type:"object"});var r=c();r&&r.track("Checkout Started",e||{},l(t),i)},chromecast:function(e,t,i){h({event:"Chromecast",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Clicks on Chromecast icons or options within the control device. This will allow us to understand how people interact with the buttons that are Chromecast specific",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"focus|click",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","screen_name","element_name"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Chromecast",type:"object"});var r=c();r&&r.track("Chromecast",e||{},l(t),i)},experimentActivated:function(e,t,i){h({event:"Experiment Activated",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Using Full Stack we want to send a track() call with every expriment that was activated",properties:{context:{},properties:{properties:{experimentName:{description:"The experiment key, which you define when creating the experiment eg: web_test_name",pattern:"^[^A-Z]{1,}$",type:"string"},variationId:{description:"the variation key, which you define in the experiment. It is always one original and one with a descriptive name eg overlay_improved",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["experimentName","variationId"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Experiment Activated",type:"object"});var r=c();r&&r.track("Experiment Activated",e||{},l(t),i)},experimentViewed:function(e,t,i){h({event:"Experiment Viewed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Auto-event that is send from the Optimizely Web and Segment. The properties are filled by Segment automatically and we can't manipulate it, only in Optimizely Web",properties:{context:{},properties:{properties:{audienceId:{description:"",type:"string"},audienceName:{description:"",type:"string"},campaignId:{description:"",type:"string"},campaignName:{description:""},experimentId:{description:"",type:"string"},experimentName:{description:""},isInCampaignHoldback:{description:"",type:"boolean"},nonInteraction:{description:"",type:"integer"},variationId:{description:"",type:"string"},variationName:{description:""}},type:"object"},traits:{type:"object"}},title:"Experiment Viewed",type:"object"});var r=c();r&&r.track("Experiment Viewed",e||{},l(t),i)},fskCheckCompletedSuccessful:function(e,t,i){h({event:"FSK Check Completed Successful",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Once the user has filled the form to register to JOYN and he also validated his email by clicking in the email sent to confirm the email address",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"FSK Check Completed Successful",type:"object"});var r=c();r&&r.track("FSK Check Completed Successful",e||{},l(t),i)},fskFormError:function(e,t,i){h({event:"FSK Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user is seeing in the flow of the FSK process and inline error",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field|hyperlink|",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","element_type","element_name","screen_name","error_title"],type:"object"},traits:{type:"object"}},required:["properties"],title:"FSK Form Error",type:"object"});var r=c();r&&r.track("FSK Form Error",e||{},l(t),i)},fskFormInteraction:function(e,t,i){h({event:"FSK Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user is interacting with fields and buttons in the flow of the FSK process",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"click|focus",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field|hyperlink|",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","screen_name","element_action","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"FSK Form Interaction",type:"object"});var r=c();r&&r.track("FSK Form Interaction",e||{},l(t),i)},inAppPurchaseFormInteraction:function(e,t,i){h({event:"In App Purchase Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"click|focus",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_position:{description:"The position of that element in the element_container. It should be a number lower than the number of elements in that list or grid or etc. Eg '5'",type:"integer"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field",type:"string"},screen_name:{description:"",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","element_position","element_name","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"In App Purchase Form Interaction",type:"object"});var r=c();r&&r.track("In App Purchase Form Interaction",e||{},l(t),i)},installAttributed:function(e,t,i){h({event:"Install Attributed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Adjust.com specific event send only for mobile clients based on the Segment-Adjust integration. When Segment or an integrated partner can discern the source of an install, we\u2019ll collect an Install Attributed event. This event may be sent to Segment via server-to-server connection from your attribution provider, or directly on the device via packaged destinations. In either case, this will happen after install, and does not apply to all installs, which is why it is a discrete event.",labels:{},properties:{context:{},properties:{properties:{campaign:{description:"",type:"object"},"campaign.adCreative":{description:""},"campaign.adGroup":{description:""},"campaign.content":{description:""},"campaign.name":{description:""},"campaign.source":{description:"",type:"string"},provider:{description:"",type:"string"},trackerName:{description:"",type:"string"},trackerToken:{description:"",type:"string"}},type:"object"},traits:{}},title:"Install Attributed",type:"object"});var r=c();r&&r.track("Install Attributed",e||{},l(t),i)},listViewed:function(e,t,i){h({event:"List Viewed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Any time a user interacts (click or tap) with an element (tile, search result) representing a playable asset, that leads to a detail page",properties:{context:{},properties:{properties:{asset_list:{description:"An array of asset_ids + asset_title + asset_position, exactly how they listed are arranged in the list. ",items:{description:"List of objects containing the order of the assets in the list",properties:{asset_episode_id:{description:"The episode ID or compilation item ID if the asset is an episode or compilation item. '-1' if not",pattern:"a_.*|-1",type:"string"},asset_id:{description:'The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"b_.*|c_.*|d_.*|[a-z]",type:"string"},asset_position:{description:"What is the asset position in the list from top to bottom, left to right. Counting starts with position 1. ",type:"number"},asset_title:{description:" The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX' in lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["asset_title","asset_position","asset_id"],type:"object"},type:"array"},list_length:{description:"How many assets are in this list. Eg. The number of search results returned. Or the number of the assets in the lane Eg. 23",type:"number"},list_name:{description:"The name of the different list types. 'TV Highlights', 'Best of Joyn', 'Search', 'Compilation'The name of the different lane types. 'TV Highlights', 'Best of Joyn' ",pattern:"^[^A-Z]{1,}$",type:"string"},list_position:{description:"The position number, counted from top to bottom in the page. The number must be lower than the number of lanes listed on page Eg: '5'",type:"integer"},list_reco_id:{description:"If the lane was served by RECO you will get it with the asset array, if is not RECO it is -1",pattern:".*-.*-.*-.*-.*|^$|-1",type:"string"},list_type:{description:"The type of the list. Accepted values standard lane, featured lane, resumelane, hero lane, channel lane, live lane, episodes list, compilation list, search results",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["screen_name","list_name","list_position","list_type","asset_list","list_length"],type:"object"},traits:{}},required:["properties"],title:"List Viewed",type:"object"});var r=c();r&&r.track("List Viewed",e||{},l(t),i)},liveReminder:function(e,t,i){h({event:"Live Reminder",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user has added a live program in his reminder list.",labels:{},properties:{context:{},properties:{properties:{asset_id:{description:"The unique id of the asset. The asset_id for live TV is the channel ID in the format dmax-hd",pattern:"^[^A-Z]{1,}$",type:"string"},asset_title:{description:"The title of the live TV program that was just added to reminders",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen where the action was triggered (eg: Registration form, Registration success, Registration reminder)",pattern:"home|movie|series|compilation",type:"string"}},required:["screen_name","asset_id","asset_title"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Live Reminder",type:"object"});var r=c();r&&r.track("Live Reminder",e||{},l(t),i)},liveUnreminder:function(e,t,i){h({event:"Live Unreminder",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user has removed a live program from his reminder list.",labels:{},properties:{context:{},properties:{properties:{asset_id:{description:"The unique id of the asset. The asset_id for live TV is the channel ID in the format dmax-hd",pattern:"^[^A-Z]{1,}$",type:"string"},asset_title:{description:"The title of the live TV program that was just added to reminders",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen where the action was triggered (eg: Registration form, Registration success, Registration reminder)",pattern:"home|movie|series|compilation",type:"string"}},required:["screen_name","asset_id","asset_title"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Live Unreminder",type:"object"});var r=c();r&&r.track("Live Unreminder",e||{},l(t),i)},loginFormError:function(e,t,i){h({event:"Login Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to create an account they need to fill a login form. All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"field",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","element_action","screen_name","error_title","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Login Form Error",type:"object"});var r=c();r&&r.track("Login Form Error",e||{},l(t),i)},loginFormInteraction:function(e,t,i){h({event:"Login Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to create an account they need to fill a login form. All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"focus|click",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field|hyperlink",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","element_action","screen_name","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Login Form Interaction",type:"object"});var r=c();r&&r.track("Login Form Interaction",e||{},l(t),i)},loginSuccessful:function(e,t,i){h({event:"Login Successful",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user has logged in successfully. ",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Login Successful",type:"object"});var r=c();r&&r.track("Login Successful",e||{},l(t),i)},logout:function(e,t,i){h({event:"Logout",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"This event is send when the user has finalised the log out process from his account.",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Logout",type:"object"});var r=c();r&&r.track("Logout",e||{},l(t),i)},orderCompleted:function(e,t,i){h({event:"Order Completed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user has finalised the subscription checkout and he just started his trial",labels:{},properties:{context:{},properties:{properties:{affiliation:{description:"Store or affiliation from which this transaction occurred (e.g. Google Store, Apple Store, maxicom)",pattern:"iap-apple|paypal|iap-google|stripe",type:"string"},coupon:{description:"What is the code of the coupon the user added to get some benefits for this order. "},discount:{description:"Total money value of the discount associated with the transaction",type:"number"},order_id:{description:"The unique ID of the order placed by the customer for a subscription",pattern:"gpa.*|I-.*|^[0-9]{15,15}$",type:"string"},products:{description:"An object with the details about the plan the user just purchased",items:{description:"",properties:{category:{description:"The category of products this product is part of (eg premium vs HS)",pattern:"premium",type:"string"},name:{description:"The name of the product. It can happen that this is not unique by product_id",pattern:"plus.*",type:"string"},price:{description:"The price with VAT for this product. In EUR, 2 decimals (no discount applied!)",type:"number"},product_id:{description:"The unique product ID, take from the DB. ",pattern:"deplus",type:"string"},quantity:{description:"The qty selected for this product ID. Usually will be 1.",type:"number"}},required:["quantity","price","name","category","product_id"],type:"object"},type:"array"},total:{description:"The full amount the user agreed to pay by placing this order. This amount is always for a month and includes all taxes MINUS all discounts. This field will match 100% with the amount the user is expecting to be invoiced monthly. Value is in EUR, 2 decimals",type:"number"}},required:["products","order_id","discount","total","affiliation"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Order Completed",type:"object"});var r=c();r&&r.track("Order Completed",e||{},l(t),i)},orderError:function(e,t,i){h({event:"Order Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user has encounter and error when trying to finalised the subscription checkout and he can't start his trial",labels:{},properties:{context:{},properties:{properties:{affiliation:{description:"Store or affiliation from which this transaction occurred (e.g. Google Store, Apple Store, maxicom)",pattern:"iap-apple|paypal|iap-google|stripe",type:"string"},coupon:{description:"What is the code of the coupon the user added to get some benefits for this order. "},discount:{description:"Total money value of the discount associated with the transaction",type:"number"},error_code:{description:"The code of the error as received from back end. Eg. 8002",pattern:"[a-z]",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"[a-z]",type:"string"},order_id:{description:"The unique ID of the order placed by the customer for a subscription",pattern:"^[0-9]{15,15}$",type:"string"},products:{description:"An object with the details about the plan the user just purchased",items:{description:"",properties:{category:{description:"The category of products this product is part of (eg premium vs HS)",pattern:"premium",type:"string"},name:{description:"The name of the product. It can happen that this is not unique by product_id",pattern:"plus.*",type:"string"},price:{description:"The price with VAT for this product. In EUR, 2 decimals (no discount applied!)",type:"number"},product_id:{description:"The unique product ID, take from the DB. ",pattern:"deplus",type:"string"},quantity:{description:"The qty selected for this product ID. Usually will be 1.",type:"number"}},required:["quantity","price","name","category","product_id"],type:"object"},type:"array"},total:{description:"The full amount the user agreed to pay by placing this order. This amount is always for a month and includes all taxes MINUS all discounts. This field will match 100% with the amount the user is expecting to be invoiced monthly. Value is in EUR, 2 decimals",type:"number"}},required:["total","affiliation","error_title","error_code","products","order_id","discount"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Order Error",type:"object"});var r=c();r&&r.track("Order Error",e||{},l(t),i)},outboundLink:function(e,t,i){h({event:"Outbound Link",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Track the clicks on hyperlinks that get the user out of the website or app",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"click|focus|error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_position:{description:"The position of that element in the element_container. It should be a number lower than the number of elements in that list or grid or etc. Eg '5'"}},required:["element_name","element_position","element_action"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Outbound Link",type:"object"});var r=c();r&&r.track("Outbound Link",e||{},l(t),i)},pageViewed:function(e,t,i){h({event:"Page Viewed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Specific for JS library clients. When a user is seeing a page an Page Viewed event will be sent",labels:{},properties:{context:{},properties:{properties:{path:{description:"The window.location.path, URL path eg: \u2018/registration\u2019, \u2018/registration-success\u2019,",pattern:"^[^@]{1,}$",type:"string"},referrer:{description:"The URL of the previous domain the user saw. The window.document.referrer, eg: \u2018https://www.google.at/\u2019, NULL",pattern:".*",type:"string"},screen_name:{description:"The window.location.title, the title of the page visible to the customer. Eg: \u2018Registration\u2019 OR The title of the asset, correspondent to the content_asset_id. Eg: \u2018Staffel 01 Episode 01 Die L\xe4usemutter (HD)\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},search:{description:"The window.location.search, returns the query string part of a URL. \neg: \u2018?success\u2019, \nIf there is PII in the query string replace it with this string \u2018PIIdata\u2019 =>\n?alex@joyn.de search will get the value of \u2018?PIIdata\u2019\n?success&alex@joyn.de search will get the value of \u2018?success&PIIdata\u2019",pattern:"^[^@]{1,}$|^$",type:"string"},url:{description:"the full URL of the page",pattern:"^[^@]{1,}$",type:"string"}},required:["path","referrer","screen_name","url"],type:"object"},traits:{}},required:["properties"],title:"Page Viewed",type:"object"});var r=c();r&&r.track("Page Viewed",e||{},l(t),i)},partnerCodeRedemptionFormError:function(e,t,i){h({event:"Partner Code Redemption Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",properties:{context:{},properties:{properties:{element_action:{description:"",type:"string"},element_name:{description:"",type:"string"},element_type:{description:"",type:"string"},error_title:{description:"",type:"string"},screen_name:{description:"",type:"string"}},type:"object"},traits:{type:"object"}},title:"Partner Code Redemption Form Error",type:"object"});var r=c();r&&r.track("Partner Code Redemption Form Error",e||{},l(t),i)},partnerCodeRedemptionFormInteraction:function(e,t,i){h({event:"Partner Code Redemption Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",properties:{context:{},properties:{properties:{element_action:{description:"",type:"string"},element_name:{description:"",type:"string"},element_type:{description:"",type:"string"},screen_name:{description:"",type:"string"}},type:"object"},traits:{type:"object"}},title:"Partner Code Redemption Form Interaction",type:"object"});var r=c();r&&r.track("Partner Code Redemption Form Interaction",e||{},l(t),i)},registrationFormError:function(e,t,i){h({event:"Registration Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to create an account they need to fill a registration form. All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"field",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","element_action","screen_name","error_title","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Registration Form Error",type:"object"});var r=c();r&&r.track("Registration Form Error",e||{},l(t),i)},registrationFormInteraction:function(e,t,i){h({event:"Registration Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to create an account they need to fill a registration form. All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"focus|click",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","element_action","screen_name","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Registration Form Interaction",type:"object"});var r=c();r&&r.track("Registration Form Interaction",e||{},l(t),i)},screenViewed:function(e,t,i){h({event:"Screen Viewed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Applicable only for mobile SDKs. Every screen seen by the user is triggering an Screen Viewed event",labels:{},properties:{context:{},properties:{properties:{referrer:{description:"The URL of the previous domain the user saw. The window.document.referrer, eg: \u2018https://www.google.at/\u2019, NULL",pattern:".*",type:"string"},screen_name:{description:"The window.location.title, the title of the page visible to the customer. Eg: \u2018Registration\u2019 OR The title of the asset, correspondent to the content_asset_id. Eg: \u2018Staffel 01 Episode 01 Die L\xe4usemutter (HD)\u2019",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["screen_name"],type:"object"},traits:{}},required:["properties"],title:"Screen Viewed",type:"object"});var r=c();r&&r.track("Screen Viewed",e||{},l(t),i)},searchResultsDisplayed:function(e,t,i){h({event:"Search Results Displayed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Everytime the front end sends a search event from the search box upon user modification and receives a list of results (number of results is tracked with the propery search_results_count)",properties:{context:{},properties:{properties:{element_action:{description:"What was the action of the user. Did he write or used voice. Acceptable values: text | voice",pattern:"text|voice",type:"string"},search_filter_used:{description:"The type of the filter that has been used by the user to retrieve a result closer to what they are searching for. Acceptable values: all | series | movies | media libraries | compilations",pattern:"^[^A-Z]{1,}$",type:"string"},search_results_count:{description:"The number of results that specific query returned. Eg: '23'",type:"number"},search_term:{description:"When a user is performing a search (more than 3 letters) , this field will be populated with the value that was searched. Eg: 'documentary about pigs'",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["search_term","search_results_count","search_filter_used","element_action"],type:"object"},traits:{}},required:["properties"],title:"Search Results Displayed",type:"object"});var r=c();r&&r.track("Search Results Displayed",e||{},l(t),i)},turnOffTracking:function(e,t,i){h({event:"Turn Off Tracking",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user is opting out of tracking in the settings of the app.",labels:{},properties:{context:{},properties:{type:"object"},traits:{type:"object"}},title:"Turn Off Tracking",type:"object"});var r=c();r&&r.track("Turn Off Tracking",e||{},l(t),i)},unbookmark:function(e,t,i){h({event:"Unbookmark",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user has removed an item from his bookmarks. It doesn\u2019t matter where the bookmark is displayed we use the same tracking across the entire app.",labels:{},properties:{context:{},properties:{properties:{asset_id:{description:"The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id.",pattern:"b_.*|c_.*|d_.*",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["screen_name","asset_id"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Unbookmark",type:"object"});var r=c();r&&r.track("Unbookmark",e||{},l(t),i)},unpaidAttribution:function(e,t,i){h({event:"Unpaid Attribution",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"Information generated based on document.referrer and with a clean up rule in GTM.",properties:{context:{},properties:{properties:{medium:{description:"organic|referrer besed on a predefined lookup table"},source:{description:"the website domain (prettified for the most important)",pattern:"organic|referrer",type:"string"}},required:["medium","source"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Unpaid Attribution",type:"object"});var r=c();r&&r.track("Unpaid Attribution",e||{},l(t),i)},videoAdCompleted:function(e,t,i){h({event:"Video Ad Completed",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"The ad content completes playing",properties:{context:{},properties:{properties:{ad_asset_id:{description:"The unique ad asset id. Eg: 134936_YO_168893023",pattern:".*_yo_.*",type:"string"},ad_total_length:{description:"The total length in seconds of an ad. Eg: \u201820\u2019",type:"integer"},ad_type:{description:"The ad block (eg: \u2018preroll\u2019, \u2018midroll\u2019, \u2018postroll\u2019",pattern:"preroll|midroll|postroll|opener|reminder",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback eg:",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["ad_asset_id","ad_type","playback_session_id","ad_total_length"],type:"object"},traits:{}},required:["properties"],title:"Video Ad Completed",type:"object"});var r=c();r&&r.track("Video Ad Completed",e||{},l(t),i)},videoAdOmitted:function(e,t,i){h({event:"Video Ad Omitted",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Whenever an ad is omitted, i.e. not sold so the customer doesn't see an ad at this position",properties:{context:{},properties:{properties:{ad_asset_id:{description:"The unique ad asset id. Eg: 134936_YO_168893023",pattern:".*-.*-.*",type:"string"},ad_type:{description:"The ad block (eg: \u2018preroll\u2019, \u2018midroll\u2019, \u2018postroll\u2019",pattern:"preroll|midroll|postroll|opener|reminder",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback eg:",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["ad_asset_id","ad_type","playback_session_id"],type:"object"},traits:{}},required:["properties"],title:"Video Ad Omitted",type:"object"});var r=c();r&&r.track("Video Ad Omitted",e||{},l(t),i)},videoAdStarted:function(e,t,i){h({event:"Video Ad Started",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"The ad content starts playing",properties:{context:{},properties:{properties:{ad_asset_id:{description:"The unique ad asset id. Eg: 134936_YO_168893023",pattern:".*_yo_.*",type:"string"},ad_total_length:{description:"The total length in seconds of an ad. Eg: \u201820\u2019",type:"integer"},ad_type:{description:"The ad block (eg: \u2018preroll\u2019, \u2018midroll\u2019, \u2018postroll\u2019",pattern:"preroll|midroll|postroll|opener|reminder",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback eg:",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["ad_asset_id","ad_type","playback_session_id","ad_total_length"],type:"object"},traits:{}},required:["properties"],title:"Video Ad Started",type:"object"});var r=c();r&&r.track("Video Ad Started",e||{},l(t),i)},videoContentPlaying:function(e,t,i){h({event:"Video Content Playing",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Milestone every 10% of content watched",properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_episode:{description:"The episode the user is watching from the series. Eg: \u20185\u2019. If the asset_type is not an episode return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"integer"},asset_episode_id:{description:'The Id of the episode is asset_type is \u2018episode\u2019. If not then return \u2018-1\'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"a_.*",type:"string"},asset_genre:{description:'List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:'The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"b_.*|c_.*|d_.*",type:"string"},asset_length:{description:"The total length of the video. In Kinesis the name of the field is \"playout_duration\". Eg: \u20182624\u2019 for content_asset_id= 'a_pjm5gc4o1x6'. If the asset doesn't have length return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"number"},asset_license_type:{description:'The type of the licence. Acceptable values: "avod.*|svod.*".',pattern:"avod.*|svod.*|fvod.*",type:"string"},asset_percentage_complete:{description:"For when a video is playing what are the threshold the user is passing for that asset. If the video is fast forward the threshold skipped will not be sent. values: 0|10|20|30|40|50|60|70|70|80|90|100. If the user is skipping send the values that he skiped also! At the end all video that was played or skipped completely will have all values from 0 to 100. If the user is starting at eg. 50% send the values from 50% on.",type:"integer"},asset_season:{description:"The season of the episode the asset is playing. Eg: \u201814\u2019. If the asset doesn't have a season (eg. it is livestream) return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"number"},asset_title:{description:" The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream', 'compilationitem') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback \n//\nTechnical info for playback_session_id\nParse a new property entitlementJwt in JSSource structure decoder\nDecode this using JWT library and extract entitlement_id property ",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["asset_genre","asset_episode","playback_session_id","asset_license_type","asset_title","asset_length","asset_season","asset_percentage_complete","asset_episode_id","asset_id","asset_type","asset_channel_name"],type:"object"},traits:{}},required:["properties"],title:"Video Content Playing",type:"object"});var r=c();r&&r.track("Video Content Playing",e||{},l(t),i)},videoContentStarted:function(e,t,i){h({event:"Video Content Started",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:'This event corresponds to Segment\'s "Video Content started" and tracks the start of the actual content (after ads)',properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_episode:{description:"The episode the user is watching from the series. Eg: \u20185\u2019. If the asset_type is not an episode return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"integer"},asset_episode_id:{description:'The Id of the episode is asset_type is \u2018episode\u2019. If not then return \u2018-1\'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"a_.*|-1",type:"string"},asset_genre:{description:'List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:'The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"b_.*|c_.*|d_.*",type:"string"},asset_length:{description:"The total length of the video. In Kinesis the name of the field is \"playout_duration\". Eg: \u20182624\u2019 for content_asset_id= 'a_pjm5gc4o1x6'. If the asset doesn't have length return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"number"},asset_license_type:{description:'The type of the licence. Acceptable values: "avod sd | avod hd | svod | free live tv sd | free live tv hd | pay tv hd". If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return "-1"',pattern:"avod.*|svod.*|fvod.*",type:"string"},asset_season:{description:"The season of the episode the asset is playing. Eg: \u201814\u2019. If the asset doesn't have a season (eg. it is livestream) return '-1'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",type:"number"},asset_title:{description:" The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX'. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"^[^A-Z]{1,}$",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream', 'compilationitem') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback \n//\nTechnical info for playback_session_id\nParse a new property entitlementJwt in JSSource structure decoder\nDecode this using JWT library and extract entitlement_id property ",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["playback_session_id","asset_channel_name","asset_genre","asset_id","asset_episode_id","asset_length","asset_license_type","asset_title","asset_episode","asset_season","asset_type"],type:"object"},traits:{}},required:["properties"],title:"Video Content Started",type:"object"});var r=c();r&&r.track("Video Content Started",e||{},l(t),i)},videoContentStartedLegacy:function(e,t,i){h({event:"Video Content Started Legacy",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",properties:{context:{},properties:{properties:{asset_channel_name:{description:"",type:"string"},asset_episode:{description:"",type:"integer"},asset_episode_id:{description:"",type:"string"},asset_genre:{description:"",type:"string"},asset_id:{description:"",type:"string"},asset_length:{description:"",type:"integer"},asset_license_type:{description:"",type:"string"},asset_season:{description:"",type:"integer"},asset_title:{description:"",type:"string"},asset_type:{description:"",type:"string"},chromecast:{description:"",type:"boolean"},playback_session_id:{description:"",type:"string"}},type:"object"},traits:{type:"object"}},title:"Video Content Started Legacy",type:"object"});var r=c();r&&r.track("Video Content Started Legacy",e||{},l(t),i)},videoPlaybackError:function(e,t,i){h({event:"Video Playback Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Every time a video can't be served VOD is sending an Error event with a code. ",properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'",pattern:"^[^A-Z]{1,}$",type:"string"},asset_episode:{description:"The episode the user is watching from the series. Eg: \u20185\u2019. If the asset_type is not an episode return '-1'",type:"number"},asset_episode_id:{description:"The Id of the episode is asset_type is \u2018episode\u2019. If not then return \u2018-1'",pattern:"a_.*",type:"string"},asset_genre:{description:"List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. ",pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:"The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id.",pattern:"b_.*|c_.*|d_.*",type:"string"},asset_length:{description:"The total length of the video. In Kinesis the name of the field is \"playout_duration\". Eg: \u20182624\u2019 for content_asset_id= 'a_pjm5gc4o1x6'. If the asset doesn't have length return '-1'",type:"number"},asset_license_type:{description:'The type of the licence. Acceptable values: "avod.*|svod.*".',pattern:"avod.*|svod.*|fvod.*",type:"string"},asset_season:{description:"The season of the episode the asset is playing. Eg: \u201814\u2019. If the asset doesn't have a season (eg. it is livestream) return '-1'",type:"number"},asset_title:{description:" The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX'",pattern:"[a-z]",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream', 'compilationitem') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"},error_code:{description:"The code of the error as received from back end. Eg. 8002",pattern:".*",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["error_title","asset_channel_name","asset_type","asset_genre","asset_id","asset_length","asset_license_type","asset_season","asset_title","asset_episode","asset_episode_id","error_code"],type:"object"},traits:{}},required:["properties"],title:"Video Playback Error",type:"object"});var r=c();r&&r.track("Video Playback Error",e||{},l(t),i)},videoPlaybackRequested:function(e,t,i){h({event:"Video Playback Requested",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:'Everytime a user clicks on the play button/element to start playback. Includes only the event intended to play an asset/stream, not the actual start of playback (which is Video Content Started). Possible on asset detail pages, live stream area or from a lane\n\nThis event corresponds to the "Video Playback Started" of the Segment Video spec. Named after 7tv internal naming',properties:{context:{},properties:{properties:{asset_channel_name:{description:"The channel to which that asset belongs to. Eg: ProSieben, Joyn. In the case of livestream the asset_brand is the name of the channel. In the case of movies the asset_brand is the channel from where we receive this asset. If no brand in the asset meta data return '-1'",pattern:"^[^A-Z]{1,}$",type:"string"},asset_episode:{description:"The episode the user is watching from the series. Eg: \u20185\u2019. If the asset_type is not an episode return '-1'",type:"number"},asset_episode_id:{description:"The Id of the episode is asset_type is \u2018episode\u2019. If not then return \u2018-1'",pattern:"a_.*|-1",type:"string"},asset_genre:{description:"List of genre objects the content fits. See UMAS Genre for more info. Eg.\u2019 series, comedy\u2019. ",pattern:"^[^A-Z]{1,}$|^$",type:"string"},asset_id:{description:"The unique id of the asset. If the asset presented is a series is the id of the series, if the asset is a movie is the id of the movie, if it is the episode this will be the SERIES ID. Eg: d_plx0wgh1twg. If it is a live stream the values is the livestream id.",pattern:"b_.*|c_.*|d_.*",type:"string"},asset_length:{description:"The total length of the video. In Kinesis the name of the field is \"playout_duration\". Eg: \u20182624\u2019 for content_asset_id= 'a_pjm5gc4o1x6'. If the asset doesn't have length return '-1'",type:"number"},asset_license_type:{description:'The type of the licence. Acceptable values: "avod.*|svod.*".',pattern:"avod.*|svod.*|fvod.*",type:"string"},asset_position:{description:"What is the asset position in the list from top to bottom, left to right. Counting starts with position 1. ",type:"number"},asset_season:{description:"The season of the episode the asset is playing. Eg: \u201814\u2019. If the asset doesn't have a season (eg. it is livestream) return '-1'",type:"number"},asset_title:{description:"The name of the series/movie/channel eg \u2018Grey\u2019s Anatomy\u2019, 'DMAX",pattern:"[a-z]",type:"string"},asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream', 'compilationitem') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"},list_length:{description:"How many assets are in this list. Eg. The number of search results returned. Or the number of the assets in the lane Eg. 23",type:"number"},list_name:{description:"The name of the different list types. 'TV Highlights', 'Best of Joyn', 'Search', 'Compilation'",pattern:"^[^A-Z]{1,}$",type:"string"},list_position:{description:"The position number, counted from top to bottom in the page. The number must be lower than the number of lanes listed on page Eg: '5'",type:"number"},list_type:{description:"The type of the list. Accepted values standard lane, featured lane, resumelane, hero lane, channel lane, live lane, episodes list, compilation list, search results",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["asset_genre","asset_season","asset_episode","list_length","asset_type","screen_name","asset_position","list_position","list_name","asset_episode_id","asset_channel_name","asset_length","asset_id","asset_title","list_type","asset_license_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Video Playback Requested",type:"object"});var r=c();r&&r.track("Video Playback Requested",e||{},l(t),i)},videoPlayerInteraction:function(e,t,i){h({event:"Video Player Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-04/schema#",description:"Sent when the user is interacting with the players buttonss",properties:{context:{},properties:{properties:{asset_type:{description:"The type of the CreativeWork content type. For example movie, series, season. (Eg: 'sports', 'movie', 'series', 'episode', 'livestream', 'compilationitem') UMAS: #CreativeWorkContentType lowercase. If the asset is of a generic type as a list of channels OR a list or genres then the asset_title will be the name of the genre OR the name of the channel and all other asset information will return \"-1\"",pattern:"livestream|movie|compilation|series",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},playback_session_id:{description:"Unique playback id, matching the entitlement service that is unique for each playback, will be the same across multiple events that happen with the same playback eg:",pattern:".*-.*-.*-.*-.*",type:"string"}},required:["element_name","playback_session_id","asset_type"],type:"object"},traits:{}},required:["properties"],title:"Video Player Interaction",type:"object"});var r=c();r&&r.track("Video Player Interaction",e||{},l(t),i)},voucherRedemptionFormError:function(e,t,i){h({event:"Voucher Redemption Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to reedem an coupon they need to add this coupon the the Voucher Redemption page . All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","screen_name","element_type","error_title","element_name"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Voucher Redemption Form Error",type:"object"});var r=c();r&&r.track("Voucher Redemption Form Error",e||{},l(t),i)},voucherRedemptionFormInteraction:function(e,t,i){h({event:"Voucher Redemption Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When a user is trying to reedem an coupon they need to add this coupon the the Voucher Redemption page . All the interactions with that form (focus, clicks, alerts) will be contained in this event",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"click|focus",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_name","element_action","screen_name","element_type"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Voucher Redemption Form Interaction",type:"object"});var r=c();r&&r.track("Voucher Redemption Form Interaction",e||{},l(t),i)},webCheckoutFormError:function(e,t,i){h({event:"Web Checkout Form Error",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"When the user is seeing the screen and starts interacting with the fields and buttons and they see in the form errors about the input ",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"error",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"field",type:"string"},error_title:{description:"The text that was displayed to the customer eg: \u2018email format invalid\u2019",pattern:"^[^A-Z]{1,}$",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["element_action","error_title","screen_name","element_type","element_name"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Web Checkout Form Error",type:"object"});var r=c();r&&r.track("Web Checkout Form Error",e||{},l(t),i)},webCheckoutFormInteraction:function(e,t,i){h({event:"Web Checkout Form Interaction",properties:e||{},options:t},{$schema:"http://json-schema.org/draft-07/schema#",description:"\nWhen the user is seeing the screen and starts interacting with the fields and buttons",labels:{},properties:{context:{},properties:{properties:{element_action:{description:"What was the action the customer did eg: focus, click, error (when one field is showing an error message",pattern:"click|focus",type:"string"},element_name:{description:"The name of the element the user clicked or focused on\neg: email, password, register button",pattern:"^[^A-Z]{1,}$",type:"string"},element_type:{description:"The type of the element that the user interacted with. Eg: 'button', 'hyperlink', 'field'",pattern:"button|field",type:"string"},screen_name:{description:"The name of the page or the screen (eg: Registration form, Registration success, Registration reminder)",pattern:"^[^A-Z]{1,}$",type:"string"}},required:["screen_name","element_type","element_name","element_action"],type:"object"},traits:{type:"object"}},required:["properties"],title:"Web Checkout Form Interaction",type:"object"});var r=c();r&&r.track("Web Checkout Form Interaction",e||{},l(t),i)}};t.a=new Proxy(d,{get:function(e,t){return"string"===typeof t&&e.hasOwnProperty(t)?e[t]:function(){console.warn("\u26a0\ufe0f You made an analytics call (".concat(String(t),") that can't be found. Either:\n a) Re-generate your typewriter client: `npx typewriter`\n b) Add it to your Tracking Plan: https://app.segment.com/joyn.de/protocols/tracking-plans/rs_1KH5YnsknaUYhgi5mB8MpfMkqRR"));var e=c();e&&e.track("Unknown Analytics Call Fired",{method:t},l())}}})}}]); //# sourceMappingURL=4d6f2a9a.d167f72e7a35cc6ae63c.js.map