Why does my ServiceTitan integration require so many permissions?

There are two primary drivers that prompted the Contractor Commerce team to request so many permissions.
  1. The integration between Contractor Commerce and ServiceTitan is a deep and dynamic connection that spans many parts of a business, in terms of what is available now and what is part of our future roadmap to continue to provide features and efficiencies that contractors can use to improve their business.  As contractors do more online, a natural extension of this "Contractor Commerce" concept is that various parts of a business become more and more visible online, allowing customers to more easily access data and more easily transact with the contractor.  As we seek to automate as much as possible surrounding eCommerce for Contractors, we require as much data access as we can to provide the best experience possible.  The experience includes, but not limited to: 
    1. Customers
    2. Bookings / Estimates
    3. Jobs
    4. Pricebook Equipment
    5. .... and more ....
  2. The ServiceTitan system often demands a lot of permissions / access for what seems like a simple task.  When performing actions in ServiceTitan, there are often a lot of secondary data points that need to be accessed to power one feature.
    1. Example: One of the simplest parts of the ServiceTitan integration is creating a booking, however due to optional fields and related data that are configurable, the booking is actually related to 10 different API endpoints that must be accessed to accomplish the task of creating a booking, requiring permissions that are not obvious at a glance.
When you multiply the features that Contractor Commerce has integrated with ServiceTitan by the number of data points needed for various features, a lot of permissions are required to power the full Contractor Commerce experience.
Once area that Contractor Commerce does NOT interface with are endpoints related, technician timesheets and payroll, and a few others.