I've been plyaing around with the demo and managed to produce incorrect bookings using the back button. I'm wondering whether or not this is an issue that is being worked on or something out of scope for the 1.0 release of Seam.
Here's how to reproduce it:
1. Open the demo
3. Search for hotels
4. Select the Marriott
5. Click "Book Hotel"
6. Enter correct booking information
7. Click "Proceed"
8. Click "Cancel"
9. Select the Sea Horse
10. Click "Book Hotel"
11. Enter correct booking information
12. Click "Proceed"
13. Click the back button 4 times to return the browser to the Purchase page for the Marriott
14. Click "Confirm"
15. Click "Done"
16. Click "Find Existing Bookings"
You'll notice that the Sea Horse was booked rather than the Marriott. It would appear that the current hotel is being saved in the session and that hotel is the one that is being booked. Since the user overwrote the Marriott with the Sea Horse in their session, they will book the Sea Horse rather than the Marriott as they expected.
This also occurs in multiple windows when using the back button in either window. Additionally, using multiple windows it appears that at certain points opening new windows can easily cause incorrect bookings without the back button being used. If you open a new window on the Purchase page and then click cancel or back and change your hotel in this new window, booking the hotel using the Purchase page from the original window will book the inocrrect hotel. This occurs without using the back button.