Features

Everything a DVC broker needs to run the whole business.

MVPConnect replaces the contract spreadsheet, the separate CRM, the invoice folder and the four inboxes. Contracts carry their home resort, points per use year, banked and borrowed points, itemized fees and every rental reservation — and they sit next to the clients, deals, tasks and invoices that go with them. Email, SMS, calls, Messenger and Instagram thread into one inbox. Your public site, your own domain and your own QuickBooks and merchant accounts stay yours.

// Contract types

Three ways a contract earns. One record for each.

A contract you bought to flip, a contract you bought to rent, and a contract you're selling for someone else are three different businesses wearing the same paperwork. Each category gets the fields and the math it actually needs — and a contract can move between them when the plan changes.

For Sale

A contract you own and intend to resell. Carries cost per point, purchase price, purchase-phase fees and the sale price when it closes, so cost basis and profit are computed rather than remembered.

Own it · resell it · keep the spread

For Rent

A contract you own and rent out by the use year. Reservations log the points drawn and the rental income; when you're done renting it, transfer it to For Sale and it carries the rental net across with it.

Own it · rent the points · sell it later

Listing

Someone else's contract you're brokering. Track the target cost per point, the list and minimum sell prices, any loan balance to pay off, and your commission percentage — with the projected commission at both prices.

Broker it · earn the commission · net to owner

// Contracts & points

The contract, the resort and the points — in the right shape.

A DVC contract isn't a line item. It has a home resort with a deed that expires, a use year that decides when its points land, and a rolling window of banked, current and borrowed points that a spreadsheet will get wrong eventually. The contract record holds all of it.

Home resort, with the deed term

Pick from a built-in catalog of DVC resorts across Walt Disney World, Disneyland, Hawaii, Vero Beach and Hilton Head. Each carries its deed-expiration year, because a 2042 contract and a 2070 contract are not the same asset.

  • 18 resorts in the catalog, with full name, short label, location and deed-expiration year
  • Resorts are stored as a stable short code, so adding one never needs a schema change
  • Contract number and status (Available, Rented, Pending, Sold, Inactive) on every record
  • Public notes and internal notes kept separate on the contract

Use year — all eight, and only eight

Disney issues exactly eight use-year months: February, March, April, June, August, September, October and December. The field offers those eight and nothing else, so nobody files a contract under a use year that can't exist.

  • Use-year month picked from the eight real values — January, May, July and November are never offered
  • The use year is the 12-month window that starts on the 1st of that month
  • Points per use year stored on the contract as the baseline allotment
  • Use-year labels render consistently across the contract list, detail page and reports

Banked, borrowed and used points

One bucket per use year, each holding the points available, how many were banked in, how many were borrowed forward and how many have been used. Up to three use years can be live on a contract at once — current, one banked, one borrowed.

  • Per-use-year buckets with points, banked, borrowed and points-used tracked separately
  • Banking deadline stored on the bucket — Disney's rule is the end of the eighth month of the use year
  • Persisted rather than recomputed, so a "banking deadline approaching" view can query it directly
  • Three live use years per contract: current, one banked forward, one borrowed back

Your book, filtered how you work

The contracts list filters by category and status, shows resort, points, use year and price at a glance, and supports multi-select for bulk actions. Financial columns are hidden from team members who aren't cleared to see them.

  • Filter tabs for All / For Sale / For Rent / Listings, plus status filtering
  • Bulk-select rows to delete several contracts at once
  • Money columns respect the per-user financial-visibility permission
  • Deleted contracts land in the recycle bin rather than disappearing

// Rentals & reservations

Every reservation, against the contract that paid for it.

Renting points is its own ledger: who's staying, where, on which dates, out of which use year, for how much. Reservations attach to the contract so the rental income and the points drawn are never separated from the asset that produced them.

Reservation records

