Root Objects

This section describes the root objects used by the Accela API.


An address provides detailed information that defines the physical location of a parcel, building, contact, and so forth. An address is part of a property's APO (address, parcel, owner) information that is typically associated to a record. Addresses are stored as reference data that can be attached to transaction objects.


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. In addition to agency system settings and functional configurations defined in Civic Platform Administration, agency settings related to Construct environment and Construct-enabled apps are defined in Construct Administration Portal.


App settings are defined when a developer registers the app on Accela Developer Portal. These settings include app name, ID, and so forth.


In Civic Platform, an assessment is synonymous to an asset condition assessment. An asset condition assessment is a scheduled maintenance review and/or a quality review of a group of assets. Agencies may require such assessments for many different asset types such as vehicles, buildings, and water lines. Agencies may set different intervals for different asset types as well. For example, agency vehicles might require safety and emissions inspections yearly, while water lines might require an assessment every three months.

During an assessment, an inspector may make observations about the condition of the asset. For example, he may go to a certain area to look at the condition of the sidewalk and determine if there any cracks or whether the sidewalk is level. The inspector also looks at the area around the section sidewalk to determine whether trees or brushes block the walking path.

After the inspector completes the assessment, the inspector can log his findings assessment observation, which he can modify later as more information becomes available. He can attach documents and photos as needed to the asset condition assessment record, and record the assignments and costs that occur on the assessment.

In Civic Platform, an assessment is created based on its assessment type. An assessment type defines the assessment's custom attributes, rating types, and observation attributes. The following diagram shows the assessment object and its related objects supported by Accela API:


Assets can be any object that an agency owns or maintains, such as fire hydrants, valves, manholes, street signs, trucks, desks, buildings, parking lots, and telephone lines. Assets have standard properties such as date of service, start value, current value, depreciation value, salvage value, size, etc. In addition to these asset properties, assets can also have custom attributes which are customized characteristics of assets, structures, and establishments. Asset custom attributes can be grouped into a template, which can be used to create an asset. In addition to custom attributes, asset attribute data can be collected into an attribute table.

Condition assessments apply to assets that change or deteriorate over time. These assets may require a visual condition assessment to effectively manage their life cycle. Transaction records and documents can also be attached to assets. In Civic Platform, an asset is created based on its asset type. An asset type can be associated to specific work order types ("record types"), rating types, and usage types. The following diagram shows the asset object with its related objects supported by Accela API:

To manage and organize assets and asset types, Civic Platform supports several levels of asset classifications. Each asset is classified with an asset type, and each asset type can be organized within a group or by class type.

In general, assets are classified by the following standard class types:

  • Linear - The linear class type indicates a relationship between two assets. For example, a section of street, sidewalk, or runway at the city municipal airport.
  • Node - Node-link linear combines assets to indicate an explicit relationship between the assets. Node-link linear requires the user to define the asset ID by identifying the assets on each end of the linear asset. For example, define a sewer main by identifying its end points such as Manholes. Manhole “MH-01” flows to manhole “MH-02” which flows to manhole “MH-03.” The node-link linear allows for the creation of the Sewer Main asset by naming the beginning and end point assets of each pipe. In this example, the agency can create two Sewer Main assets such as class type of node-link linear defined as “MH-01 - MH-02” and “MH-02 - MH-03.”
  • Component - The component class specifies assets that are independent and do not connect assets as a building or tools. A component is free of lines and nodes.
  • Polygon - The polygon class type includes assets such as water drainage area, a storm drainage area, or a catch basin.

For example, valves, detectors, pressure assemblies, and other devices related to a backflow preventer are classified as a "Backflow Preventer" asset type. The Backflow Preventer has various purposes and can be classified within the Sewer, Storm, and Water asset groups. In addition, a backflow preventer is a component, so it is generally classified under the Component class type. The following sample diagram shows various type classifications for the Backflow Preventer:


Civic ID is a universal ID which a user can use to login Accela products including Civic Platform and Accela apps, as well as social network apps such as Facebook and Twitter. Civic ID is agency agnostic; it allows a user to link multiple agency Citizen Access accounts to a single login which enables cross-agency searches. 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

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.


The system provides standard conditions for different record types (permits, licenses, inspections, and so forth). 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

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


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.


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.


Filters are saved Civic Platform queries that enable users to find information easily and efficiently. Filters are configured in Civic Platform's Data Filter Portlet to display only the data that is relevant to the user in the context of their current business objective or use-case scenario.


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.


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.


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.


Payments represent that acceptance of monetary funds submitted to the agency in relation to a transactional record. The system uses payments to invoice for services rendered and to create credit card transactions for payment.


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


The record object is the main transactional object in Civic Platform. It includes associations to many other system objects.

Agencies define record types via Civic Platform Administration 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, permits, workflow, inspection schedules, fees, and so forth.

When you create a record, Civic Platform:

  • Creates an instance of a record type and stores information related to a specific user application, case, license, permit, service request, work order, and so forth.

  • Acts on the record in accordance with the business processes defined for the record type from which the record was instantiated.

  • Creates instances of sub-objects (address, parcel, owner, documents, workflow, fee schedule, and so forth) related to the record.

Depending on the agency's needs and the type of service users apply for, users may be required to fill in custom information when they submit an application. Custom information is stored in custom forms and custom tables, which can also be associated to a record.

When a user submits the completed application intake 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. A report configuration contains report definition details and permission attributes used to run reports.

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 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 via Civic Platform Administration. Depending on various configurations and options defined by the agency, the settings can be useful to build a dynamic application. The settings object supports the GET method for read operations only; it does not support any POST or PUT methods.

Shopping Carts

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.


Agency Users

Although "users" is a broad and general term, the Accela API's User object (user API resource) represents the agency user. An agency user is a staff member of the agency who logs in the Civic Platform back-office application.

Citizen Users

The other type of users is the citizen user. A citizen is any public user who logs in citizen-facing app such as Citizen Access or other civic-engagement apps using Accela API. The citizen user is represented by one of the following objects:
  • Citizen Access User - user who logs in Citizen Access (citizenaccess/citizen API resource).
  • CivicId - a registered user on the Construct User Portal, and can be linked to multiple user accounts (civicid API resource)

Workflow Tasks

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.