Yes, your SP is wrong.
Following needs correction:
LEFT OUTER JOIN [dbo].[ParcelType] ON [dbo].[ParcelType].[ParcelID] = [dbo].[ParcelBooking].[ParcelTypeID] WHERE [dbo].[ParcelBooking].[FromCityID]="@FromCityID" AND [dbo].[ParcelBooking].[ToCityID]="@ToCityID"
There will be no quotes around the parameters. Do:
LEFT OUTER JOIN [dbo].[ParcelType] ON [dbo].[ParcelType].[ParcelID] = [dbo].[ParcelBooking].[ParcelTypeID] WHERE [dbo].[ParcelBooking].[FromCityID]=@FromCityID AND [dbo].[ParcelBooking].[ToCityID]=@ToCityID