Very often we get asked if it is possible to limit the display of specific shipping methods to specific order cycles. This then allows an appropriate “Pick Up from The Bakery” to be shown when selecting order tag “Ready for Tuesday at the Bakery”.
Currently the work around is to tag customers to both of these things. But this means that you have to have a private shopfront and force customers to log in before they can buy from you, so that you know the customer is ONLY able to buy from their appropriate pick up point. Using these features prevents spontaneous sales, which impacts our users. And it doesn’t reduce the communicative burden of making sure the OCs and Shipping methods state their relative availability. Or administrative burden of ensuring that new customers are correctly set up. Or spontaneity of customers to be able to choose a new point from week to week.
Customer can select from a range of Order Cycles when making an order, specified as ‘Ready For’. Once they’ve selected the order cycle they want they go to checkout and only have the appropriate delivery methods available.
Real World Examples:
- Hub can have a different order cycle and delivery for different towns: Ready in Coleford on Tuesday, Lydney on Friday.
- Hub can offer Home Delivery on Wednesdays but not on Saturday.
- Farm can offer Tuesday delivery from the Bakery, Wednesday from the Farm, Saturday from the Market.
Although a little clunky, the interface for this already exists. In the same way that you can tag an ordercycle to a customer set, you could tag the order cycle to a shipping_method. And you can tag a shipping method already in edit shipping method. All we need is for these to link together.
I guess the most logical way for the user is if we use the existing Tag Rules tabs in the Edit Enterprise section.
Exchange and delivery method both implement act-as-taggable. So the task here is to set up the ability for the enterprise to create rules between them.
@oeoeaio In your mind could this just slide into the existing tagging models?
Can you see any complications of doing this?