Package model overview¶
Target Audience: Users, Stakeholders
Introduction¶
This section describes the Payway concepts Product, Package and Campaign and how these relates to each other.
Relations¶
Package relations¶
Packages are the primary model used for sellable products within Payway. A Package can always be sold to a customer, granted they pass any configured order validation (and doesn't already have an active subscription for the specific package).
A Package includes multiple products, which makes up the level of access the customer should be granted.
Campaign relations¶
Campaigns are the secondary model used for sellable products within Payway. A Campaign can usually only be bought once, and can also associate with other packages/campaigns through our campaign purchase/gift rules.
A Campaign is always based on a Package, and cannot have individually controlled levels of access.
Product relations¶
Products are the "back-bone" of Payway, and cannot be sold individually. They are the entity that controls the level of access, and allows you to decide whether your customers should see certain content or not separately from what Packages or Campaigns are actively being sold.
Products (that are or have been sold) will always be included in a Package.
How to do access verification¶
Access verification in Payway is recommended to be done through what Products are included in a Package or Campaign that the customer has bought. Consider this example:
Jane Doe, which is a loyal customer to your news site, have bought the "Web package" package. It may be tempting to perform access verification towards the "web_package" package code, as that is after all what has been bought, but this would be incorrect.
The recommendation is to consider what Products are included in this package. Referring to the image above, we can see that the "Web package" package has the "product_web" product code. This means that you would want to perform access verification towards the "product_web" product code.
In the future, when Jane Doe decides they want the "Print paper package" instead, your verification will still work, as we can see the "Print paper package" also happens to include the "product_web" product code, even though they are two completely separate packages.
Remember, Campaigns never have included products of their own, and will instead inherit these products from their underlying Package, which will add another important step in verifying your customer's access.