This is a quick introduction to the Retail module in the InfoSystems product suite.
This topic contains the following sections:
The InfoSystems product suite contains a Retail module for keeping track of retailers that sell newspapers and magazines to customers on a single-sale basis. The Retail module has many features, of which the most important is the concept of a retailer, which is described below.
A retailer is a store, shop, outlet or other establishment that sells things to the public. In the context of the InfoSystems Retail module, a retailer is more specifically an entity that sells copies of a particular title. Every retailer is uniquely identified by a combination of their retailer number and a title code. The same store may of course sell multiple titles, but when it does it's also regarded as being two different retailers, which may or may not have the same retailer number.
On every day that a title is published and the store is open, the retailer receives a certain number of copies of the title. The number may vary depending on the day of the week, seasonally, and in an ad-hoc manner, based on many different factors. When a customer buys a copy, the money goes to the store. The owner of the title will therefore later send the retailer an invoice, whose amount of the invoice naturally depends on how many copies were sold. Therefore, the retailer must somehow report to the media corporation how many copies were sold and how many were returned.
The number of returned copies can be reported in multiple ways, one of which is the IRetailerReturnService API (TODO: link). Using the API, the employees of the store may simply fill in the number of returned copies themselves using a website or app.
Using the InfoSystems Retail module, it's possible for users of the system to manually or automatically regulate the number of copies delivered to one or more retailers within a given time period. The number of regulated copies may be either positive or negative on a given day. Note that the users referred to here are the customer support representatives of the media corporation -- not the retailers themselves.
A return number, as described above, is a type of correction. There are also two other types of corrections, which together determine the number of actual delivered copies on a given day. In some cases an insufficient number of copies is for some reason delivered to a retailer. This is known as an "addition". Likewise, if too many copies are delivered it's known as a subtraction.
Like the regulated numbers described above, these corrections are usually registered by the customer support representatives of the media corporation, and not by the retailers themselves. There is currently no public API for registering corrections other than returned numbers.
The number of actually delivered copies on a given day can be calculated with the following formula: Delivered = Ordered + Regulated + Added - Subtracted.
The number of sold copies on a given day is calculated as follows: Sold = Delivered - Returned.
In general, a retailer can have only one delivery on a given day. However, using the concept of Retail Editions it's possible to register multiple separate deliveries with different ordered amounts, different corrections and different returned amounts, on the same date. Every delivery object is associated with a single retail edition, and the same retail edition must be given when registering a return amount for that delivery. With the RegisterReturns method the retail edition code must be specified for each individual delivery, and it's possible to register returns for multiple retail editions on the same day at the same time.