Spec Sales comes as a standard piece of ClickHome 3 functionality that just needs to be enabled by setting up the Roles and Permissions. Depending on the size of the organisation there are different ways to set this up, sometimes in the bigger companies there are dedicated Sales People who are between Display Hosts and Contract Admins who just close Sales. Sometimes the Sales People are Contract admins as well, permissions will be different in these scenarios.

Op Codes to enable Spec Sales;

To enable the Spec Sales screen you need to be the Contract admin on the Lead. To see the Contracts for sale you need to have the inRequired Relation of "Job Types[*]" and you can limit by Business unit or Contract Admin Jobs etc. You need to have the op codes below with some type of relationship to the Master Contract of the Lead to be able to Commit to Buy. The display of the Preconstruction Jobs that are for sale are also controlled by;

  • ContractSalesListContractsforSale = 2720
  • ContractSalesBuyFromContract = 2730

Additional Op Codes for Spec Sales are below;
  • ContractSalesStatusChangetoAnyValue = 2701
  • ContractSalesStatusChangetoForSale = 2702
  • ContractSalesStatusChangetoUnderOffer = 2703
  • ContractSalesStatusChangetoReserved = 2704
  • ContractSalesStatusChangetoSold = 2705
  • ContractSalesStatusChangetoNotForSale = 2706
  • ContractSalesUnCommitBuyFromContract = 2732
  • SpecSalesAllowMultipleCommitments = 2733
  • LostCommitment = 2753

Spec Sales - Commit to Buy

  1. The Spec Sale needs to be listed as 'For Sale' in tblContracts, so it will show in the Spec Sale list.
  2. Process begins by checking that the user has the operation code 2730 operation code on the Lead.
  3. It checks that we have a Master Contract for the Lead for the client that is purchasing the Spec Sale.
  4. It checks that the Lead does not already have a Preconstruction or Construction job at the master contract level.
  5. Checks the Spec Sale that they are trying to buy, that the user has permissions to view.
  6. Updates the information on the Lead with the Details of the Spec Sale they are buying. Then goes and updates the Spec Sale with the details of the customer in the Lead. It also here sets the Sales Person at the Master Contract level
  7. It updates fkidMasterContractParent
  8. Sets tblContracts cdSaleStatus to Sold (Presumably removing it from the Spec Sales Available List)
  9. Updates Date Modified
  10. If at Construction, it'll generate Notifications to update Entire Contract


Most of the Spec Sales process is done in Application code, however it uses tblMasterContracts, tblContracts and tblSalesInterests for various operations. since the premise of Spec Sales is joining/merging two idMasterContract records together, a lot is done in this table during the actual merging between the fkidLeadContract (Buyer) and fkidPresiteContract/fkidConstructionContract (Spec Sale). Additionally tblContracts hosts the cdSalesStatus field which lists whether an idContract is available to be listed under the Spec Sales screen. tblSalesInterests is the holding table for where a user has stored a customers interest in certain idContracts. tblContracts address fields such as LotAddress and other details like this are also updated by the application code during a Commit to Buy process.


Keeps Previous
Not Used
For Sale
Under Offer
Not for Sale

Potential Errors

  • Preconstruction Job Status;

    You cannot Commit to Buy a Spec Sale if the Preconstruction job is not Active.
  • Insufficient Permission Exceptions;

    These are possible at a few points. The user may not have the op code permissions to use the Commit to Buy button. You should check the Roles to ensure they have 2720 (View) and 2730 (Buy) operation codes. Additional Op Code information is above.
  • Unable to load Master Contract for CommitToBuyContract User {0} Master Contract {1};

    You can get this error when there is a issue at the Master Contract level for either the Lead or the Spec Sale you are trying to buy.If you don't have permissions on the Spec Sale you are committing to purchasing.
  • Cannot Commit to Buy another Contract when existing Master Contract already contains Preconstruction or Construction Jobs;

    Per the message you can get this error when you already have idContracts showing at a tblMasterContracts level for fkidPresiteContract or fkidConstructionContract.
  • Unable to load lead Contract for CommitToBuyContract User {0} Master Contract {1};

    At the master contract level, fkidLeadContract is not populated with the Lead idContract. There is nothing for the application to merge together.