Improve Address Management GH2975/3062/3146
(1) When a user buys books or merchandise and checks out as a guest, use the shipping address they entered as the billing address on the page where we collect their credit card information. Or maybe it's better if we add a "Billing address is same as shipping address" checkbox above the billing address fields. This seems like the better, more common user experience.
(2) Add shipping address fields to the contact profile and rename "address" fields to billing address. Use the shipping and billing addresses as defaults for purchase for logged in users. Sync the shipping address to Salesforce.
(3) When a user with an address that is NOT the United States makes a purchase, the country part of the address defaults to "United States" on the Shipping and Checkout pages instead of the country in their profile. I think this is because the country is a plain text field on the profile but a select on the shipping and checkout pages. Note that the Shipping page is even a bit odder. The State/Province field is plain text on the profile but a select on the Shipping page, because the country is set to "United States." If I change the country there, I get an empty, plain text State/Province field. We should make all of our sets of address field consistent across our website.
There is an inconsistenty among address field types on our forms--Join, Shipping, and Checkout. The shipping page is the best model, so the field types would be:
Street Address - plain text
City - plain text
State - select if Country = "United States" OR "Canada" and plain text for all others
ZIP - plain text
Country - single select
Add shipping address fields to contact profile and rename "address" fields to billing address. And use the shipping and billing addresses and defaults for purchase for logged in users.