Question for the photographer bees out there.

We hired a photographer to do our family portrait on Saturday, then on Sunday they are taking pics at our sons birthday party.
What is a reasonable tip? Is it 20% of their fee? That would be a lot! Or is a flat amount normal?

Also, sorta related and I've always wondered...
I was once told that if a vendor or service provider (like a photographer) is self employed you don't need to tip them (since they are making all of their fee). Is that true? Not the case for the above scenario, but still have always wondered what to do in that situation if they are self employed.