Firing things up…

${ menu.banner_text }
Loading menu...

Complete Your Payment

M-Pesa STK Push

Prompt sent to ${ customerPhone }. Enter your PIN to pay. Tap below to receive a payment prompt on your phone.

Or pay manually via Paybill
Paybill
${ paybillNumber || '—' }
Account No.
${ pendingAccount }
Amount
${ formatCurrency(pendingAmount) }

This page updates automatically once payment is confirmed.

🔥 Slow-Cooked Over Fire

Real BBQ.
Delivered Fresh.

Chicken • Beef • Lamb • Turkey — Fridays & Saturdays

Step ${ step } of 4 — ${ ['Meat Selection','Sides & Carbs','Your Details','Payment'][step-1] }

Build Your BBQ

Choose your meats — minimum order KES ${ formatNumber(minOrderAmount) }, mix and match freely

Fresh from our kitchen. Safe in yours.

Machine sealed · Cold packed · No preservatives

Fridge 4 days Freezer 21 days Reheat & & Eat

Sides & Carbs

All optional — add what you want, skip what you don't

Your Details

Contact Info

Welcome back! Details pre-filled — update if needed.

Order Summary
Meats
${ item.name }
x${ item.qty }
${ formatCurrency(item.unit_price * item.qty) }
Sides & Carbs
${ item.name }
x${ item.qty }
${ formatCurrency(item.unit_price * item.qty) }
Subtotal ${ formatCurrency(cartSubtotal) }
Delivery ${ formatCurrency(deliveryFee) } Pending location
Total ${ locationStatus === 'in_zone' ? formatCurrency(orderTotal) : formatCurrency(cartSubtotal) + ' + delivery' }
Delivery Method
Home
Office
Checking your area...
We deliver to your area + ${ formatCurrency(deliveryFee) }
Not in our zone yet

We're not delivering to this area right now. Get notified when we expand to your area.

Notify Me When We Expand
Delivery Date
Friday
${ menu.delivery_dates.friday.display }
Saturday
${ menu.delivery_dates.saturday.display }
Special Requests (optional)

Almost There

${ totalPackCount } packs  ·  ${ deliveryType === 'HOME' ? 'Home Delivery' : 'Office Delivery' } ${ formatCurrency(cartSubtotal) }
Delivery fee ${ formatCurrency(deliveryFee) }
Total
${ formatCurrency(orderTotal) }
Payment  ${ formatCurrency(orderTotal) }
M-Pesa STK Push (Recommended)
Sending prompt to ${ customerPhone || '—' }
— or pay manually —
M-Pesa Paybill
Paybill ${ paybillNumber || '—' }
Account No. ${ normalisedCustomerPhone || '—' }
Amount ${ formatCurrency(orderTotal) }
Already paid via Paybill?

Enter the M-Pesa confirmation code from your payment SMS to confirm your order.

Payment Confirmed!
Receipt: ${ paybillReceipt }

Also on Vyakula

Build Your Own Meal Box

Choose your proteins, carbs & veggies. Fresh portions, delivered to your door.

Try Meal Box
Meats ${ meatPackCount } pack${ meatPackCount !== 1 ? 's' : '' }  ·  ${ formatCurrency(meatSubtotal) }
${ item.name } ×${ item.qty } ${ formatCurrency(item.unit_price * item.qty) }
Sides & Carbs ${ sidesCount } items  ·  ${ formatCurrency(sidesSubtotal) }
${ item.name } ×${ item.qty } ${ formatCurrency(item.unit_price * item.qty) }
${ meatPackCount } pack${ meatPackCount !== 1 ? 's' : '' } No meats yet ${ formatCurrency(meatSubtotal) }
${ sidesCount } sides No sides ${ formatCurrency(sidesSubtotal) }
${ totalPackCount } item${ totalPackCount !== 1 ? 's' : '' } · ${ formatCurrency(cartSubtotal) }
Add KES ${ formatNumber(amountToMinimum) } more to reach KES ${ formatNumber(minOrderAmount) } minimum
${ toast.message }