Contracts when you need them, bookings without complications
Until now, to send a contract to a client you needed them to first make a booking. That worked well in many cases, but not all: what happens if you want to send a contract to a client you already have, without them having to go through the booking form?
And on the other hand, if your package doesn't include a contract, why ask the client for ID, address and date of birth?
With this update we solve both problems.
📝 Standalone Contracts: without prior appointment
The problem
You wanted to send a contract to a client for them to sign, but the only way was: create package → client books → contract is generated. Too many steps for such a common case.
The solution
Now you can create contracts directly from Contracts → Signed → New Contract.
How it works
- Click "New contract" (or access directly with the link)
- Select the contract template you want to use
- Choose an existing client from your CRM or create a new one
- Complete the necessary data (name, email, ID, address...)
- Click "Create contract"
What happens next?
- The contract is created with "pending signature" status
- The client receives an automatic email with the link to sign
- Expiration days are taken from the selected template
- If the client already existed in your CRM, their data is automatically updated
Smart client data
When you select an existing client, all their data is pre-filled automatically. If you modify any data (for example, update their address), the changes sync back to the CRM.
If the client doesn't exist, they're automatically created in your CRM when generating the contract.
Address is mandatory in standalone contracts, as it's a legal requirement for the document's validity.
Configurable automatic email
The email the client receives when you create a standalone contract can be enabled or disabled from Settings → Preferences → Emails → Contracts.
📋 Conditional booking form
The problem
All public booking forms asked for the same data: name, email, ID, phone, address, date of birth... This makes sense when there's a contract to sign, but if the package doesn't include a contract, you're asking for unnecessary information that can scare away your clients.
The solution
Now the form automatically adapts according to the package:
| With contract | Without contract | |
|---|---|---|
| Name and surname | Yes | Yes |
| Yes | Yes | |
| ID | Yes | No |
| Phone | Yes | No |
| Address | Yes | No |
| Date of birth | Yes | No |
| Identification flow | Yes | No |
How does the form know what to ask for?
It's automatic. If your package has an associated contract template, the complete form is shown. If it has no contract, the simplified form is shown.
You don't need to configure anything extra. Just make sure your packages that require a contract have an associated template in the package configuration.
The result
- Packages with contract: All necessary information for the contract and appointment
- Packages without contract: Only name and email, the minimum to create the booking
Fewer fields = less friction = more completed bookings.
🎯 When to use each one?
Standalone Contracts
- Client you already have and need to sign a new contract
- Jobs that don't go through the booking system (for example, direct commissions)
- Contract renewals with existing clients
- Any situation where you need a signed contract without an associated booking
Conditional form
- Mini session packages where you don't need a contract
- Quick or low-cost sessions where the contract is unnecessary
- Events where you want to maximize bookings with the least possible friction
📚 More information
All this functionality is documented in detail inside the app:
- Documentation → Contracts → Signed Contracts
- Documentation → Calendar → Public Page
If you have doubts about how to configure your standalone contracts or adjust your packages, check the guides.
The PhotoHeart Team Building professional tools for professional photographers
