Subscription Fulfillment Overview
Subscriptions are generally fulfilled through the Olympus application, which has the ability to trigger the creation of a fulfillment batch on the server. This is a somewhat lengthy process. Therefore, the creation of a batch is triggered, which the runs in the background. The status of the batch-creation can be seen (it is noted in the Mailings
table). Once the mailing/fulfillment batch is completely created, it can be accessed in various ways (and the system sends an email with the appropriate files attached to the recipients interested in fulfillment batches).
There are two different kinds of fulfillments: Paper fulfillments (those that require physical magazines or welcome packages being sent to the reader) and notifications of new digital issues being read.
Paper Fulfillment Process
Olympus UI for Fulfillment Processing
In Olympus, the creation of fulfillment batches can be triggered through the following UI:
The Back-End Process to Create Welcome packages
Welcome Packages are a special type of subscription fulfillment. When a subscriber creates a new subscription, the goal is to send them a welcome package as soon as possible, in order to both get a magazine in their hands ASAP, and also to send them additional information about CODE. We currently do this for the US only, although this may change in the future. Also note that sometimes it can be logistically difficult to do this in a timely fashion. In that case, we fail to deliver the first issue of the subscription quickly, but we still want to send other CODE information when we can. Therefore, this process may also sometimes run at a much later point in time.
MORE INFORMATION IS TO BE PROVIDED HERE!!!
The Back-End Process to Create Regular Fulfillments
- When the system receives a request to create a new fulfillment batch, it first creates a record in the
Mailings
table, which indicates that a new batch exists. - The system then flags that batch as
0%
complete (that is the percentage of creation completeness… it has nothing to do with whether or not mailings have actually been processed by US mail or any other mailing provider). - The sysem can receive a request to create a “count-only” batch. Such a batch can be thought of as a “test batch”, which goes through the whole process, but instead of creating fulfillment records, it just counts the number of copies and individual recipients. A record in the
Mailings
table is still created as an anchor to tie the long running process to. In this case, thebCountOnly
flag is set to true. After the completion of the counting process, this record is removed from the system. (Note that this record does not show up through the Olympus interface). - The system then triggers a background process that can run for a while. At that point, control is returned to the user.
Once the creation of a batch is triggered on the UI, the process will continue to its conclusion, even if the UI is shut down. Theoretically, multiple batches can be created at the same time. However, that is only recommended for different distribution regions.
At this point, the background process starts the heavy lifting and digs through the subscriber records in order to create an appropriate fulfullment batch including the individual subscribers. For that, the following steps are taken:
- All subscribers with a certain status at a certain date (typical the current date) are queried, for all the regions included in the request. For instance, all
Active
subscribers with a valid subscription on the day the process is run, in theUS
andCanada
regions may be considered. - The system then processes each subscriber and checks whether that subscriber has already received their magazine. This could be because the subscription was handled in a prior fulfillment batch (or a welcome package), or - in rare cases - because the same subscriber already happened to receive promotional issus that ended up covering our obligation towards that subscriber.
- The system also checks whether the subscriber is a new subscriber from the US region, who have never received a welcome package. If they need to receive a welcome package, they are excluded from the batch, unless we force an override to process all subscribers regardless.
- If the system determines that the subscriber in question still needs to receive magazines, the sytem checks whether the subscriber is a single-copy or multi-copy subscriber, and whether or not those are to be included (requests can be created for single-copy subscribers, multi-copy subscribers, or both).
- If the request is for a real distribution batch (not just counting records) the system takes a snap-shot of the subsriber and subscription, including data such as:
- The name as it appears at that point in time is stored in the
SubscriptionFulfillments
table. - The address the mailing is sent to at that time is stored in the
SubscriptionFulfillments
table. - The current expiration date of the subscription is stored in the
SubscriptionFulfillments
table. - Full and quick qualification dates are stored in the
SubscriptionFulfillments
table. - Whether the subscription was considered a paid subscription at that point in time is stored in the
SubscriptionFulfillments
table. - The subscription status (since we can force expired or inactive subscriptions in special cases) is stored in the
SubscriptionFulfillments
table. - The offer and referral codes the subscription was based on at that time are stored in the
SubscriptionFulfillments
table. - If a subscription is considered paid, then whether or not the bill was paid (or remained unpaid) at that point in time is stored in the
SubscriptionFulfillments
table.
- The name as it appears at that point in time is stored in the