I send a request for x amount of bitcoins, get back a qr code, the merchant scans the code, transaction is done.
What is contained in the QR code? It would be cool if a new wallet with new public+private keys is created with just enough BTC to serve that one transaction, then you give the merchant that wallet.