Shipping
The Shipping Batch System manages the complex process of shipping physical magazines to subscribers. Each issue of the magazine requires thousands of copies to be shipped to subscribers worldwide, with varying requirements:
- Some subscribers receive multiple copies
- International shipping requires different processes
- Gift subscriptions need special attention
- Some shipments are complimentary
- Reshipments must be tracked when magazines are lost or damaged
The system organizes these shipments into “batches” - logical groupings of magazines going out for a particular issue. Each batch contains detailed shipping information, tracks the status of shipments, and maintains financial data for revenue recognition and reporting.
When processing a batch, the system:
- Identifies which subscribers should receive the current issue
- Validates shipping addresses
- Applies special handling rules
- Generates shipping files for fulfillment
- Tracks the financial implications of each shipment
- Handles reshipment requests when needed
This provides a robust framework for managing the physical distribution of magazines while maintaining detailed records for financial and operational reporting.
Data Modelling
The system has three primary model components:
Shipping Batches
The Journals are shipped in batches:
- A large batch, the main file, that is pulled when we move to a new issue
- Supplementary batches that are pulled periodically and pull in new subscribers since the main file, and also any reships that need to be made.
The batches are modelled by using our Shipping Batch class, and each individual subscription in the batch is modelled using our Shipping Batch Subscription class.
Shipping Batch Subscriptions
A record for each subscription being shipped:
- Address information
- Special handling flags
- Reship status/reasons
- Premium/Concierge information
- Gift status
Subscription Issue Records
These map a subscription to the issues that have been shipped to that subscription. Importantly, they record the amount of income that has been earned for each issue shipped for the subscription. That information is used to drive our financial reporting.
Operational Flow
1. Pull Creation
- System identifies eligible subscriptions for current issue
- Creates subscription issue records for tracking
- Groups subscriptions into shipping batch
- Validates addresses and quantities
- Applies special handling rules (premium, concierge, etc.)
- Generates initial shipping files for fulfillment
2. Shipping Completion
When batch is marked as shipped:
- Updates subscription issue statuses
- Calculates earned income for financial reporting
- Updates subscription copy counts
- Records shipping dates for tracking