Feature #9915
openSupport Mixed Pickup & Delivery Orders Across E-Commerce Checkout, Admin Order Management, and Backend Processing
100%
Description
Implemented end-to-end support for mixed fulfillment orders (Pickup + Delivery) across the E-Commerce application, Admin Portal, and Backend services.
This enhancement resolves issues related to preorder checkout, login continuation, pickup location summaries, mixed fulfillment handling, and backend order synchronization to ensure consistent behavior throughout the order lifecycle.
E-Commerce Changes
Checkout & Login Flow
Fixed preorder checkout continuation after user login.
Preserved checkout state and cart during authentication.
Synced pickup location and pickup schedule before checkout.
Prevented checkout when required pickup location is missing.
Improved checkout navigation and local storage recovery.
Added support for mixed fulfillment (Pickup + Delivery) checkout state.
Passed pickup location data to checkout.
Fixed global pickup location validation when same-location enforcement is enabled.
Checkout Page
Added separate Pickup and Delivery summaries.
Displayed individual Pickup Due and Delivery Due amounts.
Required delivery address whenever delivery items exist.
Added automatic delivery address validation.
Restored checkout data from local storage when router state is unavailable.
Fixed address validation for mixed fulfillment carts.
Cart Components
Updated checkout buttons to execute checkout logic before closing the cart.
Improved checkout address field layout.
Cart Storage
Added fulfillment resolution utilities.
Split pickup and delivery cart storage handling.
Admin Portal Changes
Pickup Location Order Summary
Excluded delivery items from pickup location summaries.
Calculated pickup-only totals (Total, Paid, Due).
Displayed pickup-only product list in location views.
Added informational note showing pickup portion alongside full order amount.
Updated Excel and PDF exports to use pickup-only financial data.
Updated analytics and merged summaries to use pickup products only.
Order Details
Added Pickup and Delivery badges for each product.
Added mixed order banner.
Prevented bulk updates across different fulfillment types.
Backend Changes
Payment Service
Added delivery item generation for mixed fulfillment orders.
Applied delivery section generation to Cash, Zelle, Stripe, and fallback order creation flows.
Order Service
Updated pickup location summaries to exclude delivery products.
Added fulfillment type to mapped pickup products.
Removed fallback logic that incorrectly included delivery products.
Issues Resolved
Fixed preorder checkout interruption after login.
Fixed mixed carts losing checkout state.
Fixed pickup location summaries including delivery items.
Fixed incorrect pickup financial totals.
Fixed delivery items missing from newly created mixed Cash/Zelle orders.
Improved mixed fulfillment visibility across Admin and Checkout.
Files Modified
E-Commerce
catlogproducts.tsx
CheckoutPreorder.tsx
Login.tsx
PreorderCartPanel.tsx
HeaderPreorderCart.tsx
AddressAutocomplete.tsx
preorderCartStorage.ts
Admin Frontend
AdminOrder.tsx
OrdersProductsAccordion.tsx
Backend
payment.service.js
order.service.js
Subtasks
Related issues