diff --git a/src/app/api/transactions/[id]/order/route.ts b/src/app/api/transactions/[id]/order/route.ts index ee3fc9f..844815f 100644 --- a/src/app/api/transactions/[id]/order/route.ts +++ b/src/app/api/transactions/[id]/order/route.ts @@ -26,7 +26,7 @@ export async function GET( } const row = await queryRow( - `SELECT platform, order_reference, line_items, route, subtotal, amount, + `SELECT source, platform, order_reference, line_items, route, subtotal, amount, currency, card_last4, flags, source_email_subject, transaction_date FROM expense_metadata -- A card-settled order creates no transaction of its own (I5): the diff --git a/src/components/order-details.tsx b/src/components/order-details.tsx index ee3643e..9e41890 100644 --- a/src/components/order-details.tsx +++ b/src/components/order-details.tsx @@ -81,6 +81,13 @@ export function OrderDetails({ const mine = review?.reviews.find((r) => r.participant_id === reviewer); + // Verdicts are the MEAL lane's feedback loop โ "loved / never again" exists + // to steer the next restaurant order, and the nudge card warns on re-order. + // Spine-bridged retail (Amazon boxes, eBay, Officeworks) has no such loop: + // rating a roller-shade motor "order again?" is noise, so the whole review + // surface stays hidden for bridge rows. + const rateable = receipt.source !== "order-bridge"; + return (