Customer perspective
Mint an NFT for free
In your production application, you will probably charge money for these!
Sign fulfillment instructions
In your production application, use separate fields with address validation rather than this huge box.
Transfer an NFT to fulfillment wallet (no enumeration)
If your NFT does NOT support enumeration then your customer must type which token they want to transfer.
After the customer has signed the fulfillment instructions and transferred the NFT, the signed message needs to somehow get to the vendor.