Getting Started

Creating your account and organization

To begin using ResortStrata, visit the registration page and create an account with your email address and a secure password. During registration you will also create your first organization — this is the top-level entity that holds all of your resorts, contacts, invoices, and team members.

Once registered, you will be signed in automatically and taken to the portal dashboard. You can update your organization name and details at any time from the settings area.

The 30-day free trial

Every new organization starts with a 30-day free trial that gives you full access to all portal features. No credit card is required to start. Before the trial expires you can subscribe to a paid plan from the Billing page to maintain uninterrupted access.

Dashboard overview

The dashboard is your command center. At a glance you will see:

  • Stat cards — quick counts for key metrics such as total resorts, total units, active occupancy windows, and open maintenance jobs.
  • Upcoming arrivals — occupancy allocations whose start date is approaching, so you can prepare units for incoming guests or owners.
  • Open jobs — maintenance jobs that are not yet completed, ordered by priority and due date.
  • Servicing due — housekeeping and servicing tasks that are scheduled or in progress and approaching their due window.
  • Outstanding invoices — invoices that have been sent but not yet paid, helping you keep track of receivables.

Navigating the portal

The portal uses a sidebar menu on the left-hand side that provides access to every section: Dashboard, Resorts, Contacts, Occupancy, Servicing, Jobs, Invoices, Email, Team, Billing, and Support. On smaller screens the sidebar collapses into a hamburger menu.

All data in the portal is scoped to your current organization context. If you belong to more than one organization you can switch between them using the organization switcher at the top of the sidebar.

Resorts & Units

Adding a new resort

Navigate to Resorts in the sidebar and click Add Resort. You will need to provide:

  • Name — the display name for the resort (e.g. "Oceanview Residences").
  • Address — the street address of the property.
  • City — the city or town.
  • Country — select from the country list.
  • Timezone — used for scheduling servicing, jobs, and occupancy dates in the correct local time.

Managing units within a resort

Each resort contains one or more units — these represent individual rooms, apartments, villas, or lots. When viewing a resort, click Add Unit to create a new unit. Each unit has:

  • Unit identifier — a label such as "Unit 4A", "Villa 12", or "Room 301".
  • Notes — optional free-text notes about the unit (e.g. "Ground floor, wheelchair accessible").

Units are the fundamental building blocks of the system. Occupancy allocations, servicing tasks, maintenance jobs, and invoices are all linked to specific units.

How unit count affects billing

ResortStrata uses a per-room pricing model. Your subscription cost is based on the total number of units across all resorts in your organization. There is a minimum of 5 units — if you have fewer than 5, you will be billed for 5. This keeps pricing fair for small and large properties alike.

Editing and updating resort details

Click on any resort from the list to view its details. From the resort detail page you can edit the resort name, address, city, country, and timezone. You can also add, edit, or remove units from this page.

Tip: Keep timezone settings accurate — they affect how due dates and scheduling windows are interpreted throughout the portal.

Clients (Contacts)

Adding owner and tenant contacts

Contacts represent the people associated with your properties — typically owners and tenants. Navigate to Contacts and click Add Contact to create a new record.

Contact fields

  • First name and Last name — the contact's full name.
  • Email — used for sending invoices, broadcast emails, and payment links.
  • Phone — optional phone number for the contact.
  • Marketing opt-in — a flag indicating whether the contact has consented to receive marketing communications. This is respected by the email broadcasting feature.

Linking contacts to resorts and units

When creating or editing a contact, you can associate them with specific resorts and units. This linkage is used when creating occupancy allocations, generating invoices, and targeting email broadcasts.

Owner vs tenant distinction

Contacts are classified as either owners or tenants. This distinction is important for:

  • Email broadcasting — you can target owners only, tenants only, or all clients.
  • Invoicing — ensuring bills go to the correct party.
  • Occupancy tracking — understanding who is occupying a unit and in what capacity.

Tip: Keep email addresses up to date. Many features — invoice delivery, payment links, and broadcast emails — depend on accurate contact email addresses.

