diff --git a/app/(root)/(screens)/checkout.tsx b/app/(root)/(screens)/checkout.tsx
index 1a0905f..c7a9f93 100644
--- a/app/(root)/(screens)/checkout.tsx
+++ b/app/(root)/(screens)/checkout.tsx
@@ -132,13 +132,19 @@ export default function CheckoutScreen() {
const orderNotes = [
notes.trim(),
forMember ? `For family: ${forMember.name} (${forMember.relationship})` : "",
- useAnyBranchPickup ? "Quick code — redeemable at any Gishen branch" : "",
+ isGuest
+ ? "Pharmacist order code — enter in admin to create the order"
+ : useAnyBranchPickup
+ ? "Quick code — redeemable at any Gishen branch"
+ : "",
]
.filter(Boolean)
.join(" · ");
const pickupCode =
- effectiveFulfillment === "pickup" ? generatePickupCode() : null;
+ isGuest || effectiveFulfillment === "pickup"
+ ? generatePickupCode()
+ : null;
const fee = effectiveFulfillment === "pickup" ? 0 : deliveryFee;
const order = addOrder({
@@ -153,7 +159,7 @@ export default function CheckoutScreen() {
areaLabel: useAnyBranchPickup
? "Any Gishen branch"
: effectiveFulfillment === "pickup"
- ? branch?.area ?? areaLabel
+ ? branch?.name ?? areaLabel
: selectedAddress?.area ?? areaLabel,
addressId:
effectiveFulfillment === "delivery" ? selectedAddress?.id ?? null : null,
@@ -166,10 +172,13 @@ export default function CheckoutScreen() {
notes: orderNotes,
riderAssigned: false,
pickupCode,
- anyBranch: useAnyBranchPickup,
+ anyBranch: useAnyBranchPickup || isGuest,
isGuestOrder: isGuest,
- status:
- useAnyBranchPickup || payment === "pay_at_branch" ? "confirmed" : undefined,
+ status: isGuest
+ ? "requested"
+ : useAnyBranchPickup || payment === "pay_at_branch"
+ ? "confirmed"
+ : undefined,
});
if (forMemberId) setActiveMember(forMemberId);
@@ -184,15 +193,26 @@ export default function CheckoutScreen() {
pushNotification({
kind: "order",
- title: pickupCode ? `Pickup code ${pickupCode}` : "Order placed",
- body: pickupCode
- ? useAnyBranchPickup
- ? `Show ${pickupCode} at any Gishen branch counter to collect your order.`
- : `Show ${pickupCode} at ${branch?.name ?? "your branch"} to collect.`
- : `Your ${order.fulfillment} order is confirmed.`,
- href: routes.orderDetail(order.id),
+ title: isGuest
+ ? `Pharmacist code ${pickupCode}`
+ : pickupCode
+ ? `Pickup code ${pickupCode}`
+ : "Order placed",
+ body: isGuest
+ ? `Share ${pickupCode} so a pharmacist can create your order in admin.`
+ : pickupCode
+ ? useAnyBranchPickup
+ ? `Show ${pickupCode} at any Gishen branch counter to collect your order.`
+ : `Show ${pickupCode} at ${branch?.name ?? "your branch"} to collect.`
+ : `Your ${order.fulfillment} order is confirmed.`,
+ href: isGuest && pickupCode ? routes.orderCode(order.id) : routes.orderDetail(order.id),
});
+ if (isGuest && pickupCode) {
+ router.replace(routes.orderCode(order.id) as never);
+ return;
+ }
+
Alert.alert(
pickupCode ? "Quick pickup code ready" : "Order placed",
pickupCode
@@ -310,10 +330,10 @@ export default function CheckoutScreen() {
{isGuest ? (
- Guest quick code
+ Pharmacist order code
- As a guest you get a short pickup code (e.g. GSH-AB12). Show it at any
- Gishen branch counter — no account needed to fulfill.
+ You’ll get a GSH-XXXX code to copy, share, or screenshot. A pharmacist
+ enters it on the admin page to create your order — then you pay at the branch.
) : null}
@@ -522,7 +542,7 @@ export default function CheckoutScreen() {
{formatETB(afterDiscount + deliveryFee)}