Sprout Studio organizes your business as you would expect it to in real life.
Each Lead and Shoot can have as many Clients and Contacts as you'd like. The only real difference between a client and a contact is that a client can log in to their client portal and see everything from the shoot (i.e. invoices, galleries, contracts, etc) by default, whereas a contact does not have access to those things by default. However, a client is more or less a contact and is only categorized differently for organizational purposes.
Each lead and shoot must have a Primary Contact, which is your main contact for that lead or shoot. This is the contact who will be used for variables in emails, front-end messages and so on.
Adding a client or contact to a lead or shoot
To add a contact to a lead or shoot, visit that lead or shoot's Clients & Contacts page and click the "Add New" button. You can choose to add a client or a contact and whether you'd like to create a new one or add an existing one.
Toggling a client or contact's permissions
On the lead or shoot Clients & Contacts page
While on a lead or shoot's Clients & Contacts page, in the top-right corner of each contact, you can toggle:
Whether they're the primary contact or not by clicking the "Star" badge.
Whether they're classified as a client or a contact by clicking the "Client" badge.
Whether they have portal access to view this lead or shoot and all its items (i.e. invoices, contracts, galleries, etc) by clicking the "Portal" badge.