Log the booked resort (which can differ from the contract's home resort), the confirmation number, the guest's name, check-in and check-out dates, the total points used and the rental income collected.

  • Booked resort tracked separately from home resort — you rent where the reservation lands
  • Confirmation number, guest name and check-in / check-out dates on each reservation
  • Total points and rental income per reservation, with free-text notes
  • Point usage tied back to the specific use-year bucket it came out of

Rent it, then sell it

A For Rent contract can be transferred to For Sale when you're done renting it. The rental net earned so far carries across, so the eventual total return reflects both legs of the deal instead of just the resale.

  • One action moves a contract from For Rent to For Sale
  • Rental net is snapshotted onto the contract at transfer
  • Total return = rental net + sale profit, computed for you
  • Contract status moves through Available → Rented → Pending → Sold

// Economics & fees

What you actually made, after the fees nobody remembers.

Closing, escrow, member admin, credit-card processing, commission — each one lands on a different leg of the deal, and quietly eats the margin you thought you had. Fees are itemized by phase and category on the contract, and the return is computed from them.

Itemized fees by phase

Every fee is filed under the phase it belongs to — purchase, rental or sale — and a category: closing, escrow, commission, member admin, credit card or other. Add as many lines as the deal actually had.

  • Three phases: purchase, rental, sale
  • Six categories: closing, escrow, commission, member admin, credit card, other
  • Each fee carries its own label and amount, so the detail survives
  • Purchase fees roll into cost basis; rental and sale fees net off their own leg

The math, computed

Cost basis, rental gross and net, sale gross and net, total return and return percentage — all derived from the contract's own numbers, not typed into a summary cell that goes stale.

  • Cost basis = purchase price + purchase fees (purchase price falls back to cost per point × points)
  • Rental net = rental income across reservations, minus rental-phase fees
  • Sale net = sale price − sale fees − cost basis
  • Total return = rental net + sale net, with return % against cost basis

Brokered listings

For a contract you're selling on someone else's behalf, the numbers that matter are your commission and what's left for the owner. Both are computed at the actual sale price, and projected at the list and minimum prices before it sells.

  • Per-contract commission percentage, defaulting to 5%
  • Projected commission at both the list price and your minimum sell price
  • Net to owner = sale price − your commission − loan payoff
  • Loan balance owed carried on the listing so the payoff isn't a surprise at closing

// Clients & CRM

One client list for buyers, renters and sellers.

Everyone you deal with lives in the same place: the family renting 150 points in August, the member selling their Beach Club contract, the buyer who's been circling for three months. Their whole history is on one page.

Client profiles

Name, email, phone, company, address, type, tags and a notes timeline. Custom fields you define yourself for whatever your desk tracks that we didn't think of.

  • Custom customer fields configured per store — add the fields your process needs
  • Tags for segmentation, used later by audience segments and broadcasts
  • Notes timeline with author attribution and timestamps
  • Duplicate detection with a merge tool, and a flagged-clients view for records needing attention

The 360 timeline

Sales, invoices, messages, calls, tasks, appointments, deal-stage changes, email-broadcast engagement, notes and field changes — one merged, newest-first timeline per client, filterable by category.

  • Every touch in one stream: sales, invoices, messages, calls, tasks, appointments, deals, marketing, changes
  • Same timeline is available over the API for your own reporting
  • Two-way QuickBooks Online customer sync keeps your books and your CRM in step
  • Trade references recorded per client for the checks brokers actually run

// Pipelines & deals

Kanban boards for the deals in flight.

Track every live deal — a buyer shopping a resort and use year, a member deciding whether to list, a rental waiting on a confirmation — on a board with stages you control. Build a pipeline per flow rather than bending one generic board around every process.

Custom pipelines, custom stages

Build a pipeline for any flow — buyer inquiries, seller listings, rental requests. Rename stages, reorder columns, add or remove them as your process changes. Every store has its own boards.

  • Per-user, store-shared and staff-visible pipelines side by side on one page
  • Settings → Pipelines lets store admins rename, reorder, add and delete stages without code
  • An all-pipelines board groups every board's columns by stage name for one cross-cutting view
  • Closed deals (won / lost) drop off the active board but stay attached to the client

Deals — every one in one place

Each card is a deal tied to a client: title, value, stage, owner, expected close, next-step task. Move cards as the deal progresses; the client profile shows their full deal history.

  • Quick-add a deal inline — pick or create a client, title it, set a value
  • Custom opportunity fields per store, alongside the built-in ones
  • Detail page surfaces tasks, notes, contact channels and a stage-transition log
  • Stage changes fire workflows and outbound webhooks

// Tasks

Scheduled follow-ups, never miss a callback.

Every deal can have tasks attached — call back, email, meeting, in person. All tasks across all pipelines roll up to one Today view so nothing slips. Overdue items pin to the top so late callbacks can't hide.

Task types + due dates

Call back, email, meeting, in person, or generic. Set a due date on creation or leave it open. Assign to yourself or a colleague. Notes capture context so whoever picks it up next isn't blind.

  • Inline task creator on every deal detail page
  • Title, due date, type and assignee in one row, expanding to a description when you need it
  • One-click complete from the Today view
  • Re-open completed tasks if a deal comes back to life

Today view + date filters

The tasks page is the heads-up display for your day. Today, tomorrow, this week, all upcoming, a specific day, or a custom range. A just-mine toggle filters to your own work; pipeline pills narrow further.

  • Overdue bucket pinned to the top whenever the filter includes today
  • No-due-date bucket visible on "All upcoming" so someday-tasks don't get lost
  • Pipeline pills filter to one board's tasks without losing the date filter
  • Show-completed disclosure for a quick look at what you've already cleared

Role-aware visibility

Employees see their own tasks. Store admins see everyone's across the store. Managers with more than one store get the view across each one they manage. Same data model, role-appropriate slices.

  • Same role rules as the rest of the platform
  • Tasks inherit their deal's store — no cross-store leaks
  • Assignment dropdown only offers users who can see the parent pipeline
  • Clients never see staff tasks, even on deals tied to them

// Workflows

Automation that does the follow-up for you.

Welcome a new client, confirm a booking, chase an unanswered inbound message, thank someone after a sale closes. Build the workflow once against a real platform event and it runs on the right client at the right moment, forever.

Triggers that map to real events

Workflows fire on things that actually happen in the app: a sale recorded, an inbound message arriving on any channel, a new client created, an appointment booked, a deal moving stage, an invoice going paid.

  • Six live triggers: sale completed, inbound message, client created, appointment booked, deal stage changed, invoice paid
  • Multi-step workflows with waits between steps
  • Send email, SMS, or both — the channel is chosen per step
  • Stop controls and per-run history so a misfiring automation is one click from off

Built in the dashboard, or by Ultron

Compose a workflow in the builder, or describe what you want to the assistant and let it draft the automation for you to review, enable or leave switched off.

  • Workflow builder with per-step editing and previewing
  • Ultron can list your automations, build a new one, and enable or disable an existing one
  • Message templates saved per store and reused across steps
  • Every automated send respects your unsubscribe list

// Appointments

Public booking page + dashboard calendar.

A public booking page where clients self-schedule a call or a consult. The booking shows up on your calendar, the client gets a confirmation, and the appointment attaches to their record like everything else.

Public booking + dashboard view

Clients pick an appointment type, a date and a time slot from your real availability. Booked appointments appear on your appointments calendar, where you can reschedule, cancel or add internal notes.

  • Public booking page per store, plus a per-user booking link
  • Appointment types configured per store
  • Reschedule re-checks availability, so two people can't land on the same slot
  • A booking fires the appointment-booked workflow trigger and webhook

Zoom meeting links

Connect Zoom and video appointments get a real meeting link generated at booking time and included in the confirmation, instead of a link someone has to remember to paste in.

  • Zoom connected per store from the integrations page
  • Meeting link generated when the appointment is created
  • Appointments show on the client's 360 timeline and over the API
  • Reminder email to the client ahead of the appointment

// Unified inbox

Every client conversation, threaded in one place.

SMS and voice through Twilio, Telnyx, Quo or Zoom — bring whichever provider you already pay. Email through your real Gmail or Outlook mailbox over OAuth. Facebook Messenger and Instagram DMs through your Meta connection. All of it threads against the client.

SMS & voice

Four SMS providers, all landing in the same inbox. Twilio for the most complete voice and 10DLC setup, Telnyx for volume economics, Quo if your team already runs on it, Zoom if you'd rather use a private Zoom app.

  • Twilio: SMS plus voice, with call recording and IVR menus on the same number
  • Telnyx: SMS and voice with per-store messaging profiles
  • Quo: bring your existing number — paste an API key and send
  • Inbound matches an existing client by phone number regardless of which carrier delivered it

Email · Gmail & Outlook

Connect your real Google Workspace or Microsoft 365 mailbox over OAuth. Client threads flow into the unified inbox, replies you send land in your actual Sent folder, and outbound platform mail goes out separately so it can't rate-limit your personal inbox.

  • Gmail OAuth with push sync — no app passwords, no SMTP credentials
  • Outlook / Microsoft 365 over Microsoft Graph, with the same auto-attach-to-client threading
  • Per-user mailboxes as well as a shared store mailbox
  • Personal-mailbox mail is never exposed over the public API — only shared messages are

Messenger & Instagram

One Meta Business connection covers both Facebook Messenger and Instagram DMs. Pick the page, and inbound messages thread into the same inbox as SMS and email.

  • Facebook Messenger via Meta Business OAuth, with a page picker
  • Instagram DMs over the same connection — one OAuth, both channels
  • Inbound on any channel can trigger a workflow
  • Internal team chat is separate, so staff chatter never mixes with client threads

// Broadcasts & segments

Send to the right list, and know whether it landed.

Build an audience from your own client data, compose in a block editor, schedule or recur the send, and read the delivery numbers afterwards. Unsubscribes and suppression are handled for you rather than left as your problem.

Broadcasts

One-off or recurring email sends to a segment or your whole list. Drafts, scheduling, and per-recipient send records so you can see exactly who got what.

  • Draft → scheduled → sending → completed, with failures surfaced rather than swallowed
  • Recurring broadcasts for anything you send on a cadence
  • Link-click tracking with attribution back to the client
  • Every send checks the unsubscribe list first

Templates & segments

A drag-and-drop email template builder, and audience segments defined against your own client fields and tags — with a live preview of who a segment currently catches before you commit to it.

  • Block-based email template builder, templates saved and reused
  • Segments built from client attributes and tags, previewed before sending
  • Ultron can draft a broadcast, create a segment or write a template for you to review
  • Per-store unsubscribe list with a public unsubscribe page

Deliverability

A deliverability report covering the last 90 days: bounce rate, complaint rate, open rate and which sending identity you're on. Verify your own domain and your mail goes out as you, not as a shared sender.

  • 90-day bounce, complaint and open rates in one report
  • Managed sending domain with DKIM verification, or the platform sender as a fallback
  • Suppression list so a hard bounce isn't retried into a reputation problem
  • Open and click tracking toggled per domain

// Invoicing, payments & books

Invoice, get paid, and keep the books straight.

Generate an invoice, send it by email or text, take a card through your own merchant account, and push the result to QuickBooks Online. Money settles to your bank — the platform never holds it.

Invoices

Free-form line items, tax handling, deposits and multiple payments per invoice. Branded PDF with your details, and a hosted pay page you can send straight to the client.

  • Create from a sale or stand-alone, with a per-invoice payment-method picker
  • Multiple payments per invoice — record a deposit now and the balance later
  • Send by email with the PDF attached, or by SMS as a link to the hosted invoice
  • Per-invoice tax rate and an optional credit-card fee percentage

Card payments

Accept cards through your own Authorize.Net merchant account with a hosted payment form, or through Clover. Funds settle directly to your bank.

  • Hosted payment form — card details never touch our servers
  • Webhook plus a manual-sync fallback, so a missed callback never strands an invoice
  • Refund flow that falls back to a void when the transaction hasn't settled
  • Clover supported as a second gateway, with its own webhook

Receivables, payables & QuickBooks

See what's owed to you and what you owe in one place, and sync customers, sales and invoices to QuickBooks Online so your accountant isn't re-keying anything.

  • Receivables from open invoices and tracked sales with a balance due
  • Payables from vendor bills, readable and writable over the API
  • QuickBooks Online OAuth with automatic token refresh and account mapping
  • Payment reconciliation back from QuickBooks, and a clean disconnect path

// Website builder

A drag-and-drop site builder, built into the platform.

Your public site doesn't need to be a separate bill and a separate login. Build it here with a block editor and a theme, run a journal, upload your images to a media library, and point your own domain at it.

Block editor with palette, canvas, inspector

Drag blocks onto the canvas, click one to edit it in the inspector, preview the live render in your active theme. Hero, prose, image-and-text, gallery, carousel, columns, stats row, testimonials, pull quote, CTA band, signup band, contact form, journal grid, dividers, spacers and custom HTML.

  • Reorder, duplicate and delete blocks, with keyboard support
  • Live preview renders in your real theme rather than a generic mockup
  • Save any block as a reusable snippet
  • Contact-form block wires submissions into the CRM

Themes and page templates

Pick a theme, and its starter blocks drop onto the canvas for you to edit. Per-store colour and font overrides let you keep a theme's structure and swap in your own palette.

  • Theme browser with full-page previews before you commit
  • Per-store brand colour and font overrides
  • Favicon and site-icon handling per store
  • Multi-page site: add any page you need, at any slug

Custom domain, with the DNS spelled out

Type your domain and the wizard works out your registrar, then shows the exact record type, name, value and TTL with copy buttons, plus step-by-step instructions for that registrar's admin. SSL provisions automatically.

  • Registrar detection with tailored, step-by-step DNS instructions
  • Exact record values pre-computed for your domain — no placeholder strings to interpret
  • Apex and www both registered, so either spelling resolves
  • A status check polls until DNS verifies and flips the live badge

Journal, navigation, media & analytics

More than a homepage. Add pages, edit your top nav, run an editorial journal, keep every uploaded image in a per-store media library, and read your site's traffic natively in the dashboard.

  • Journal entries with a cover image and markdown body
  • Nav editor — drag to reorder, link to internal pages or external URLs
  • Media library so images are uploaded once and reused across blocks
  • Per-store site analytics: page views, sources and block-level engagement

Code mode for the granular bits

Toggle any selected block to code mode and edit its raw JSON. Locked on the fields that identify the block; everything else is editable, with instant validation.

  • Plain monospace editor with JSON validation — no heavyweight editor bundle
  • Apply commits to the canvas; saving the draft persists separately
  • Custom attributes the form inspector doesn't surface are still reachable here
  • Revert restores the last applied state in one click

Forms that become clients

A contact-form submission looks up the client by email within your store, updates them if they exist and creates them if they don't — then opens a follow-up task so somebody actually replies.

  • Email-based dedupe, so a repeat enquiry doesn't make a second record
  • Optional tag applied to submissions for later segmentation
  • A follow-up task is created automatically (or the note is appended if you'd rather it wasn't)
  • Email-capture popup available on the site as a separate opt-in

// Ultron, the assistant

An assistant that runs the query instead of guessing.

Ultron sits in the dashboard and answers from two sources: the help center, and your own store's records. It works through named tools — a real search, a real lookup — so an answer about your numbers came from your numbers.

Reads the manual

Full-text search across the in-app help center, and it can open any article in full. "How do I set the banking deadline" gets the documented answer, not an improvisation.

  • Searches every help article's body, not just titles
  • Opens a specific article when the answer needs the whole thing
  • The help center is the same one you can browse yourself at /help
  • Answers cite the article, so you can go read it yourself

Reads your books

Summarize sales over a period, look up a client, pull open invoices, check the deals in flight, total what you owe on payables, or check your site's traffic — always scoped to your own store.

  • Sales summaries, client lookup, invoice search, deal search and payables totals
  • Site-traffic questions answered from your own analytics
  • Can produce a spreadsheet or PDF from what it found
  • Everything is store-scoped — it can't see another broker's data

Makes changes, on request

Ask it to update a client, add a note, tag someone, merge two duplicate records or open a deal, and it does exactly that named action — not a silent sweep of edits you didn't ask for.

  • Client writes: update, note, tag, merge, delete
  • Deal writes: create and update an opportunity
  • Invoice notes and trade references readable and writable
  • Automations: list them, build one, or switch one on or off

Drafts the outreach

Describe the audience and the message, and it builds the segment, shows you who it catches, then drafts the broadcast and the email template. You review and you send.

  • Creates and previews an audience segment before anything is sent
  • Drafts a broadcast against that segment
  • Creates and updates email templates
  • Nothing goes out without you sending it

// In-app support

A ticket queue, not an email somebody forgets.

Raise a question from inside the app and it persists as a real ticket. Both sides see the thread, attachments render inline, and status tracks itself based on who replied last.

Threaded tickets

A conversation per ticket with attachments inline, status badges, and email notification in both directions. Internal staff notes are filtered out server-side, so they can't leak into the requester's view.

  • File a ticket from inside the dashboard, with an auto-confirmation on submit
  • Replies notify the other side by email
  • Status flips based on who replied last, so nobody has to triage it by hand
  • A sidebar badge counts tickets waiting on you

Help centre & what's new

A searchable, categorized help centre inside the app, plus a release-notes page so you can see what changed and when without reading a changelog you had to go find.

  • Full-text search across every help article
  • Articles grouped into categories, and linked from release notes
  • A training manual view for onboarding new staff
  • The same articles Ultron reads when you ask it a question

// Reports & API

Reports you can export, and an API you can build on.

Sales, payments, sales tax, receivables, payables, fees and margin — as dashboard reports and as JSON over the API. Store-scoped keys let you plug your own tooling in without exporting a spreadsheet by hand every month.

Reports

A DVC report covering listing commissions by status, fees by category, and a per-contract table of cost basis, rental net, sale and total return. Plus the general sales, payments, sales-tax, marketing and deliverability reports.

  • Listing commissions broken out by available, pending and earned
  • Fees rolled up by category so you can see where the margin went
  • Per-contract cost basis, rental net, sale and return in one table
  • Date-range filtering across the reporting suite

Per-store API keys

A REST API at /api/v1 with bearer-token auth and per-key scopes. Generate keys from your settings page, and read the machine-readable OpenAPI spec straight from the app.

  • Clients, deals, tasks, appointments, invoices, vendor bills, sales and reports
  • Scoped keys — a read-only key can't write, and no key can reach another store
  • OpenAPI 3.0 spec served live for Postman, Swagger or a code generator
  • Rate limited per IP and per key, with a Retry-After header when you hit it

Outbound webhooks

Point an HTTPS endpoint at your store and we POST a signed JSON event when something happens. Subscribe to the events you care about; deliveries are retried and visible in the dashboard.

  • Eight events: client created and updated, sale created, invoice created and paid, message received, appointment booked, deal stage changed
  • HMAC-signed with a timestamp so you can verify and reject replays
  • Failed deliveries retried with backoff, and re-sendable by hand
  • Delivery history visible under Settings → Webhooks

// Stores, roles & safety nets

Multi-tenant, with the guard rails on.

Run more than one brokerage under one account — separate contracts, clients, sites and reports, shared logins. Roles decide who sees what, and deletes are reversible.

Multiple stores

Each store has its own contracts, clients, website, integrations and reports. Switch between them from the topbar; the data stays cleanly partitioned.

  • Per-store branding, currency and contact details
  • Reads are scoped to the active store, not to a user's home store
  • One store's data is invisible to another even when staff accounts are shared
  • Store switcher with search, for accounts running several

Roles, permissions & MFA

Role-based access from full admin down to a client-only portal, plus granular per-user toggles for the sensitive parts. Multi-factor authentication is available on accounts.

  • Roles cover owners, store admins, employees and clients
  • A separate financial-visibility permission hides cost and profit columns from staff who shouldn't see them
  • Per-user toggles for who can manage contracts and who can record sales
  • Multi-factor authentication, and a team page to manage who has what

Recycle bin & change history

Deletes are soft. A deleted contract goes to the recycle bin — with its point buckets, fees and reservations — and stays recoverable for 30 days, so a mis-click is a restore rather than an incident.

  • Recently-deleted view with restore, recoverable for 30 days
  • A contract's child records go and come back with it
  • Client field changes appear on the client's activity timeline
  • Notifications, and subscription billing, managed in-app

// Integrations

Native integrations for the rest of your stack.

QuickBooks Online, Authorize.Net, Clover, Twilio, Telnyx, Quo, Zoom, Gmail, Outlook, Facebook Messenger and Instagram — connected directly, on your own accounts.

One platform for the whole brokerage.

Set your store up free in under a minute. No credit card required.