This repo holds a UPS shipping driver for WebGUI, developed against WebGUI 7.7.8. To install it, you only need to run the install script in the sbin directory, or, manually add "WebGUI::Shop::ShipDriver::UPS" to the shippingDrivers entry in your WebGUI config file. Instructions for registering with the UPS are in the Shipping driver edit screen. The driver is currently limited to shipping originating in the United States only. Here is what is required to make it handle all available UPS shipping services internationally. * The Product needs to be modified to have units for weight. Currently, they are unitless, and likewise, this driver assumes that all weights are in pounds (the current default weight unit in the United States). The chosen unit is added to the PackageWeight XML tag, in buildXML. * The driver code itself needs to be extended to add the shipping services. 1) Add i18n for the names of the new services, and a shipping type. See the code in the defintion subroutine. 2) Add a new key/value pair to the %shippingTypes hash. 3) The %shippingServices hash has a unique list of shipping services by code. If you introduce new codes, add the appropriate key/value pairs to the hash. This is required to get the selected code into the generated HTML, regardless of the shippingType chosen. 4) There is javascript inside of www/extras/yui-webgui/ShipDriver/UPS.js that will alter the set of shipping services displayed to the user, based on which shipping type they have chosen. It in internationalized. * Inside WebGUI.ShipDriver.UPS.initServiceTables, add a new object to hold codes and i18n labels to describe the services. * Add a new service to the switch (newService) statement. Make sure the new case matches the keys you added to the shippingTypes hash in the definition subroutine. 5) Add a new definition property that allows the user to choose the type of currency to use for their shipping rate quote. Country names and codes, and currency codes are ISO standards. Country codes are provided by the Locales module, ISO 3166. This module already has translations for 13 languages. For additional languages, they should be added as modules and sent to the Locales module maintainer. Currency codes are not currently supported by this driver, nor is there an existing internationalized currency module. This should be a simple extension to Locales.