Create business models like AVOD, SVOD, TVOD, manage regions, pricing, and currencies

Monetization Service

Management service to create business models like AVOD, SVOD, TVOD. Configuration of products, pricing and currencies, and integration of external payment providers, e.g. PayPal, Google Play.

Overview

Monetization Service is a managed multi-tenant service that maintains the data about available Subscription Plans and Payment Plans. It provides a GUI for management and publishing of the data consumed by other services.

Monetization Service is a part of a larger Monetization and Billing context.

monetization service container
Figure 1. Monetization Service container diagram

Data Model

The Data Model is described in context of the Monetization and Billing context.

Monetization Service stores data in a relational database. Monetization Service owns the following entities and stores them in its database:

  • Subscription Plans

  • Payment Plans

  • Claim Sets

  • Bundles.

It also stores:

Locking of Published Data

Due to specific requirements of payment provider integration, some special constraints are applied to published entities which prevent the editing and removal of published entities and/or properties. These constraints are applied to prevent configurations from diverging from those in use by configured payment providers which might cause billing of existing subscriptions to fail.

Properties where these publication constraints apply are noted below.

Interfaces

Monetization Service API provides a GraphQL API for management and publishing of all entities. Monetization API also implements command handlers for processing of messages from other services.

Workflows

Monetization Service provides management and publishing workflows for its all entities. The workflows are available from the Management System once the service is activated for a specific environment.

As well as the Monetization API, Monetization workflows also use:

The monetization hub page is an entry point to Monetization Management Stations.

monetization workflows hub
Figure 2. Monetization Hub

Subscription Plans

The Subscription Plans explorer lists all Subscription Plans. The Publication State of each Subscription Plan is indicated by a color on the left.

A new Subscription Plan can be created with the "NEW" button on the right of the title bar. Upon creating a new Subscription Plan, or opening a Subscription Plan from the explorer page, the Subscription Plan Details page will be displayed.

monetization workflows subscription plan details
Figure 3. Subscription Plan Details station

Properties edited at the Subscription Plan Details station will be saved on navigating away from the page, but will have no effect until the Subscription Plan is published.

Table 1. Subscription Plan editable properties
Property Description

Title

Display name for Subscription Plan. The title will be used to identify the Subscription Plan in the Monetization Service UI and will be published for display in other systems including to potential subscribers.

Description

A description for the Subscription Plan. This should describe the benefits to a potential subscriber.

Status

Determines whether new subscriptions can be made with this Subscription Plan. Existing subscriptions to an inactive Subscription Plan will continue to be billed. NOTE: as with other properties the Subscription Plan must be published for changes to take effect.

Payment Providers and Settings

Add / remove the list of Payment Providers that can be used to subscribe. At least one Payment Provider must be enabled. For each enabled payment provider, at least one Payment Plan must enable the same payment provider. The UI and publish validation for settings varies per supported payment provider. See payment provider specific documentation for details.

Subscription Plan actions
  • Claim Sets Management - Add / remove assigned to Claim Sets.

  • Payment Plans - Opens the Payment Plans explorer station to manage Payment Plans owned by this Subscription Plan.

  • Manage Cover Image - Assign a Subscription Plan Cover Image that is uploaded to Image Service.

  • Publishing - Validate and publish the Subscription Plan. See Publishing.

  • Delete - Delete the Subscription Plan including owned Payment Plans.

Note
Published Subscription Plans cannot be deleted.

Payment Plans

The Payment Plans explorer station lists the Payment Plans owned by a Subscription Plan. The Publication State of each Payment Plan is indicated by a color on the left. Note that Payment Plans are always published with the parent Subscription Plan.

A new Payment Plan can be created with the "NEW" button on the right of the title bar. Upon creating a new Payment Plan, or opening a Payment Plan from the explorer page, the Payment Plan Details page will be displayed.

monetization workflows payment plan details
Figure 4. Payment Plan Details station

Properties edited at the Payment Plan Details station will be saved on navigating away from the page, but will have no effect until the parent Subscription Plan is published.

Table 2. Payment Plan editable properties
Property Description

Title

Display name for Payment Plan. The title will be used to identify the Payment Plan in the Monetization Service UI and will be published for display in other systems including to potential subscribers.

Description

A description for the Payment Plan. This should describe payment terms and the benefits to a potential subscriber.

Status

Determines whether new subscriptions can be made with this Payment Plan. Existing subscriptions to an inactive Payment Plan will continue to be billed. If the parent Subscription Plan is inactive then this property is ignored.

Recurrence Period

Required. Defines the recurring Subscription Period. Some payment provider may only support a subset of the available options. This will be validated before publishing. See payment provider specific documentation for details.

NOTE: The recurrence period cannot be changed after publication.

Payment Providers and Settings

Add / remove the list of Payment Providers that can be used to subscribe. Only Payment Providers which are enabled on the parent Subscription Plan can be used. At least one Payment Provider must be enabled. The UI and publish validation for settings varies per supported payment provider. See payment provider specific documentation for details.

Subscription Plan actions
  • Price per Country - Manage price and currency per country.

  • Delete - Delete the Payment Plan.

Note
Published Payment Plans cannot be deleted.

Price per Country

The Price per Country explorer station lists prices configured for a single Payment Plan.

monetization workflows price per country
Figure 5. Price per Country station

