web_django_template now ships four optional retail apps. Update the public /web_design estimator so leads (3D-printed toys, TCG/comic shop) can build a package that matches the template flags.
Source of truth in the template:
Catalog item
Template flag
App
One-time
Monthly
E-commerce storefront
FEATURE_SHOP
shop
$700
$30
POS API sync
FEATURE_POS_SYNC
pos_sync
$500
$20
Event ticketing
FEATURE_EVENTS
events
$400
$10
Shipping automation
FEATURE_SHIPPING
shipping
$400
$15
Pricing is the mid-range from the retail add-on plan (storefront $600–800, ticketing $300–500). Third-party usage stays billed to the client (Stripe 2.9% + 30¢, EasyPost after 3,000 labels).
Dependencies (must auto-select like payments → email_sms)
ecommerce requires email_smsandpayments
pos_sync requires ecommerce
event_ticketing requires email_smsandpayments
shipping requires ecommerce
Existing resolve_selected_features() already walks requires chains. Selecting POS or shipping must also pull storefront, which then pulls payments + email/SMS.
Files to update
company_site/public/web_design_pricing.py — append these four dicts to WEB_DESIGN_FEATURES:
{"id":"ecommerce","name":"E-commerce storefront","description":"Catalog, cart, inventory dashboard, Stripe checkout. Requires Email & SMS and Payments.","build":700,"monthly":30,"required":False,"requires":("email_sms","payments"),"requires_note":"Requires Email & SMS and Payments (Stripe) — auto-selected.",},{"id":"pos_sync","name":"POS API sync","description":"Keep in-store POS inventory in sync with the online catalog.","build":500,"monthly":20,"required":False,"requires":("ecommerce",),"requires_note":"Requires E-commerce storefront — auto-selected.",},{"id":"event_ticketing","name":"Event ticketing","description":"Events, capacity limits, digital tickets. Requires Email & SMS and Payments.","build":400,"monthly":10,"required":False,"requires":("email_sms","payments"),"requires_note":"Requires Email & SMS and Payments (Stripe) — auto-selected.",},{"id":"shipping","name":"Shipping automation","description":"EasyPost labels + Pirate Ship CSV export. Requires E-commerce storefront.","build":400,"monthly":15,"required":False,"requires":("ecommerce",),"requires_note":"Requires E-commerce storefront — auto-selected.",},
company_site/public/templates/public/web_design.html — growth add-on copy (commented services cards + meta description) should mention storefront, POS sync, events, shipping.
Page render still shows the estimator; assert new feature names appear.
company_site/public/static/public/js/webmcp-tools.js / llms.txt if they hard-code the old feature list — add the four ids so estimate_web_design_cost can quote retail packages.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
web_django_templatenow ships four optional retail apps. Update the public/web_designestimator so leads (3D-printed toys, TCG/comic shop) can build a package that matches the template flags.Source of truth in the template:
FEATURE_SHOPshopFEATURE_POS_SYNCpos_syncFEATURE_EVENTSeventsFEATURE_SHIPPINGshippingPricing is the mid-range from the retail add-on plan (storefront $600–800, ticketing $300–500). Third-party usage stays billed to the client (Stripe 2.9% + 30¢, EasyPost after 3,000 labels).
Dependencies (must auto-select like payments → email_sms)
ecommercerequiresemail_smsandpaymentspos_syncrequiresecommerceevent_ticketingrequiresemail_smsandpaymentsshippingrequiresecommerceExisting
resolve_selected_features()already walksrequireschains. Selecting POS or shipping must also pull storefront, which then pulls payments + email/SMS.Files to update
company_site/public/web_design_pricing.py— append these four dicts toWEB_DESIGN_FEATURES:company_site/public/templates/public/web_design.html— growth add-on copy (commented services cards + meta description) should mention storefront, POS sync, events, shipping.company_site/public/tests.py—WebDesignPricingTests:ecommerceauto-selectsemail_sms+payments(build 600 base + 500 email + 500 payments + 700 shop = 2300, monthly 40 + 10 + 20 + 30 = 100).pos_syncalso pullsecommerce(+ email/SMS + payments).event_ticketingauto-selectsemail_sms+payments.shippingpullsecommerce(+ email/SMS + payments).company_site/public/static/public/js/webmcp-tools.js/ llms.txt if they hard-code the old feature list — add the four ids soestimate_web_design_costcan quote retail packages.What the template already does
/shop/catalog + session cart + Stripe Checkout; portal product/inventory + orders.dispatch_due)./events/+ capacity-limited tickets + confirmation email.EASYPOST_API_KEYis set, otherwise stub rates + Pirate Ship CSV export.Test plan
/web_designshows the four new rows with build/monthly pricesWebDesignPricingTests+ WebMCP estimate tool still pass