1. Project Overview

Sondra Blank is setting up an online auction site on www.cbf.ca and needs auction functionality on the site. Ultimate WooCommerce Auction Pro provides auction functionality, so the plan is to use our auction plugin as the foundation and add a set of custom requirements on top of it, described in this proposal.

Here’s how we understand it

  • Celebrities who offer both a game and a speedball lesson will also have a package (game + lesson). Many offer only one, so they won’t have a package.
  • The individual game and lesson run as auctions (optionally Buy Now too); the package is Buy Now only.
  • The moment a package is bought, both individual listings close. The moment an individual item is bought or won, the package becomes unavailable. (The remaining individual item simply stays live on its own.)
  • Closing happens immediately on purchase/win.
  • Each affected listing will show a short note letting bidders know it shares inventory and may become unavailable if a related offer is taken.

Our solution

Because these related listings share a single unit of inventory, only one of them can ever be fulfilled. To handle this, we have prepared a solution plan built on top of our auction plugin: a Linked Inventory Add-On Plugin that links the related listings for one offering into a package, and automatically closes the remaining auction products in that package the moment any one of them is sold or won — so the same inventory can never be sold twice.

This proposal covers the complete development of the add-on plugin: a package management area, automatic closing on both the auction-win and Buy Now purchase paths, an automatic reopen safeguard, and a bidder-facing note on linked listings. It is delivered as a standalone add-on plugin that works with the auction plugin through its existing extension points, so the core plugin continues to receive normal updates without conflict.

The four core development areas are:

  • Package Management — a dedicated admin area under WooCommerce to link auction products into packages, with search, add/remove, and a per-package bidder note
  • Auction-Win Sync — when an auction product is won at close, the other auction products in its package are closed automatically
  • Buy Now Sync — when an auction product is purchased through Buy Now, the other auction products in its package are closed at the moment the order is placed
  • Bidder Note — a short shared-inventory note displayed on every linked listing

 

  1. Customer Requirements
  2. Linked Listings (Game, Lesson & Package)
  • A celebrity offering both a game and a speedball lesson will have three listings: the individual game, the individual lesson, and a package (game + lesson).
  • The individual game and lesson run as auctions, optionally with Buy Now as well.
  • The package is Buy Now only.
  • A celebrity offering only one of the two has no package — nothing needs to be linked in that case.
  • Any number of these linked sets can run at the same time, independently of one another.
  1. Automatic Closing on Purchase or Win
  • The moment the package is bought, both individual listings (game and lesson) close.
  • The moment an individual listing is bought (Buy Now) or won at auction close, the package becomes unavailable.
  • When one individual listing is taken, the other individual listing simply stays live on its own.
  • Closing happens immediately on purchase or win — not at payment confirmation.
  1. Buy Now Purchase Behavior
  • When a package or an individual listing is bought via Buy Now, the related listings close as soon as the order is placed.
  • The listing that was actually bought continues through the normal WooCommerce checkout and payment process unchanged.
  • If that order is later cancelled or refunded, the listings that were closed by it are reopened automatically (when the reopen option is enabled).
  1. Auction-Win Behavior
  • When an individual game or lesson is won at auction close, the package becomes unavailable automatically.
  • The winning listing keeps its normal winner, payment, and order handling exactly as it works in the auction plugin.
  • Closing works for auctions ended by the site’s scheduled (cron) process as well as those closed at purchase.
  1. Bidder-Facing Note
  • Each affected listing shows a short note letting bidders know it shares inventory and may become unavailable if a related offer is taken.
  • The note wording is configurable.
  1. Package Management (Admin)
  • A simple admin area to link a celebrity’s game, lesson, and package listings together, suitable for a non-technical user.
  • Ability to search and select the listings, add or remove them, and edit the note.
  • The management area is located under the WooCommerce menu, alongside Products and Orders.
  1. Settings
  • Global enable/disable for the feature.
  • Default bidder-note wording.
  • Enable/disable for the automatic reopen behavior on cancelled or refunded orders.
  1. Compatibility
  • The feature must not interfere with the auction plugin’s existing payment hold / auto-debit, buyer’s premium, automatic order creation, or order-status handling.
  • The listing that legitimately sells or wins is never altered by the add-on.
  • No conflict with multi-currency display (Aelia).
  1. Assumptions

