Root Objects

This section describes the root objects used by the Accela Construct API. Many of the APIs call the root objects as subobject to the function. The root object descriptions include a “Where Used” section that lists where these root objects get used.



Context: parcels, records, contacts, search

An address provides detailed information that defines the physical location of a parcel, building, contact, and so forth.



The system supports city, county, and state government agencies. Accela sets up agency accounts on the hosted system. Agencies are comprised of departments and department staff.



When you register your app, you define its settings. These settings include app name, ID, and so forth.



Civic ID is a universal ID which a user can use to login Accela products including Automation and Accela apps, as well social network apps such as Facebook and Twitter. The Civic ID has a profile and has links to one or more user accounts.




Citizen Access User

Citizen Access users can create and use their own accounts to login Accela Citizen Access. The Citizen Access user has a profile, account status, and contact information such as address(es) and phone number(s).

A Citizen Access user can have different roles:

        Citizen (Role = "CITIZEN") - Citizens are common public users in your agency. Citizen users access Accela Citizen Access to apply for and pay for permits, schedule inspections, and find information.

        Authorized Agent (role = "AUTH_AGENT") - Authorized agents conduct authorized service sales (for example, fishing and hunting license sales) in Accela Citizen Access. An authorized agent can add other citizen users (Authorized Agent Clerks) and enable or disable their accounts. The following diagram shows an agent who can manage other Citizen Access users as clerks:


        Authorized Agent Clerk (role = "AUTH_AGENT_CLERK") - When authorized agents manage their accounts in Accela Citizen Access, they can authorize clerks to conduct authorized service sales.

        Self-Certified Inspector (role = "SELF_CERTIFIED_INSPECTOR") - Self-certified inspectors upload inspection results using Accela Citizen Access. Self-certified inspectors are certified or licensed professionals so at least one licensed professional must be associated to this user. You can also let self-certified inspectors themselves associate licensed professionals with their public user accounts through Accela Citizen Access.

        Contract Inspector (role = "CONTRACT_INSPECTOR") - Contract inspectors upload inspection results using Accela Citizen Access. Contract inspectors are certified or licensed professionals or businesses so you must associate at least one licensed professional to the public user account from the Public User portlet. You can also let contract inspectors themselves associate licensed professionals with their public user accounts through Accela Citizen Access.

Citizen Delegates

Context: citizens

Citizen users have the ability to designate other citizen users as their delegates and grant the delegates permissions to access their data. Delegates can work on the data based on the granted permissions, such as viewing records, scheduling inspections, creating, renewing and amending records, uploading, downloading and deleting documents, and making payment.

The invited citizen users can accept or reject invitations. When the invited citizen users accept the invitation, they officially become the delegate of the users who invited them. A delegate can work on another citizen user’s data based on the granted permissions.

Citizen users can terminate the delegate relationship which revokes the permissions granted to the delegates. The removed delegates can no longer view or work on the data of the citizen users they act on behalf of.



Context: inspections, records

The system provides standard conditions for different record types (permits, licenses, inspections, and so forth). You can associate an available condition with your record. Depending on the condition, condition violations result in one of the following automatic settings to be applied to the inspections:

     Lock. Prevents almost any operation, except operations that result in removal of the lock, from occurring.

     Hold. Restricts the addition of an activity and editing of components.

     Notice. Indicates special instructions to the person that completes the application. The system displays a message when you open the application or any component associated with the application. This condition does not impede record processing.

     Required. Indicates that you must complete a specified activity or field before proceeding to the next step in a workflow.

Example Use Case

A drainage study must occur prior to approval of a building permit for new development. In this example, the drainage study requirement comprises the standard condition. You create the standard condition, name it D01 Drainage Study, and associate it with the Building/Building Permit/Drainage/Grading record type. When a user creates a new permit application of the Building/Building Permit/Drainage/Grading record type, the D01 Drainage Study condition applies to the new application record.

The system uses conditions at the record level and record component level. Any condition you place on a component, such as a record address, parcel, owner, licensed professional, contact, structure, establishment, or asset, affects any record that references the component.


Conditions of Approval

Context: records, inspections

Conditions of approval consist of a list of predefined requirements that must be met in order to receive approval for an inspection.