Occupancy Allocations

Creating occupancy windows

Occupancy allocations define who is using a unit and when. Navigate to Occupancy and click Add Allocation. Each allocation requires:

  • Unit — the resort unit being occupied.
  • Owner — the contact (owner or tenant) associated with this period.
  • Start date and End date — the check-in and check-out dates for the allocation window.

Overlap detection

The system automatically checks for date conflicts when you create or edit an allocation. If the dates you enter overlap with an existing allocation for the same unit, you will see a warning. This prevents double-booking and ensures your occupancy calendar stays accurate.

Calendar year and week number fields

Each allocation also records the calendar year and week number. These fields are useful for timeshare and strata operations where unit usage is organized by numbered weeks within a year.

Editing existing allocations

Click on any allocation to update its dates, unit assignment, or owner. The overlap detection runs again on save, so you will be alerted if your changes create a conflict.

Tip: Use occupancy data in conjunction with the servicing module to schedule turnovers between allocation windows.

Servicing & Housekeeping

Creating servicing tasks

Servicing tasks cover all routine unit preparation work — cleaning between guests, inspections, repairs, and deep cleans. Navigate to Servicing and click Add Task. Choose from the following task types:

  • Cleaning — standard housekeeping clean.
  • Inspection — a walkthrough to check unit condition.
  • Repair — minor fix work that does not warrant a full maintenance job.
  • Turnover — full preparation of a unit between occupancy windows (typically combines cleaning and inspection).
  • Deep clean — thorough, intensive cleaning beyond the standard scope.

Task fields

  • Unit — the resort unit to be serviced.
  • Status — the current state of the task (see below).
  • Task type — one of the types listed above.
  • Due start and Due end — the window during which the task should be completed.
  • Assignee — the team member responsible for carrying out the task.

Checklists

Each servicing task can have a checklist — a list of individual line items that staff can work through and tick off as they complete each step. This is especially useful for turnovers and deep cleans where multiple steps must be followed in order.

Add checklist items when creating or editing a task. Staff members can then mark each item as complete from the task detail view.

Task statuses

Tasks progress through the following statuses:

  • Scheduled — the task has been created and is awaiting its due window.
  • In progress — work has begun on the task.
  • Completed — the task is finished.
  • Cancelled — the task has been cancelled and will not be carried out.

Tip: Assign tasks to specific team members so they appear in each person's workload. Use checklists to standardize quality across your housekeeping team.

Maintenance Jobs

Logging reactive maintenance

Maintenance jobs track reactive work that needs to be done on your properties. Navigate to Jobs and click Add Job. Each job includes:

  • Title — a short summary of the issue (e.g. "Leaking kitchen tap").
  • Description — detailed information about the problem and any relevant context.
  • Category — the type of maintenance work required.
  • Priority — how urgently the job needs attention.
  • Status — the current stage in the job workflow.

Categories

Jobs are organized into the following categories:

  • Plumbing — pipes, taps, drains, water heaters, toilets.
  • Electrical — wiring, outlets, switches, lighting, circuit breakers.
  • HVAC — heating, ventilation, air conditioning, thermostats.
  • Structural — walls, roofing, foundations, windows, doors.
  • Cleaning — specialist cleaning beyond routine housekeeping.
  • Landscaping — grounds, gardens, paths, exterior maintenance.
  • Appliance — kitchen appliances, washers, dryers, refrigerators.
  • Pest control — insect, rodent, or wildlife issues.
  • Other — anything that does not fit the above categories.

Priority levels

  • Low — cosmetic or non-urgent issues that can be addressed when convenient.
  • Normal — standard maintenance that should be completed within a reasonable timeframe.
  • High — important issues that affect guest or owner experience and should be prioritized.
  • Urgent — critical problems that require immediate attention (e.g. burst pipe, power failure, security issue).

Status workflow

Jobs follow this lifecycle:

  • Open — the job has been logged and is awaiting action.
  • Scheduled — the job has been assigned a date and/or team member.
  • In progress — work is actively being done.
  • Completed — the job is finished.
  • Cancelled — the job is no longer needed.

