Design: Add billing rate support for projects

Add billing support to projects.

RCS has different billing profiles and we should support tracking information for all. For example, we charge for development services at X per hour; the infrastructure team offers support contracts at Y/year possibly depending on the number of resources.

We also have a default rate, and not all clients pay this rate. We started at X for one client, two clients are now at X+5, and the new rate for the latest client is X+10. So the new default rate should be X+10 but should not apply to existing clients. So, when a new client comes along, they should by default get the current default rate, and this should get locked in at that time (so not left null such that the default rate always applies and they get automatic rate increases).

I'm thinking the following additional models:

  • Teams within RCS: ARCsoft, Infrastructure, Support, Security
  • Services we provide tied to a specific team: ARCsoft provides "Software development", default rate X/hr; Infrastructure provides "Server support", default rate Y/server/year

The Project model is then updated with a reference to the service they employ, and that project's rate for that service.