SKULabs offers geo-routing at all service levels but more complex availability-based routing especially where your locations are in close proximity to one another is reserved for enterprise accounts.
You can route orders to different warehouses by postal/zip, state, and inventory availability. Geo-routing is compatible with Shopify multi-location POS and other POS solutions to quickly and efficiently make retail inventory available for sale on marketplaces. Ship from any of your retail locations or choose to route most orders to a primary fulfillment location while meeting your seller performance requirements dependably.
Geographical routing configuration
Use shipping rules to match postal / zip code, state/province, and/or country to assign orders to warehouses or teams within your warehouses using tags.
Use shipping rules to match products by tag or SKU to have these orders automatically routed to warehouses.
Avoiding order splits
A common scenario is to favor your primary warehouse while allowing secondary warehouses to fulfill items the main warehouse may not have. While availability-based routing is best for this workflow you may still prefer to assign everything to the main warehouse and allow a manager to review the "Fulfillable" column to filter down to unfulfillable or partially fulfillable orders allowing them to be redirected in part or whole to other warehouses.
Using tags an order can be assigned to two or more warehouse teams for split or "first-approach" fulfillment where the team who opens the order fulfills what their warehouse has available and the remainder of the order is automatically released to the other warehouse with no manual coordination required.
The best workflow is to process all of your completely fulfillable orders in the morning, then move on to partially fulfillable orders in the evening across all of your locations so both types of orders are fulfilled as efficiently as possible by all of your locations.