Assigning jobs to team members

When creating or editing a job you can assign it to any team member in your organization. Assigned members can see their jobs from the dashboard and the jobs list.

Due dates and completion tracking

Set a due date on each job to ensure timely resolution. The dashboard highlights overdue and upcoming jobs so nothing falls through the cracks.

Tip: Use the priority system consistently across your team. Reserve "Urgent" for genuine emergencies so it retains its meaning.

Recurring Maintenance (Job Series)

Creating recurring maintenance templates

For maintenance that happens on a regular schedule — such as monthly HVAC filter checks or weekly pool inspections — you can create a job series. A series acts as a template: you define the job details once, and the system creates individual jobs automatically on schedule.

Frequency settings

Job series support the following frequencies:

  • Weekly — a new job is created every week on a specified day of the week.
  • Monthly — a new job is created every month on a specified day of the month.

How jobs are materialized from series

The system automatically generates individual maintenance jobs from each active series according to the configured schedule. These materialized jobs appear in the regular jobs list and follow the same status workflow (open, scheduled, in progress, completed, cancelled).

Day of week / day of month settings

For weekly series, you choose which day of the week the job should be created (Monday through Sunday). For monthly series, you choose which day of the month (1 through 28) the job should appear.

Tip: Recurring maintenance helps you stay on top of preventive work. It is far cheaper to maintain equipment on schedule than to repair it after a failure.

Invoicing

Creating draft invoices with line items

Navigate to Invoices and click Create Invoice. Invoices start in draft status, allowing you to build them up before sending. Add one or more line items to each invoice, specifying the service or charge.

Invoice fields

  • Bill-to contact — the client who will receive and pay this invoice.
  • Resort — the resort the charges relate to.
  • Unit — the specific unit, if applicable.
  • Description — free-text description for each line item.
  • Quantity — the number of items or units of service.
  • Unit amount — the price per item or unit of service.
  • Tax — the tax amount or percentage applied to the line item.

Invoice lifecycle

Invoices move through three stages:

  • Draft — the invoice is being prepared. You can add, edit, or remove line items freely.
  • Sent — the invoice has been delivered to the client. It appears in your outstanding invoices until paid.
  • Paid — payment has been received and confirmed.

Generating PDFs

You can generate a PDF of any invoice for your records or to attach to correspondence. The PDF includes your organization details, the bill-to contact, all line items, and the total amount due.

Emailing invoices to clients

From the invoice detail page, click Send Invoice to email it directly to the bill-to contact. The email includes a secure payment link that allows the client to view the invoice and pay online. This link is HMAC-signed and time-limited for security.

Tip: Review each invoice carefully while it is in draft. Once sent, the client will see exactly what you have entered, including descriptions, quantities, and amounts.

Payments

Connecting your Stripe account

To accept card payments through ResortStrata, you need to connect your own Stripe account. Navigate to Settings > Payments and enter:

  • Publishable key — your Stripe publishable API key (starts with pk_).
  • Secret key — your Stripe secret API key (starts with sk_). This is stored encrypted in our database.
  • Webhook secret — the signing secret for your Stripe webhook endpoint (starts with whsec_). This is also stored encrypted.

How card payments work

When a client clicks the payment link in their invoice email, they are taken to a payment page hosted by ResortStrata. If you have Stripe configured, the client can pay by card. Clicking "Pay now" creates a Stripe Checkout session and redirects the client to Stripe's secure hosted payment page. After successful payment, the client is redirected back and the invoice is marked as paid.

Bank transfer instructions

If you also accept bank transfers, you can configure bank transfer instructions in your payment settings. These include:

  • Heading — a title displayed above the instructions (e.g. "Bank Transfer Details").
  • Instructions text — the full bank details and reference information the client should use when making a transfer.

Bank transfer instructions are displayed on the payment page alongside the card payment option.

Payment page

The payment page is a public page — clients do not need a ResortStrata account to view it. The link is unique to each invoice, HMAC-signed, and has an expiry time for security. On this page the client can see the invoice details and choose to pay by card or bank transfer.