This proposal is based on the following assumptions. Please confirm or advise if any differ.

  • The Client has a live WordPress site with WooCommerce and Ultimate WooCommerce Auction Pro v2.4.5 already installed and active.
  • The Client holds a valid lifetime license for Ultimate WooCommerce Auction Pro (purchased separately from this custom work).
  • Work is carried out against the current plugin version; the add-on plugin integrates through existing extension points and requires no changes to the core plugin.
  • Auction products to be linked already exist (or will be created by the Client) as products in WooCommerce; the add-on links existing listings and does not create products.
  • Buy Now closing is triggered at the moment the order is placed (before payment confirmation), consistent with the plugin’s existing behavior.
  • Closed auction products are marked with the plugin’s existing “Ended – No Sale” status; no new order is created for a closed listing.
  • Minor styling adjustments to the bidder note and admin screens are included; full site or theme design changes are out of scope.
  • Access to a staging or live environment will be provided by the Client if deployment (rather than ZIP hand-off) is preferred.
  • Third-party services already in use (payment gateways, Aelia multi-currency) remain configured and maintained by the Client.
  • Testing covers the feature and its interaction with the plugin’s payment/order features; broad regression testing of unrelated site functionality is out of scope.
  1. Technical Approach

4.1 Add-On Plugin Scaffold & Settings

  • Standalone add-on plugin file with a version check for the parent auction plugin, activating and deactivating independently.
  • Its own settings page under the WooCommerce menu: global enable/disable, default bidder-note text, and the reopen-on-cancel option.
  • All logic contained within the add-on plugin; the core auction plugin is not modified, keeping it update-safe.

4.2 Package Management Area

  • A dedicated package management screen under the WooCommerce menu, with a familiar list experience (search, sort, paging) that scales to a large number of packages.
  • Each package stores its linked auction products and its bidder-note text.
  • Auction products are selected using WooCommerce product search; any number can be added or removed per package.

4.3 Auction-Win Sync

  • Hooks the core plugin’s auction-close event, which fires reliably for both scheduled (cron) and purchase-driven closes and identifies a won outcome.
  • On a won auction product, the add-on closes every other auction product in the same package by setting the plugin’s existing “Ended – No Sale” status.
  • The winning auction product is never touched, so its winner handling, payment hold / auto-debit, buyer’s premium, and automatic order creation proceed unchanged.

4.4 Buy Now Sync

  • Hooks WooCommerce’s order-placed event so closing happens at the moment of purchase, before payment confirmation.
  • The order’s line items are checked for any linked auction product; the other auction products in that package are then closed as “Ended – No Sale”.
  • The purchased auction product proceeds through normal checkout untouched.

4.5 Reopen Safeguard

  • Hooks WooCommerce’s order cancelled and refunded events.
  • Auction products closed by that order are reopened, unless another auction product in the package has since sold or won.
  • Each closure records which purchase or win triggered it, so reopening is precise; this tracking is kept by the add-on and does not rely on core plugin internals.

4.6 Bidder-Facing Note

  • Rendered on linked listings through the core plugin’s existing front-end display points on both the auction and Buy Now views.
  • Note text is pulled from the package, falling back to the global default.

4.7 Safe Sequencing & Compatibility

  • The add-on only ever closes the non-selling auction products in a package and never re-triggers the core plugin’s own close routine, avoiding interference with an in-flight sale.
  • Closures are marked as ended without a sale, which the core plugin treats purely as a status change and never as a winning result — so no payment, charge, or automatic order is ever triggered on a closed auction product.
  • All actions are made repeatable and safe when several auction products end at the same time (for example, simultaneous scheduled closings or an order containing more than one linked auction product).
  • All logic operates on listing identity and status only, never on prices or currency, so multi-currency display (Aelia) is unaffected.
  1. Effort — Design & Development

