Emergency? Call — don’t use this form.
For flooding, no heat in freezing weather, gas smells, sparking, or anything unsafe, call the 24-hour emergency maintenance line now:
(801) 555-0199This form is not monitored continuously and should never be used for immediate emergencies. If anyone is in danger, call 911 first.
Request maintenance
Tell us what’s wrong and how to reach you. When you submit, you’ll get a reference number on screen. Keep it — you’ll need it if you call about the request.
Rental application
This is the first step only. It does not ask for a Social Security number, bank details, ID documents, or background-check information — those, if needed, come later through a separate secure process. Submitting an application does not mean you are approved, and no background check is run from this form.
Pay rent & fees
Enter your details and review the summary, then scan the Venmo QR code in step 3. Payment happens in the Venmo app on your phone — this page never charges you and never asks for a Venmo password or bank login.
Owner setup guide
This page is ready to publish as-is on any static host (Cloudflare Pages, Netlify, GitHub Pages, Vercel) over HTTPS. The forms validate and issue reference numbers in the browser today, and rent is paid by scanning the Venmo QR code in the Payments tab — no payment API or merchant account needed. Email delivery needs the small server piece below; nothing is emailed until you connect it.
1 · Branding, contact details & phone numbers
- Open
index.htmland edit theCONFIGobject at the top of the script at the bottom of the file: company name, office phone, office email, and the emergency maintenance number. - Colors live in the
:rootCSS variables at the top of the file (--navy,--teal). - Replace the placeholder 555 phone numbers and
contact@sarkadyrentals.comeverywhere they appear before publishing. - Review the privacy notice in the footer and replace it with your final wording (see step 8).
2 · Email: recipient addresses & sending domain
Create a .env file on your server / serverless host (never in this HTML file) from this template — .env.example:
# Who receives form notifications (same or different addresses)
MAINTENANCE_RECIPIENT_EMAIL=you@example.com
APPLICATION_RECIPIENT_EMAIL=you@example.com
# Verified sender on your own domain
FROM_EMAIL=Sarkady Rentals <notifications@yourdomain.com>
# Transactional email provider (Resend, SendGrid, or equivalent)
EMAIL_PROVIDER_API_KEY=replace_with_your_key
- Sign up with a transactional provider (e.g. Resend or SendGrid), verify your sending domain by adding the SPF/DKIM DNS records they give you, and confirm a test send lands in your inbox — not spam.
- The server sends notifications from
FROM_EMAILand sets the tenant/applicant’s email as Reply-To, so hitting Reply reaches them directly. - Subject lines:
Maintenance Request — [Property/Unit] — [Urgency]andRental Application — [Applicant Name] — [Property/Unit]. - The tenant/applicant also gets a confirmation email containing their reference number. If sending fails, the server must keep the saved submission, flag it for retry, and the confirmation on this page must not claim the email was delivered.
3 · Venmo QR code & form backend
Venmo QR code (no API, no merchant account) — already set up:
- The Payments tab shows a QR code generated for your Venmo handle @Bob-Sarkady. Scanning it opens
https://venmo.com/u/Bob-Sarkady, and the handle is printed under the code. The image lives atassets/venmo-qr.pngnext to this page’sindex.html. - Test it: scan the published code with your phone and confirm it opens the @Bob-Sarkady profile before you tell tenants to use it.
- If your handle ever changes, generate a new QR code for the new
venmo.com/u/…link, save it overassets/venmo-qr.png(same filename), update the handle shown in the Payments tab and inCONFIGat the bottom of this file, then republish.
Form email backend (optional, for automatic email delivery):
- Deploy two small serverless endpoints alongside this page (Netlify Functions, Vercel Functions, Cloudflare Workers, or any Node host):
POST /api/maintenanceandPOST /api/applications— re-validate every field server-side, save the submission to a private database, store photos in private object storage with expiring signed links, assign the reference number, then send the two emails from step 2. Add rate limiting and the honeypot field check (the hidden field is already in both forms).
4 · Test everything, then deploy with HTTPS
- Submit both forms with bad data (missing fields, bad email) and confirm the error messages are clear; then submit valid test entries and confirm the notification email, the confirmation email, and the reference numbers all match.
- Scan the Venmo QR code in the Payments tab with your phone and confirm it opens the correct Venmo profile. Send a small test payment (e.g. $1) with the payment note shown on screen, and confirm you can match it to the right property and purpose in Venmo.
- Check both forms and the payment review + QR step on a phone.
- Deploy to your host with HTTPS enforced (all the free hosts above provide it automatically with a custom domain), and re-test the live URLs.
- Privacy notice: the footer notice is a starting draft — have it reviewed before launch, and update the contact details in it to match step 1.