Webhook configuration

For payment confirmations to be processed automatically, you must set up a webhook endpoint in your Stripe dashboard pointing to your ResortStrata webhook URL. When Stripe confirms a successful payment, the webhook handler automatically marks the corresponding invoice as paid.

Tip: Test your Stripe integration using Stripe's test mode keys before going live. This lets you verify the full payment flow without processing real charges.

Email Broadcasting

Composing broadcast emails

Navigate to Email and click New Broadcast. The composer includes a rich text editor that supports formatting such as bold, italic, headings, links, and lists. Write your message as you would like recipients to see it.

Audience segmentation

You can target your broadcast to specific audiences:

  • All clients — every contact in your organization.
  • Owners only — contacts classified as owners.
  • Tenants only — contacts classified as tenants.
  • By resort — contacts linked to a specific resort.

Marketing opt-in filter

The broadcast system respects the marketing opt-in flag on each contact. Only contacts who have opted in to marketing communications will receive your broadcast. This helps you stay compliant with email marketing regulations.

Attachments

You can attach files to your broadcast emails. Attachments are subject to a 5 MB size limit per file. Supported file types include common document and image formats (PDF, DOCX, XLSX, JPG, PNG, etc.).

Test emails

Before sending a broadcast to your entire audience, use the Send Test feature to send the email to your own address. This lets you review the formatting, content, and attachments exactly as recipients will see them.

Draft saving and editing

Broadcasts can be saved as drafts and edited later. This is useful when you are preparing communications in advance or need approval from a colleague before sending.

Delivery tracking

After a broadcast is sent, you can view delivery information showing how many emails were dispatched. This helps you confirm that your communications reached the intended audience.

Tip: Always send a test email first. Check it on both desktop and mobile to make sure formatting looks good across devices.

Team & Permissions

Inviting team members

Navigate to Team and click Invite Member. Enter the person's email address and they will receive an invitation to join your organization. Once they accept, they will appear in your team list.

Permission groups

Access within ResortStrata is controlled through permission groups. A permission group is a named collection of permissions that can be assigned to team members. For example, you might create a "Housekeeping" group with only servicing-related permissions, or a "Manager" group with broad access.

Available permissions

The following permissions can be included in a group:

  • resorts.view — view resort and unit details.
  • resorts.edit — create, edit, and manage resorts and units.
  • contacts.view — view contact records.
  • contacts.edit — create, edit, and manage contacts.
  • occupancy.view — view occupancy allocations.
  • occupancy.edit — create, edit, and manage occupancy allocations.
  • servicing.view — view servicing tasks.
  • servicing.edit — create, edit, and manage servicing tasks.
  • jobs.view — view maintenance jobs.
  • jobs.edit — create, edit, and manage maintenance jobs.
  • invoices.view — view invoices.
  • invoices.send — send invoices to clients.
  • email.broadcast — compose and send broadcast emails.
  • billing.manage — access billing settings and manage the subscription.
  • users.manage — manage user accounts within the organization.
  • members.assign_groups — assign permission groups to team members.
  • groups.manage — create, edit, and delete permission groups.
  • payments.stripe_credentials — view and update Stripe API credentials.
  • payments.bank_instructions — edit bank transfer instructions.
  • support.manage — create and manage support tickets.

Creating and editing permission groups

Go to Team > Permission Groups and click Create Group. Give the group a name and select the permissions it should include. You can edit groups at any time — changes take effect immediately for all members assigned to that group.

Assigning groups to members

From the team list, click on a member to view their profile. Use the Assign Group option to add one or more permission groups. A member's effective permissions are the union of all permissions from all assigned groups.

Removing members

To remove a team member from your organization, go to their profile in the team list and click Remove. This revokes their access to all organization data immediately.

Tip: Follow the principle of least privilege — give team members only the permissions they need for their role. This reduces risk and keeps your data secure.

Billing & Subscription

Trial period

New organizations receive a 30-day free trial with full access to all features. You can see how many days remain on your trial from the Billing page.

