For your standard HOA, where you don’t have approvals for architectural requests, you do not have amenities, and there is less of a need for a management and contractor presence, you can probably stick with the standard HOA software. Otherwise, if you represent your community, you probably need a better method to properly uphold your fiduciary duties. The devil however, is in the details.
1. The portal:
2. Community architectural rules built into architectural request form in JSM:
3. Architectural request workflow with approval steps at Pending Approval and Final Inspection statuses
4. Automation email code for "Architectural Request Approved with Conditions Email to Reporter and Committee"
Subject:
{{issue.key}} - Architectural Request Approved with Conditions
Content:
<body style="color: #333333;font-family: Arial, sans-serif;font-size: 14px;line-height: 1.4;">
<img style="display: block; margin-left: auto; margin-right: auto;" src="WEB LINK TO YOUR BANNER IMAGE HERE" alt="WEB LINK TO YOUR BANNER IMAGE HERE">
<div style="text-align: center;color: #707070;font-size: 12px;text-decoration: none;">
<a style="color: #707070;font-size: 12px;text-decoration: none;" href="WEB LINK TO YOUR SINGLE POINT OF ENTRY SITE">Provided by
<div style="text-decoration: underline;">The NEIGHBORHOOD COA</div>
</a>
<br>c/o <a style="color: #707070;font-size: 12px;text-decoration: none;text-decoration: underline;" href="WEB ADDRESS HERE">SO AND SO Management, Inc.</a>
<br>1234 Street Park Dr<br>Suite 100000001<br>CITY, STATE ZIP
<br>(804) 555-1212
</div>
<br><br>
<p>{{issue.updated.convertToTimeZone("America/New_York").fullDateTime}}</p>
<p>{{issue.reporter.displayName}}<br>{{issue.Address}}<br>CITY STATE ZIP</p>
<p>Project Ref: <a href="{{issue.url}}">{{issue.key}}</a> {{issue.Address}}</p>
<p>Dear <b>{{issue.reporter.displayName}}:</b></p>
<p>The Architectural Review Committee has approved your request for the listed project item(s) with the following stipulations:</p>
<blockquote>
<p>Project Request:<b>{{issue.Architectural Request Category}}</b>
<p>Conditions: <b>{{issue.Conditions}}</b></p>
</blockquote>
<p>The approval is contingent upon compliance with the specifications set forth in the approved request form. If your change or addition requires a county, city or state permit, it is the responsibility of the Owner to obtain before construction.</p>
<p>Please retain this letter in your files. If you have any questions regarding this matter, please do not hesitate to contact us through our <a href="REQUEST PORTAL WEB ADDRESS HERE">request portal</a>.</p>
<p>Sincerely,</p>
<p><br>Architectural Control Committee</p>
</body>
Note: Copy the HTML above and put it between the html tags at the link below, then click Run button at the top at the link below to test: https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
5. Some automations:
5a. Rule for the one circled in green in the picture above. This came from a recent free tutorial from Josh Golosinskiy of https://gryd.io:
6. Management Portal Google Site showing Jira menu:
7. Maintenance requests dashboard (there is one for each request type, a main dashboard, and one for board meetings with just pie charts):
45 units or 20% of 225 units are not represented by an owner in TownSq.
The number is 40 units or 18.2% of 225 units, if you do not include those that are pending sale or pending an update to county real estate records.
140 Owners or 17.77% out of 332 owners listed in county real estate records are not in Town Square.
23 units or 10.4% of 225 units are rental properties. 6 of these 23 are not represented by someone in TownSq.
Need verification of rental properties.
NOTE: Found out later through a “Request to Lease” request type in JSM, and other mechanisms mentioned further below, that we were actually at 16% rental properties.
192 or 57.83% email addresses of 332 owners listed in county real estate records are in Town Square.
So, adoption was a huge issue. Also, there was zero mechanism to communicate to tenants without going through the homeowner. The way I worked around this:
Established a single point of entry web portal (Public Google Site) and a Google Group which could act as:
A method to contact most every unit owner and tenant (others would be in a "BCC Separately" Google Contacts label). Board members have delegated access to send emails.
One group to set as “Viewer” of all community documents:
Also meets Code of Virginia requirements for a forum:
Code of Virginia » Title 55.1. Property and Conveyances » Subtitle IV. Common Interest Communities » Chapter 19. Virginia Condominium Act » Article 3. Management of Condominium » § 55.1-1950. Distribution of information by members:
"§ 55.1-1950. Distribution of information by members.
A. The executive board shall establish a reasonable, effective, and free method, appropriate to the size and nature of the condominium, for unit owners to communicate among themselves and with the executive board regarding any matter concerning the unit owners' association.
B. Except as otherwise provided in the condominium instruments, the executive board shall not require prior approval of the dissemination or content of any material regarding any matter concerning the unit owners' association."
Google Group with 284 Members:
How I got people to join:
Implemented https://www.avigilon.com/alta at the clubhouse and a Clubhouse Access Request request type on our request portal (JSM).
This got tenants asking their unit owners for access. We found out where our rentals were this way when people requesting did not match county ownership information. Previously we used proximity cards, but with this system, we only use mobile passes (and prox cards for extenuating circumstances).
Implemented an Update Contact Information request type and Request to Lease request type on our request portal (JSM).
Word of mouth. Walking the dogs and getting to know everyone.
This makes it harder to leave them for a cheaper or better rated company that you’d like to try out. This inability of most management companies may also decrease competition between them. Instead of export/import you are reduced to either losing all historical information, printing historical work (without attachments) to a PDF (what I had to do with TownSq, or they may be able to export certain things that the next company will just file away for you.
Real-world examples:
The management company we had and liked, Landmark Property Services, dropped their HOA services division and merged it into Community Partners of Virginia (CPVA) who was just previously bought by Continuum Co. Had our request information been in Landmark’s system, it would not have carried over into CPVA’s system.
With Jira Service Management, we just added the new community manager to the management group in Atlassian Administration, and gave them a little training.
Email to management and the board example (via JSM Automation rule):
Before Landmark, we had Associa. At the time, Associa did not have the ability to ingest architectural requests in their TownSq system, so the board was using smartwebs just for that purpose.
Unit owners did not have access to smartwebs. They had to upload a filled out PDF architectural request to TownSq, then the community manager would download it and then upload it to smartwebs where only the architectural committee and community manager had access. Later TownSq implemented an architectural request module however, they would not import historical architectural requests into it.
We were able to export our data from smartwebs to a point. We lost some of the conversation history because our board president pulled out of it before all conversation history could be manually captured. Statuses, dates, and other request information (minus attachments) was able to be exported easily and then imported into Jira Service Management via CSV import.
Migration of attachments from smartwebs was another story. Their team sent you a CSV file as a decoding mechanism to all the attachments in that were all in one folder where each were named like:
4623a28c-361f-4ee3-9dc6-8c0eccc103a2_project_receivedpdf.pdf
Used their “project key” as a ‘Hist Ref Num” in JSM to know which attachment belonged to each request. A snip of their file where I would add the JSM key and link when I had added the attachments:
Hundreds of smartwebs exported attachments (some even had to be converted from HTML to PDF!):
Request management needs to stay inside the approved medium.
Any work done outside of a request for example, calling a customer, needs to be documented inside the customer’s request.
Every time someone comments on a request, that request moves to the top of the queue.
You cannot filter by open date.
You cannot prioritize requests.
Difficult to view historical requests.
No sequence/reference number.
Cannot export all records in a CSV format.
Cannot import records - like past architectural requests.
Financials
Invoices
Payments for dues and facilities rentals. For the latter, a Google Calendar with Stripe could work:
https://support.google.com/calendar/answer/13762729?hl=en
Resale process
Contractors as request participants or agents or just an automated email to them when they are selected to complete the work.
Violations
You can try to get the management company to agree to just utilize JSM for requests. Some will not. Others who have seen my implementation recently are asking their application folks about connectors or other types of ways to integrate both.
Questions or comments welcome.
Tim Braxton
0 comments