Plugin development for woocommerce : RFQ Broadcast Layer with Pincode Filtering

2 days ago 3
ARTICLE AD BOX

I’m working on extending the RFQ (Request for Quote) functionality in a WooCommerce-based multivendor setup using Dokan Pro.

"RFQ full form is Request for Quote where buyers can ask for quotation of the products that are in quote basket "

Goal

I want to implement a “Broadcast RFQ Layer” where a single RFQ submitted by a customer is automatically distributed to multiple vendors based on:

Product category

Vendor serviceable pincode (delivery area)

Current Limitation

The default RFQ flow in Dokan is 1-to-1 (customer → single vendor). I need to convert this into a 1-to-many (customer → multiple vendors) workflow.


Proposed Workflow

Customer submits a single RFQ with multiple products

System extracts:

Product categories

Customer pincode

System queries vendors who:

Belong to those categories

Serve the given pincode

The RFQ is cloned per vendor:

Each vendor gets a separate RFQ entry

Vendors cannot see each other's quotes

Vendors submit quotes within a time limit (e.g., 24h)

Customer sees a comparison dashboard of all quotes


What I Need Help With

I’m trying to design this as a custom bridge plugin, but I’m stuck on a few architectural points:

1. Hooking into RFQ creation

What is the best way to intercept RFQ submission in Dokan?

Are there specific actions/filters/hooks for RFQ creation, or do I need to hook into WooCommerce order/cart flow instead?

2. Vendor Query (Category + Pincode)

Best way to query vendors by:

Product category (taxonomy)

Custom meta (pincode/service area)

Should I use:

WP_User_Query with meta_query?

Or leverage Dokan’s store data (geo/location)?

3. RFQ Cloning Strategy

Is it better to:

Store RFQs as a custom post type and duplicate posts per vendor?

Or use a custom table for better performance/scalability?

Any recommended pattern for isolating vendor-specific RFQs cleanly?

4. Data Isolation

How to ensure each vendor:

Only sees their own RFQ instance

Cannot access other vendors’ quotes

5. Performance Considerations

If an RFQ targets ~50–100 vendors:

Is synchronous processing safe?

Or should this be handled via background jobs (Action Scheduler / queues)?


Tech Stack

WordPress + WooCommerce

Dokan Pro

Custom plugin development (PHP)


What I’m Looking For

Recommended architecture for this kind of broadcast + cloning system

Relevant Dokan/WooCommerce hooks (if available)

Best practices for vendor filtering + scalability

Any similar implementations or patterns


I’m not looking for a full implementation, just guidance on the correct approach and extensibility points to avoid building this the wrong way. and please if u can drop me any relevant information that might be helpful or i should or any work around idea u have please drop.

Thank you so much

Read Entire Article