Order Management

All Orders

Total: <%= orders.length %> Pending: <%= orders.filter(o => o.status === 'pending').length %> Preparing: <%= orders.filter(o => o.status === 'preparing').length %> Ready: <%= orders.filter(o => o.status === 'ready').length %>
<% orders.forEach(order => { %> <% }) %>
Order ID Customer Items Amount Status Payment Date Actions
#<%= order.orderId %> <% if (order.estimatedTime) { %>
ETA: <%= Math.ceil(order.estimatedTime / 60) %> min <% } %>
<%= order.customerInfo.name %>
<%= order.customerInfo.email %>
<%= order.customerInfo.phone %>
<% order.items.slice(0, 2).forEach(item => { %>
<%= item.quantity %>× <%= item.name %>
<% }) %> <% if (order.items.length > 2) { %>
+<%= order.items.length - 2 %> more items
<% } %>
$<%= order.totalAmount.toFixed(2) %>
Delivery: $<%= order.deliveryCharge.toFixed(2) %>
<%= order.paymentMethod.toUpperCase() %>
<%= order.paymentStatus %>
<%= new Date(order.createdAt).toLocaleDateString() %>
<%= new Date(order.createdAt).toLocaleTimeString() %>

<% const today = new Date(); const todayOrders = orders.filter(o => new Date(o.createdAt).toDateString() === today.toDateString() ); const todayRevenue = todayOrders.reduce((sum, o) => sum + o.totalAmount, 0); %> $<%= todayRevenue.toFixed(2) %>

Today's Revenue

<% const avgOrderValue = orders.length > 0 ? orders.reduce((sum, o) => sum + o.totalAmount, 0) / orders.length : 0; %> $<%= avgOrderValue.toFixed(2) %>

Average Order Value

<%= orders.filter(o => o.status === 'pending' || o.status === 'preparing').length %>

Active Orders

<%= orders.filter(o => o.status === 'delivered').length %>

Completed Today