----- Original Message ----- From: "Tom Chiverton" <[EMAIL PROTECTED]> To: <flexcoders@yahoogroups.com> Sent: Friday, September 15, 2006 3:36 PM Subject: Re: [flexcoders] Data synchronisation tip and tricks?
> On Thursday 14 September 2006 16:12, Jurgen Beck wrote: > > I see two solutions: > > I have actually seen the 2nd in use on (I think) ticketmaster - during check > out it told me the seats were reserved for 20 minutes, and if I hadn't payed > by then I'd lose them and they'd go back in the pool. > > You could probably calculate the chance of a collitsion based on the length of > time it takes to do a booking, how many customers there are (at once) and how > many seats there are. > If the chance in low, and fairly simple 'soft reserve' like the above or you > option 2 is going to be best, I feel. > OTOH, if collisions are going to be frequent, you want to be more proactive to > help the users out - but at the end of the day, two people might just > press 'submit' at the same time, and one of them is going to get a rolled > back transaction and 'please choose another seat'. The other party may back > out later, but there isn't much I think you can do about that. Depending on the checkout process you can prevent the rollback altogether. This all depends on how the checkout process black box works. If the checkout process is a black box that can communicate back with the ticketing system for confirmation that the product is still available: Ticketing system marks seats as 'pending booking' and sets a timeout on this status to protext the seats from booking. Ticketing system passes request to the checkout process to get the money from the user. Checkout process processes everything, apart from requesting money from the bank. User presses 'submit' to confirm transaction and payment details. Checkout process asks ticketing system to confirm transaction can proceed and tells ticketing system how long it will need (max) to complete the checkout process upon confirmation by the ticketing system. Ticketing system checks that seats are still available and that timeout has not elapsed. If the timeout left on the seats is less than the time required to complete the checkout (no more human involvement is now required) the timeout is extended. If the timeout has expired, the ticketing system will check that the seats are still available to the requesting customer and will re-reserve the seats, pending booking with enough of a timeout for the checkout process to complete. If the timeout has expired and the seats are no longer available the ticketing system informs checkout to abort and not to take the customers money, otherwise the ticketing system tells the checkout process to complete the transaction. The checkout process informs ticketing system of the result and the ticketing system will update the seat status and interact with the customer accordingly. Paul > -- > Tom Chiverton > Helping to confidentially create open-source bandwidth > > **************************************************** > > This email is sent for and on behalf of Halliwells LLP. > > Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at St James's Court Brown Street Manchester M2 2JF. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by the Law Society. > > CONFIDENTIALITY > > This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 8008. > > For more information about Halliwells LLP visit www.halliwells.com. > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com > Yahoo! Groups Links > > > > > > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/