Location Service Agreement

Location Service Agreement ("LSA") is a contract signifying the management relationship between a Tenant and a Client Company. It may also be called a Client Contract. In this contract, terms and payment for services at various locations are agreed upon. An LSA may have many locations. Each location may have multiple services.


  • Awaiting Proposal: Contract has not been sent to the client or was rejected by the client and needs further changes.
  • Out to Client: Contract is in client's hands now. We are waiting on them to sign it.
  • Signed by Client: The contract was signed by the client. An uploaded copy should be attached.
  • Needs Final Review: The contract needs some review by ops to ensure all the services' details are correct.
  • Fully Executed: The contract was signed by Management Company and is ready for integration. All services on this contract should be come
  • Offer Expired: The contract offer expired and we decided not to continue negotiating with this customer.
  • Client Refused: The client refused our offer and does not want to continue. Notes can be suppled to help know why they refused our deal.
  • Management Company Refused: Company does not want to continue with this LSA for some reason. Notes can be supplied to help know why it was refused.

Creating a new LSA

When creating a new LSA we must attach it to some existing MSA. The MSA may or may not have a client signature yet. The LSA has an integration date, delivery date and offer expiration date. Integration date is when we take over the billing processing and on board the account. Delivery date is when the LSA is out to the client. The offer expiration date tells the client when our offer expires. We may change this if the client drags their feet and we really want to sign with them.

When the LSA is fully executed all the services on that LSA will be ready for integration. Even though we executed the LSA today, the integration date of the LSA may still be on a future date, i.e. 3 weeks from now. Thus those services will need to become active at that time. We control this via a very important cronjob which runs daily to update the  type of the service to {status} {service type}. So for example an Upcoming Rolloff would just become a Rolloff. Another status we have is Terminated. So once a Commercial service is terminated it would become a Terminated Commercial. This single table inheritance allows us to keep upcoming and terminated services separate from our live active billable services. We may occasionally want terminated or upcoming services

Amend an Executed LSA

In this section, assume that the LSA has been  Fully Executed. Any changes we want to make require us to create an LSA Amendment. An amendment can accomplish 3 things. We will go into each into more detail below.

  1. append new client and vendor services onto existing LSA
  2. revise existing services on the LSA
  3. terminate existing services on the LSA

Append new client/vendor services

Creating a new client service will set the  activation_amendment_id column as well as a lsa_id column on the client service. The is_fully_executed column will be set to false. This might seem strange at first though. It means that we will have client services attached to a Fully Executed LSA that are not currently executed i.e. is_fully_executed = false.

Revise existing services

There are several reasons why we would need a service revision.

Please see the service revision reasons for more details.

Terminate existing services

Any active service ( deactivation_amendment_id is null and is_fully_executed) on the LSA can be terminated. This will cache a local json copy of serviecs to be terminated on the location_service_agreements_amendments table until the amendment is completed. Once completed, all services will be marked as terminated in the client_services table. This keeps us from accidentally setting a termination date on an incomplete amendment. The deactivation_amendment_id and is_full_executed columns will also be set as the amendment is completed.