Context: records, search

The contacts object captures information about people or organizations involved in a business process. Contacts include licensed professionals, such as contractors, architects, engineers, and developers for which your agency maintains saved data. Contacts also include individuals related to a specific application or parcel, such as the applicant, billing contacts, or legal representatives.

You can add new contacts to your system, or update information about existing contacts. As you manage applications and parcels on your system, you can keep track of certain individuals related to an application or a parcel. For example, you can keep track of the legal counsel for a property owner, or the accountant responsible for any fees assessed on a certain application.



Context: records, inspections, checklist items

A document is any external file, including document files and image files.

Documents can be organized into "virtual folders", which belong to virtual folder groups. Virtual folder groups are configured as Standard Choices in Automation. A folder group can be associated with a record type.  

Example Use Case

A user can attach a document to a checklist item that contains additional items that are related to the checklist item. The user can also choose to assign the attached document a virtual folder associated with the inspection.



Context: records, search

The system uses the inspections object to manage inspection records during their complete lifecycle from application submittal to permit issuance or license issuance.Your agency may need to complete inspections on new developments, homes, or complaints.

The system supports inspection flow processes, to link different kinds of inspections into a timed sequences of events. The system can automatically schedule inspections to inspectors based on an inspector’s district, their discipline, their availability, and their workload.

The system can automatically schedule inspections upon application submittal. When you automatically schedule inspections, the system verifies inspector profiles against inspection types and assigns the appropriate inspector. Inspector assignments vary depending on geographic district, inspector discipline, calendar permissions, and workload availability. The system automatically assigns the inspector whose profile best matches the inspection type you are scheduling.





The system defines some users as inspectors and you can only assign inspections to these users. The user’s profile identifies them a an inspector, and provides details such as daily inspection maximums or units, districts, disciplines, and scheduling availability. You can then use this information to assign and schedule the appropriate inspector when automatically scheduling inspections.

Example Use Case

If an inspector has six hours available for inspections each day and each unit equals 30 minutes, then the inspector can accommodate twelve units per day.



Context: parcels, records, search

The system uses the owners object to define the owner related to a parcel so that the owner becomes the responsible party and point of contact for the parcel. The parcel owner must initiate or approve all work done on a parcel.



Context: records, search, addresses

The system uses the parcels object to define a piece of land with a specific location and legally defined boundaries. The county assessor’s office typically maintains information about all land parcels within its jurisdiction and imports parcel information, from a file, into the system.

Parcels comprise a central component of a land management solution or building permit solution. Owner, address, contact, fee, and application records exist in relation to work on a particular parcel. For example, an applicant may want to build an apartment complex on a particular parcel.




Context: records

The system uses payments to invoice for services rendered and to create credit card transactions for payment.



Context: records, search

A professional is a contractor, architect, engineer, developer, or associated organization. The system requires that all professionals be licensed.




Context: search, professionals

The record object comprises the main object of focus in system and includes associations to many other system objects (Figure 1: Record Object Diagram).

Agencies define record types to support the general business practices of the agency and the unique processing requirements for individual records. These record types define groupings of business objects (permits, for example) for which the system applies a common data model and common complex processes, such as the application intake form, workflow, inspection schedules, fees, and so forth.

The system creates an instance of a record type, when you create a new record, that stores information related to a specific user application, case, license, permit, service request, work order, and so forth. The system acts on individual records in accordance with the processes defined for the record type from which the individual record was instantiated.

When users create a new application, the system also creates instances of other objects (workflow, fee schedule, and so forth), and associates these objects with the individual records. The system uses these associated objects to define the processing of individual records over the course of the record life cycle.

Users apply for an agency service by specifying the applied for service (permitting, licensing, service request, and so forth) and completing an application form comprised of custom forms and custom tables (Understanding Custom Forms and Custom Tables on page 24). The applied for service determines the custom forms and custom tables the system uses to collect application information.

When a user submits the completed application form, the system creates a new instance of the specified record type and sets its status to the first task of the workflow associated with record type. After end users create the initial application record, record data and component data associated with the record, can be updated or added. This includes such items as workflow status, inspection results, fees, and so forth.




