Fulfilment Process

Online entry

Online entry is managed by WooCommerce, using Wordpress plugins to extend it functionality.

The design strategy around Wordpress plugins is to minimise reliance on external systems. This will ensure that Wordpress can run, as far as possible, independently.

With this in mind the fulfilment process will run asynchronously from the main WooCommerce process flows, using a batch sync pattern to bring the other subsystems in line.

Components

WooCommerce

The WooCommerce solution is responsible for processing the orders and payments. It is decoupled from the Fulfilment component.

Fulfilment

The component runs parallel to the WooCommerce component and tracks items to be dispatched. At this point in time it tracks entries (via Participants), numbers, tags or day licenses to be issued. This includes items not yet paid.

Process

Sync trigger

Orders are tracked against a supplementary record. The wp_pos table uses a field called post_modified_gmt to indicate the last change date, which can be used to compare against the sync record’s last_sync field to detect any changes.

Once an order is created or updated a supplementary record is used to track the sync process. The supplementary record