VbzCart/pieces/checkout/archive
Other Pages
- vbzwiki:VbzCart/checkout: what the checkout sequence looked like in the Perl version
Address Resolution
These notes no longer apply, as the cart-to-order process was completely rewritten in 2015-2016.
It's probably a bit of a frill, but I wanted to avoid creating unnecessary contact information records (address, phone, email, name) when customers check the "ship to self" or "card address is shipping address" checkboxes. The following are some written notes on how the resolution works -- which pieces are copied under what circumstances, and what the temporary storage structures look like:
2009-11-19 Update: The Person's Contact information should always have an Address object if there is one -- pointing to the Card's Address object if necessary. Otherwise we have to have more complicated to code to go looking for the Card.Address if there is no Contact.Address.
2009-11-28 update: Each Person object should also have a Name node directly underneath, pointing to the Name node of whichever Address object seems appropriate. (Some Person objects won't have Addr nodes under some circumstances.)