Can Shopify do this or do I need to build my own storefront?

I’m new to the Shopify ecosystem. I need help determining if Shopify can do what I’m about to describe. I think the answer is no – but please tell me if I’m totally wrong! :face_with_tongue:

My business is going to be selling “widgets” and allowing customers to pick a delivery date (or delivery window date range). The delivery window(s) available depend on the customer’s location and the particular product being ordered.

Products are produced in a number of distribution centers scattered around North and South America. One product may be produced in any number of DCs. If the customer wants it delivered next day, we’ll produce it in the US and charge more for it. If the customer can wait for it (or wants delivery in the future), we can produce it in South America and charge less overall.

Based on the product & delivery date/window the customer selects, the order needs to be routed to the most appropriate DC for fulfillment.

The shipping method depends on which product and which DC. We will have UPS and FedEx and DHL accounts, and likely be integrating with smaller carriers over time. The system needs to be smart enough to pick the most appropriate shipping method based on a set of criteria or rules.

Each product being ordered has its own delivery date/window. And ideally the customer needs to be able to order multiple products in the same order, all having different delivery dates/windows (coming from different DCs).

Product availability (inventory/stock) is generally known ahead of time, but can change in real time. The products are being made to order rather than sitting in a warehouse. We need to be able to integrate with an inventory management system (i.e. DEAR) in the short term, and perhaps a more full-featured ERP system in the future.

I’ll stop there…it gets a bit more complicated, but that gives you the gist. I assume I’ll need to build my own storefront instead of using Shopify. But is there a way with Shopify to do everything I mentioned? Are there apps/plugins/what have you that enable all of this?

Thanks in advance, I really appreciate you helping me out!