As the service is automatically switched by vendors API, we would expect vendor system to throw a warning or an error prior to returning shipping label.
Unfortunately, there's no way for Linnworks to predict if a selected service is valid for order shipping country, as service validation is taking place after shipping labels request has been submitted to the vendors system. That is true for all shipping integrations.
A simple solution, that would help you prevent incorrect DPD services from being assigned to Cyprus and Monaco orders, can be implemented using Rules Engine. Here's a sample rule, that check whether order shipping country is Cyprus or Monaco using 'matches one of' expression:
Please note, if you are already using Rules Engine to automate service allocation, you will need to add Cyprus/Monaco check above the EU countries check.
So, the DPD integration stops me sending UK shipments with an overseas shipping method and vice versa but it still allows me to select a shipping service that's not available to a specific country.
E.g. Monaca and Cyprus, DPD only do air shipments but I can process as road delivery (DPD Classic). Unfortunately the order processes and then later I find out that the items have gone through to DPD as DPD Air Express (the most expensive option) which is costing me around £100 per parcel due to the size of my items.
Is it possible to modify so that services can only be used in the countries they are available?