Shipping using both weight and price


https://forum.kartris.com/Topic3231.aspx
Print Topic | Close Window

By UKcentric - Tue 5 Aug 2014
We ship goods using a combination of weight and price. For example:

UK Standard Mainland under £39 under 1kg = £2.95
UK Standard Mainland under £39 1kg - 2kg = £4.95
UK Standard Mainland under £39 2kg - 4kg = £7.95
UK Standard Mainland over £39 under 1kg = free
UK Scottish Upper Counties under £39 under 1kg = £2.95
UK Scottish Upper Counties under £39 1kg - 2kg = £5.95
UK Scottish Upper Counties under £39 2kg - 4kg = £7.95
UK Scottish Upper Counties over £39 = free

etc etc

How do we go about setting this shipping scenario up in Kartris?

Thanks in advance.
By Tiggywiggler - Sun 17 Aug 2014
Are you referring to the internal shipping option where you don't use a predefined shipping portal? (frontend.checkout.shipping.system = c).

If so I have had a look at this today and the system does not currently support this approach. However it would be possible to add this, to do this I would recommend this approach:

Alter the structure of the SQL table tblKartrisShippingRates changing the column [S_Boundary] to [S_Boundary1] and adding a new column [S_Boundary2]. The [S_Boundary1] would be the primary boundry (such as the weight) and then [S_Boundary2] would be the adjuster (such as price). You would then need to alter the views and procedures that conduct all DML and DAL commands against this table.

Next you will need to change the DAL record to include the new column and to adjust the existing calls [kartrisShippingData.xsd] and the BLL to access the data and perform updates / inserts appropriately. This will need to include the calls inside KartrisClasses.vb that do the calculations against data delivered by ShippingBLL.vb to work out how much to charge per order.

Next you will need to alter the admin page to be able to add new rows when you want to alter the [S_Boundry2] fields (this will take time to get right) and the front end pages to explain to the user what prices are beign applied and why. This is because the user will want to know why their delivery prices are being changed based on order price (you may just want to link to a shipping rates explanation page).

This is not a complicated process but it will take you some time to work through, especially as any future update will overwrite these changes and you will need to track what you are doing so that future updates do not break your systems operation.

Have fun and good luck with your project.