Don't know if there's "a typical config template". But using CBWFQ might match your requirements, assuming it's supported by your platform.
For an idea: (NB: syntax likely incorect)
class-map match-any HiPriority
match protocol http
class-map match-any MidPriority
match protocol exchange
class-map match-any LoPriority
match protocol netbios
match protocol ftp
policy-map SampleCBWFQ
class HiPrioity
bandwidth percent 25
class MidPrioity
bandwidth percent 5
class LoPrioity
bandwidth percent 1
interface serial 0
policy-map output SampleCBWFQ
You determine number of classes, what they comprise and their allocation of bandwidth.