Watchlist
Bidders can "watch" auctions they're interested in without committing to a bid. Watchers receive activity emails (configurable) and the auction appears in their My Auctions → Watchlist tab.

How users add to watchlist
| Surface | How |
|---|---|
| Single auction page | Click the Watch heart / star button |
| Shop / archive | Hover an auction card → click Watch quick-action |
| My Auctions tab | Already-watched lots appear here |
| Search results | Click Watch on any result |
The button toggles — clicking again removes the watch.
Where watches are stored
wkafw_watchlist table:
| Column | Notes |
|---|---|
id | auto-incrementing |
auction_id | references wkafw_auctions.id |
user_id | references WP users |
created_at | when watch was added |
Unique index on (auction_id, user_id) — one watch per user per auction.
Customer view
My Account → My Auctions → Watchlist tab shows:
| Column | Source |
|---|---|
| Image | linked product featured image |
| Title | linked product title |
| Current price | wkafw_auctions.current_price |
| Bid count | wkafw_auctions.bid_count |
| Time left | computed from end_date |
| Status | active / scheduled / ended / paid |
| Actions | View / Place bid / Remove |
Notifications
Watchlist activity emails fire on configurable triggers:
| Trigger | Default |
|---|---|
| Auction starting (24 hrs before) | enabled |
| Auction starting (1 hr before) | enabled |
| First bid placed | disabled |
| Reserve met | enabled |
| Auction ending soon (1 hr before) | enabled |
| Auction ending soon (5 min before) | enabled |
| Auction ended | enabled |
| Auction won by someone else | disabled |
User-side opt-out: each email has an Unsubscribe from this watchlist link that removes the user's watch.
Auto-add on bid
By default, when a user places their first bid on an auction, they're automatically added to its watchlist. This ensures they get bid-related activity emails.
Disable via:
Auto-remove on win/loss
After auction ends:
| Outcome | Effect |
|---|---|
| User won | Stays on watchlist (so they can revisit) |
| User lost | Auto-removed after 7 days |
| Auction failed (reserve not met) | Stays — useful for relists |
| Auction relisted | Watch transfers to the new auction automatically |
Public watcher count
If wkafw_show_watchers = yes, every auction page shows: "23 people watching". Used as a psychology trigger.
Visibility rules:
- Live count updates every poll cycle
- Privacy: individual watchers are not exposed (only the count)
- Threshold: count appears only after
wkafw_min_watchers_to_show(default 3)
Bulk operations
| Action | Where |
|---|---|
| Remove all watches | My Auctions → Watchlist tab → Bulk select → Remove |
| Export watchlist | My Auctions → Watchlist → Export CSV |
Admin view
Reports → Watchlist shows:
- Total watchers per auction
- Watch-to-bid conversion (% of watchers who become bidders)
- Most-watched lots (proxy for demand)
- Top watchers (potential VIPs)
REST API
GET /wp-json/wkafw/v1/watchlist
POST /wp-json/wkafw/v1/watchlist { auction_id: N }
DELETE /wp-json/wkafw/v1/watchlist/{auction_id}
Common workflows
"Email watchers about a special promo on a specific lot"
"Re-engage dormant watchers"
Send these users a "we noticed you've been watching but not bidding" email.
"Find demand without bid signal"
Watchlist counts often outpace bid counts on early-funnel lots. Use Reports → Watchlist to find lots with high watch counts but no bids — these may be over-priced or need promotion.
