My family went to Cartagena in 2016 for 4 nights (it was the least expensive flight out of Miami where we were vacationing, so we said "why not?"; turned out to be a fabulous trip and I look forward to going back). Now, we were myself, DH, MIL, and 3 kids including a baby, so most people probably wanted to avoid us like the plague even if it meant losing a sale. We did not have an issue with vendors. People offered us hats once, but I was firm (I used my school teacher voice). We did 1 private tour of the fort and another group trip to Rosario Islands. Perhaps this is why we had no problems with vendors at all! We were out and about day and into the evening with no problems at all; I went for walks with the baby and was just fine.
It is hot, hot, hot. We took about 3 showers a day because we were soaked. Dress in very light clothing. I wore sundresses-they work if I'm walking the streets, but they are also great for a nicer restaurant.
Do not buy drinks from vendors. Just remember that out gut is not used to the microbes that live in the water in other countries. We have plenty of microbes in the U.S., but we are used to them. I drank the water at hotels/restaurants and was fine, but it's not worth chancing it since you're just there a few hours.
We loved Mila, which serves light lunch fare and desserts. La Vitrola is a classic; we had dinner there. We also had dinner at Cande, which we loved. There are two large hotels, the Casa San Augustin and the Sofitel Legend Santa Clara (both are in the old city). I am sure they will have lovely restaurants.
I hope you love Cartagena as much as we did! Happy Sailing!!