A single price and currency can be configured for each country where this Payment Plan can be used. Subscribers will not be able to subscribe from a country that is not listed. At least one country must be added per Payment Plan. This will be validated before Subscription Plan publishing.

Prices will be saved on navigating away from the page, but will have no effect until the parent Subscription Plan is published.

Note
Published countries cannot be removed, but the currency and price for published countries can be changed. Although publication state per country is not directly displayed in the UI, the delete (X) button is disabled for published countries.

Claim Sets

The Claim Sets explorer lists all Claim Sets. The Publication State of each Claim Set is indicated by a color on the left.

A new Claim Set can be created with the "NEW" button on the right of the title bar. Upon creating a new Claim Set, or opening a Claim Set from the explorer page, the Claim Set Details page will be displayed.

monetization workflows claim set details
Figure 6. Claim Set Details station

Properties edited at the Claim Set Details station will be saved on navigating away from the page, but will have no effect until the Claim Set is published.

Table 3. Claim Set editable properties
Property Description

Title

Display name for Claim Sets. The title will be used to identify the Claim Set in the Monetization Service UI and will be published for display in other systems.

Description

A description for the Claim Set.

Unique Key

A unique key used to assign the claim set to Subscription Plans. As an identifier published with the Subscription Plan, the unique key will be known by the frontend and can be used to customize the user experience.

NOTE: The unique key cannot be changed when the Claim Set is published.

Claim Set actions
  • Claims - Manage the claims assigned to the Claim Set.

  • Publishing - Validate and publish the Claim Set. See Publishing.

  • Unpublish - Unpublish the Claim Set.

  • Delete - Delete the Subscription Plan including owned Payment Plans.

Note
Published Claim Sets cannot be deleted. Claim Sets can be unpublished, but not while assigned to a published Subscription Plan.
Important
After unassigning a Claim Set from a Subscription Plan ensure the change to the Subscription Plan is published before the Claim Set is unpublished. Failure to do so may cause Claims to not work as expected.

Claims

The Claims editor is used to select the Claims assigned to a Claim Set. At least one claim must be selected to publish the Claim Set.

monetization workflows claims
Figure 7. Claim Set Details station

The full list of selectable Claims is divided into groups with each group represented by a horizontal section. The visibility of each section can be toggled. Each section includes a context menu with an option to 'Deselect all' from that group.

There are several distinct user interfaces for claims groups. Each is used for groups with specific properties:

monetization workflows claims single select
Figure 8. A claims group with selection mode SINGLE is displayed as a list of radio buttons. At most one claim from the group can be selected.
monetization workflows claims multiple select few
Figure 9. A claims group with selection mode MULTIPLE and 5 or less claim options is displayed as a list of checkboxes. Any number of claims from the group can be selected.
monetization workflows claims multiple select many
Figure 10. A claims group with selection mode MULTIPLE and more than 5 claim options is displayed as a dynamic list to which items can be added through a modal explorer. Open the modal explorer with the '+' button. The modal explorer lists all remaining claims from the group with abilities to filter and bulk select items.

Publishing

Subscription Plans and Claim Sets share a common publication process. Publication is a 2-step process:

  1. Validate

  2. Publish

Upon pressing "Publishing", validation rules are applied, and a list of errors and warnings are displayed. The validation page is always displayed even in the case that there no issues so it is safe to click "Publishing" to see the current validation state even if you do not wish to publish at the time.

  • Errors prevent publication.

  • Warnings do not prevent publication.

monetization workflows publishing errors
Figure 11. Subscription Plan Publishing errors

Each error or warning message will clearly state where the issue is. Resolve any errors, and click "Publishing" again to re-run validation.

If validation succeeds without any errors, then a "Publish" button is displayed.

monetization workflows publishing success
Figure 12. Subscription Plan Publishing validation

Click the "Publish" button and confirm to publish. An additional check will run to ensure that changes have not been made since validation.

Successful publishing has the following effects:

  • A publication event will be published to a message bus which will be received by relevant services.

  • The Publication state of published entities with change to PUBLISHED.

Publication State

Publication state is a common property shared by all publishable entities.

Table 4. Publication state key
Explorer Color Value Description

Gray

NOT_PUBLISHED

This entity has never been published.

Green

PUBLISHED

This entity is published. No changes have been made since last publication.

Orange

CHANGED

This entity is published. Changes have been made since last publication. This includes changes to a child entity or relation which result in a change to the published message payload. E.g. if a new Payment Plan is added to a PUBLISHED Subscription Plan, the new payment plan will be NOT_PUBLISHED and the parent subscription plan will be CHANGED.

Authentication & Authorization

Monetization Service is a managed service. All API communication requires a JWT bearer token issued by the Admin Service.

Permissions

The following permissions are defined by Monetization Service.

Permission Description

Admin

Full access

Subscription plans: View

View Subcription Plan properties and all child entities (Payment Plans, Provider Configs, Prices)

Subscription plans: Manage

View, edit and publish Subcription Plans and all child entities (Payment Plans, Provider Configs, Prices)

Claim sets: View

View Claim Sets and assigned claims

Claim sets: Manage

View, edit and publish Claim Sets and assigned claims

Claim Definitions: Synchronize

Update claim definitions. This permissions is intended for service accounts only.

Administration

The following items can be configured for the Monetization Service in the Mosaic Admin Portal:

  • Payment Providers and their configuration

Billing

The service fee follows the tiered model depending on the number of maintained Subscription Plans. See Mosaic Pricing for more details.