5.1 Add-On Plugin Scaffold & Settings Page

  • Create plugin file, loader, and parent-plugin version check
  • Build the settings page (global enable/disable, default note text, reopen option)
  • Test: settings save and load, add-on activates/deactivates cleanly

Estimated effort: 6 hours

5.2 Package Management Area

  • Build the package management screen under the WooCommerce menu (list, search, create, edit)
  • Auction product search and add/remove; per-package note field
  • Test: packages create, edit, and save correctly at scale

Estimated effort: 12 hours

5.3 Auction-Win Sync

  • Hook the core auction-close event and detect a won outcome
  • Close the other auction products in the package as Ended – No Sale, with repeatable, safe guards
  • Test: winning one auction product closes the rest; winner’s own handling untouched

Estimated effort: 8 hours

5.4 Buy Now Sync

  • Hook the WooCommerce order-placed event and scan line items for linked auction products
  • Close the other auction products in the package at the moment the order is placed
  • Test: Buy Now purchase closes the rest; purchased item checks out normally

Estimated effort: 8 hours

5.5 Reopen Safeguard (Cancel / Refund)

  • Hook the WooCommerce cancelled and refunded events
  • Reopen the auction products closed by that order, guarded against a later sale in the same package
  • Test: cancelling a Buy Now order reopens the correct auction products

Estimated effort: 6 hours

5.6 Bidder-Facing Shared-Inventory Note

  • Render the note on linked auction and Buy Now listings via existing display points
  • Per-package text with global fallback
  • Test: note appears correctly on all linked listings

Estimated effort: 4 hours

5.7 Compatibility Safeguards & Full Testing

  • Verify no interference with payment hold / auto-debit, buyer’s premium, automatic order creation, and order-status handling
  • Test scheduled (cron) and purchase-driven closes, simultaneous closings, and a multi-product order
  • Confirm no impact on multi-currency display

Estimated effort: 10 hours

5.8 Documentation & Delivery

  • Setup and configuration guide, and admin how-to for managing packages
  • Deliver plugin ZIP or configure on a staging site

Estimated effort: 4 hours

  1. Effort Snapshot

Both the required build and the compatibility testing are included in the estimate below.

Deliverable Hours
Add-On Plugin Scaffold & Settings Page 6
Package Management Area 12
Auction-Win Sync 8
Buy Now Sync 8
Reopen Safeguard (Cancel / Refund) 6
Bidder-Facing Shared-Inventory Note 4
Compatibility Safeguards & Full Testing 10
Documentation & Delivery 4
Total Estimated Hours 58

 

Note: The add-on plugin is delivered as a self-contained plugin that works on top of the existing auction plugin through its standard extension points, so the core plugin continues to update normally.

  1. Deliverables

The following deliverables will be provided as part of this engagement:

  • Linked Inventory add-on plugin — standalone WordPress plugin with its own admin area and settings page; links a celebrity’s game, lesson, and package listings so their shared inventory stays in sync.
  • Package Management area — a screen under the WooCommerce menu to create and edit links, search and select listings, and set a per-package bidder note.
  • Auction-Win Sync — winning a game or lesson at auction close automatically makes the related package unavailable.
  • Buy Now Sync — buying the package or an individual listing closes the related listings at the moment the order is placed.
  • Reopen Safeguard — related listings reopen automatically if a Buy Now order is cancelled or refunded (configurable).
  • Bidder-facing note — a short shared-inventory note shown on every linked listing.
  • Settings page — global enable/disable, default note text, and the reopen toggle.
  • Full testing — across the auction-win and Buy Now paths, cancel/refund reopen, simultaneous closings, and compatibility with the plugin’s payment and order features.
  • Delivery — plugin ZIP for self-installation, or deployment on a staging site.
  1. Commercials & Payment

Project Cost

Total Estimated Effort: 58 hours

Hourly Rate: USD 45 / hour

Total Cost: USD 2,610

Discount: 10% (USD 261)

Discounted Total: USD 2,349

 

Payment Schedule

Milestone Amount (USD) Estimated Delivery Date
Advance Payment $2,349 TBD upon confirmation
Project Start TBD after payment
Project End TBD
Total Amount $2,349