Each Motorprise user has a default shipping address and an alternate list of authorized shipping addresses. These addresses are held in the Profile and Organization properties defaultShippingAddress and shippingAddrs. In Motorprise, they are inherited from the parent organization, and can only be modified by administrators from that organization. Other buyers cannot enter new shipping addresses or modify existing ones. You could configure the ability to edit shipping addresses differently in your own site.

Motorprise allows users to choose among various shipping options to meet their complex business needs. They can:

All Motorprise products are hard goods that require physical addresses. These addresses are associated with the Order in the form of HardgoodShippingGroup objects. We used /atg/commerce/order/purchase/ShippingGroupDroplet on checkout/shipping.jsp to create HardgoodShippingGroups based on the addresses found in the profile. This component also creates a default HardgoodShippingGroup with an address based on the user’s defaultShippingAddress profile property.

These ShippingGroups are added to the ShippingGroupMapContainer, which is used during the purchase process to store the user’s shipping groups. This container is instantiated by Nucleus and is located at /atg/commerce/order/purchase/ShippingGroupContainerService.

Additionally, for each line item in the order, the ShippingGroupDroplet creates a CommerceItemShippingInfo object and adds it to the CommerceItemShippingInfoContainer. The CommerceItemShippingInfo is a helper object that keeps track of relationships between the order’s line items and the HardgoodShippingGroups that represent the shipping information. We use it to track the quantity of each item that belongs to each ShippingGroup. The container is used during the purchase process to store the helper objects for the user.

For more information on the ShippingGroupMapContainer, see the API documentation for class atg.commerce.order.purchase.ShippingGroupContainerService.

You can look at checkout/shipping.jsp to see how we used the ShippingGroupDroplet. For more information, see the Using the Fulfiller section of the Configuring the Order Fulfillment Framework chapter of the ATG Commerce Programming Guide.

 
loading table of contents...