Per-room pricing model

Pricing is based on the total number of units across all resorts in your organization. There is a minimum of 5 units for billing purposes. If you add more units, your subscription adjusts accordingly.

Supported currencies

ResortStrata supports subscriptions in USD, GBP, and EUR. Choose your preferred currency when subscribing.

Stripe checkout for subscription

When you are ready to subscribe, click Subscribe on the Billing page. You will be redirected to a Stripe Checkout session where you can enter your payment details securely. Once payment is confirmed, your subscription is active.

What happens when your subscription expires

If your trial ends without subscribing, or if your paid subscription lapses, portal access is restricted to the Billing page only. You will not lose any data — it remains safely stored — but you will need to subscribe or renew before you can access other portal features again.

Tip: Subscribe before your trial ends to avoid any disruption. You can cancel at any time from the Billing page.

Support Tickets

Creating support tickets

If you need help or encounter an issue, navigate to Support and click New Ticket. Provide the following information:

  • Subject — a brief summary of your issue or question.
  • Description — detailed information about what you are experiencing, including steps to reproduce if applicable.
  • Urgency — how urgently you need a response.
  • Category — the area of the platform the issue relates to.

Viewing ticket details and message history

Click on any ticket in your support list to view its full details and the complete message history. All communication between you and the support team is recorded in the ticket thread.

Replying to tickets

Use the reply form at the bottom of the ticket detail page to send additional messages. Provide any requested information or follow-up details to help resolve your issue quickly.

Closing tickets

Once your issue is resolved, you can close the ticket. Closed tickets remain in your history for reference but are no longer active.

Tip: Include as much detail as possible when creating a ticket — screenshots, error messages, and steps to reproduce all help the support team resolve issues faster.

Security

Password requirements

All user passwords must be at least 8 characters long. We recommend using a strong, unique password that combines letters, numbers, and symbols.

Password reset flow

If you forget your password, click Forgot password on the sign-in page. Enter your email address and you will receive a password reset link. This link is time-limited for security — use it promptly.

Session security

Your portal session is secured with industry-standard practices. Sessions expire after a period of inactivity, and all session cookies are transmitted over HTTPS only.

Login throttling

To protect against brute-force attacks, the system enforces login throttling: after 5 failed login attempts within a 15-minute window, further attempts are temporarily blocked. Wait for the cooldown period to pass before trying again.

CSRF protection

All forms in the portal are protected with CSRF (Cross-Site Request Forgery) tokens. This prevents malicious websites from submitting actions on your behalf.

Encrypted storage for Stripe credentials

Your Stripe API keys and webhook secrets are stored using encryption at rest. They are never displayed in full after initial entry and are only decrypted when needed to process a payment.

HMAC-signed invoice payment links

Payment links sent to clients are signed using HMAC (Hash-based Message Authentication Code). Each link includes a signature and an expiry timestamp. This ensures that links cannot be forged or tampered with, and that they become invalid after a set period.

Organization data isolation

All data in ResortStrata is strictly isolated by organization. Users in one organization can never see or access data belonging to another organization. This isolation is enforced at the application level across all queries and actions.

Tip: Use a unique, strong password for your ResortStrata account and do not share your login credentials with others. Use the team invitation system to grant access to colleagues instead.

Multi-Organization

Switching between organizations

If you belong to more than one organization — for example, if you manage properties for multiple companies — you can switch between them using the organization switcher in the portal sidebar. Clicking on a different organization changes your context immediately.

How organization context works

When you select an organization, all portal data — resorts, contacts, invoices, jobs, and everything else — is scoped to that organization. The sidebar, dashboard, and all list views reflect only the data belonging to your currently selected organization.

Data isolation between organizations

Each organization's data is completely separate. Contacts, resorts, invoices, team members, and settings from one organization are never visible when you are working in another. This ensures privacy and prevents cross-contamination of data between different business entities.

Tip: Check which organization you are viewing before creating records. The organization name is displayed in the sidebar so you always know your current context.