The system provides a set of standard reports, developed with reporting tools such as Crystal Reports, Oracle Reports, Microsoft Reporting Services, and Accela Report Writer. When executing reports, the system sends a report request, with report parameters, to the integrated report server. The report server connects to the system database, composes the report, and delivers the report in a predefined format.

Each reporting service provides options to present reports in different formats including Adobe Acrobat (.PDF), Microsoft Word (.doc), and Microsoft Excel (.xls). For example, Crystal Reports provides Adobe Acrobat (PDF), MS Word (.doc), MS Excel (.xls), Rich Text Format (.rtf) and Comma-Delimited (CSV) output formatting options.




The system provides users with a global search feature to locate records and objects in the system database. In the global search, you specify search criteria and you view the records that meet the criteria in a global scope.You can further organize the search results by applying filters to the results set.



Using Wildcards

A wildcard is a special character (%) you can use in your search criteria to represent one or more characters in a string of characters. When used, it can represent an undefined value. Where you place the wildcard character determines which part of the name or phrase you are not searching for.

Note:          The Accela Construct API does not support use of wildcards for all fields.

Example Use Case

You are searching for an owner with the last name equal or similar to Johnson. You enter %son as the search criterion. The search result includes all names it finds ending in “son,” including Johnson and Thompson. If you enter john%, the search results includes all names beginning with “John,” including Johnson, Johnston, and Johns. If you enter %john% and click search, the results include all names with “john” anywhere within the whole name, including Johnson, or St. Johns.

Advanced Search

If you perform advanced search with multiple fields, the search follows the following general rules:

     If you base a search on two or more detail search fields, the system uses AND to locate that contain all the search criteria. For example, if you pick two fields within the record detail search fields, the search applies this rule.

     If you base a search on fields across different categories, such as between record search fields and Address, Parcel, Owner (APO) template search fields, Accela Construct uses the AND rule to perform the search. For example, if you pick one record detail search fields and one search field from the APO template, the search applies this rule.

     If you base a search on two or more Task Spec Info, App Spec Info, or APO template search fields, Accela Construct uses AND to locate records that contain only one of the search criteria. For example, if you pick two fields within the APO template, the search applies this rule.

     If you base a search on two fields from the record detail search and the APO template, Accela Construct uses AND and OR to perform the search.

A search works for the following objects:











The settings object provides information on the configuration values for the settings subobjects. These values can vary based on how the hosting agency configures the system. The settings object supports the GET method for read operations only, it does not support any POST or PUT methods.




Shopping Carts

Context: shoppingcart

A collection of items to be purchased by the user. The shopping cart allows users to collect records and items into one location and pay for all items at the conclusion of the session.


Workflow Tasks

Context: records

A workflow comprises a sequence of tasks agency users follow to process a record. When a user submits a new application, the system creates a record of the specified record type and launches an instance of the associated workflow. Users change the status of a workflow task to promote a record to the next task in the workflow.

Example Use Case

You create a workflow that includes all the tasks to process a commercial building permit. This workflow includes tasks such as application acceptance, building review, permit issuance, inspections, certificate of occupancy, and closure.

Record status determines the operations you can perform on a record and your permission to perform those operations. For example, when a record changes its status, the workflow can lock the record from further activity until the status changes to a status that releases the lock.

The workflow can provide email notifications anytime the status changes. For each task and task status, you can notify a different individual. For example, you can notify a contractor after completion of a building inspection. The system can also notify public applicants.

Example Use Case

The workflow limits access to a building permit record when the status changes to plan review. The workflow limits access by restricting the ability of users to schedule inspections or result inspections, the workflow only allows users to view the record. When the record status changes to issued, users can schedule the necessary inspections and result an inspection.

The workflow definition comprises task names, task owners, task order, task time line, and sub-tasks. The process to follow depends on the workflow and the situation in which a user changes a task status.

     You can add sub-tasks, also known as activities, to each task. Sub-tasks create a more detailed workflow process or outline the steps involved in each main level task.

     You can attach a document with a sub-task. For example, you can attach a report of the results of the plan review or upload the actual plans.

     You can track the time you agency takes to process records, excluding the time spent by external parties. This time tracking can help determine where an agency can improve efficiency.

     You can save a history of workflows to audit your business processes.