Offers

The price is negotiable.

pasal.biz carries the haggle culture of local markets into the app. Propose a price on supported items. The shopkeeper accepts, rejects, or counters. Both sides see the live state.

Make an offer screen

How a customer makes an offer

On any product where the shopkeeper has enabled offers, you'll see a "Make an offer" button next to "Add to cart." Tap it, type your price, and send. The shopkeeper gets it instantly.

Product with offer button

How a shopkeeper responds

Inside the app, every offer is in your inbox. Three buttons: Accept (your sale price drops to the offer), Reject, or Counter with your own number. The customer sees your reply right away.

pasal.biz inbox with offer

Atomic — accepted offer becomes a real order

When an offer is accepted, the consumption and order creation happen in a single Firestore transaction. There is no race where two customers can claim the same one-off offer, and no path where money changes but the order isn't created.

The offer state machine: PENDING → ACCEPTED | REJECTED | REVOKED | EXPIRED. All terminal. Order state machine: PENDING → ACCEPTED|REJECTED|CANCELLED → READY_FOR_PICKUP|OUT_FOR_DELIVERY → COMPLETED. Both move forward only.

"Bargaining is half the fun of shopping in Nepal. pasal.biz didn't try to remove that — they just made it work over an app."— a shopkeeper in Lalitpur

Try it

Open pasal.biz, pick an item with offers enabled, propose your price.

Get the app