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.