Skip to content

What you need

A browser. Everything else depends on what you are doing.

There is nothing to install to use dotpano. There is something to install if you want your tours read off a platform dashboard rather than typed in.

To use dotpano

A current browser and an email address. The app runs at app.dotpano.com. You can sign up with an email and password, or with Google. No card is asked for to start, and the Free plan never asks for one.

To import tours

Google Chrome, or a browser built on it such as Edge or Brave, plus the dotpano extension and a paid plan. Importing is the one thing Free does not do. A Safari build exists and is not yet something you can install from here.

To publish a page

Nothing beyond an account. A public page is on every plan including Free, and so is everything on it — your address, your pictures, your contact details and the tours you choose. It is not a trial feature that expires.

To take payment

Your own arrangement with your client. dotpano prepares the renewal email and hands it to your mail app; it never bills your clients and never touches their money. What it tracks is what is due and when.

What only you know

Three fields no platform can fill in.

A platform knows a tour exists, what it is called and whether it is live. It does not know who is paying for it, how much, or until when — those are your agreement, not its record. Importing brings across everything else so that these are all you have to type.

The term end

The date the hosting arrangement runs out. This is the single field the whole renewal half is built on. If you do not know one, put in the date you believe and correct it later: a date a fortnight early costs you one reminder, and no date at all costs you the tour.

The client

Who to invoice. A client is a name, and an email if you want the renewal message prepared. A tour with no client on it is counted as hosting you are carrying with nobody covering it, which is the point of that figure.

The money

What the tour charges a year, and what it costs you a month to host. Both are optional and both are what turn the queues from a list of dates into a figure. A charge is refused without a term end, because nothing can be renewed without one.

An import fills blanks and never overwrites these. Re-reading a dashboard refreshes the name, the address and the link, because the platform owns those. The client, the charge and the hosting cost are never touched, and a term end you typed is kept — an import can fill an empty one, not replace yours.

The extension

It reads your dashboard on your machine.

No provider will let an outside server ask for your tours on your behalf, so dotpano does not ask. The extension reads the page you are already signed in to, when you press the button, and sends what it found to your workspace.

1. Pair it once

Open Connections in dotpano and generate an eight-character code. Type it into the extension. It is spent once, and it works from a different machine than the one you are signed in on.

2. Open your dashboard

Sign in to your provider as you normally would and open the list of your tours. Chrome files a new extension behind the puzzle-piece button in the toolbar, so pin dotpano's if you want it where you can see it.

3. Press import

Reading and importing are one press — there is no basket in between. The popup reports what it added, what it updated, and anything it could not read, so a quiet page and a broken one do not look the same.

What comes across

The tour's name, its address, the link to it, the platform's own identifier, the day hosting started, when it runs out if the dashboard says, and whether the platform reports it live.

Importing twice is safe

Tours are matched on the platform's own identifier, so running it again updates what you have rather than duplicating it. Pairing gives the extension a token that can add tours and nothing else — it cannot sign in as you, open your billing or delete anything.

It never sees your password

It reads a page you already have open. It holds no session of the provider's and never asks for one. It is not sitting on your dashboard watching: nothing of dotpano's runs there until you click the button, on the tab you are looking at.

If it reads nothing

A dashboard can change its layout at any time, and when it does the reader says so rather than importing something wrong. It will not guess: a tour it cannot find a stable identifier for is skipped instead of being given an invented one.

Realsee is the one it is proven against. Its reader was written against a real dashboard and takes every tour with a link and a date on each. Matterport runs on the generic reader and has had less exposure to a live account — it may work first time and it may report that it could not read the page, which is the report we want either way. Both platforms restrict automated access in their terms; reading your own account in your own browser is a different thing from scraping somebody else's, but it is not nothing. Install it from the Chrome Web Store.

Your public page

One link, and nothing commercial on it.

Your page lives at dotpano.com/your-address. It is rendered on the server with no JavaScript, so it opens and reads the same everywhere, and it works on every plan including Free.

What goes on it

A cover image and a profile picture, a headline and a description, the cities you work in — up to eight, as a list rather than a line — whatever contact details you want shown, links to LinkedIn, Instagram, Facebook and X, and the tours you pick. Each tour shows its name, its address, its platform and your own link to it. Any badge you have been granted sits under your name, and any review you have published sits below the work.

What never goes on it

What a tour earns, what it costs you, and which client pays for it. None of that is rendered and none of it is in the response at all. A client's logo is the one picture that is never public, on any plan, published or not — it is a picture of somebody else's business and they never agreed to appear anywhere.

How many tours

Twenty-four on a paid plan, ten on Free — because ten is the whole Free allowance and quoting a bigger number to somebody who cannot reach it is a promise nothing keeps. The app shows you the number that applies to you rather than a general one.

Until you publish it

An unpublished page is not a blank page — it is a 404, and so are its images. You can build the whole thing, look at it, and leave it switched off. Switching it off again later does the same.

Reviews from your clients

You invite a client by email and they rate four things — quality, schedule, cost, and whether they would refer you — and write how it went. Nothing is public until you publish it, and the page says so in those words: your clients write them and you publish them. That is also why it prints each review's own scores and never an average across them — an average over a set you chose measures the choosing rather than the work.

The two badges

Verified, the blue one, says a registered business is behind the page: you send the registration document, somebody here reads it, and it is on every plan. Vetted pro, the gold one, says a person here has screened the studio, and it rests on the blue — it cannot be applied for without Verified, and losing Verified takes the gold with it. Neither grants itself, and a refusal always says why.

Photographs are stripped of where they were taken. An uploaded image is checked by its own bytes rather than its file name, reduced to the picture, and written without the Exif that carries GPS coordinates. So a cover shot on a phone does not publish the address of the property it was taken at.

Renewals and alerts

Three queues, and each answers one question.

What is due

Agreements coming up for renewal, with what each is worth and when it closes. Filter to the next 7, 30 or 90 days. This is the one you open the app to work through, and you can export it as a CSV.

What went dark

Tours the platform has stopped reporting as live, kept apart from the ones you took down deliberately. Acknowledging one clears the alert in dotpano and changes nothing at the platform — it is your note to yourself, not an action on their system.

What nobody is paying for

Live tours with no active client agreement covering them, totalled by month and by year. This is the figure that usually surprises people, and it is the reason the hosting cost field is worth filling in.

Sending a renewal

From the tour itself. dotpano prepares the message with the amount, the date and your payment details already in it, then opens your own mail app or Gmail with it ready to send. It never sends mail on your behalf, so what lands in your client's inbox came from your address and sits in your sent folder.

The wording is yours to change, in Settings, written with tokens such as {client}, {tour}, {amount} and {date}. The payment details are generated rather than typed — an account number pasted into prose is one that goes stale quietly — and a template that leaves them out still gets them, because a renewal with no way to pay is the one mistake this could cause.

What you get told about

Scheduled checks raise alerts for renewals coming up, tours that went dark and hosting nobody is covering. You can switch each of the three off, and the choice belongs to the workspace rather than the device you made it on — turning one off on your phone turns it off everywhere.

Messages about the account itself — a trial ending, a payment failing, a password reset — have no switch, deliberately. A portfolio preference must not be able to silence the message that says your account is about to change.

An agreement is not proof an invoice was paid. dotpano knows a tour is covered by an agreement that has not run out. It does not know whether the money arrived, because nothing here is connected to your bank. Treat "covered" as "there is an arrangement", not as "settled".

Account, plans and billing

The practical answers.

Signing in

An email and password, or Google. If you signed up with Google and then ask to reset a password, you are told which provider your account uses rather than being sent a link that cannot exist. One person using both providers reaches one workspace.

Currency

Pick any of the 160 ISO currencies in Settings and every figure in your portfolio follows it, including exports and the fields you type into. No conversion is applied — it changes the symbol, not the number. Plan prices stay in US dollars.

Paying

Through Stripe, which is the merchant of record and where your invoices and receipts live. When the iPhone app reaches the store, paying there will go through Apple instead, because Apple requires it for anything that turns on a feature inside an app. You end up on the same plan either way.

Going over the limit

An import takes what fits and tells you how many it left, rather than refusing the lot — those tours were read perfectly well. Move up a plan and import again and it takes the rest; nothing duplicates, because tours are matched on the platform's own identifier.

Ending the trial

The workspace becomes Free. Not locked, not suspended, and nothing is deleted. Your page keeps working exactly as it did. What goes is the renewal half: term ends, dark tours and uncovered hosting.

Leaving

Cancel from your billing page and you drop to Free at the end of the period you have paid for. Delete the account from Settings and the workspace goes with it, uploaded pictures included — the files are removed from disk, not only the rows that pointed at them.

Questions

Asked often enough to write down.

Do I have to use the extension?

No. Tours can be typed in on either the web or the phone, with a name, a link, an address, a client, what it charges and when the term ends. That is the only way to add a tour from a platform dotpano has no reader for, and it is how the Free plan works.

Which platforms can it read?

Realsee, which the reader was written against a real dashboard for, and Matterport, which runs on the generic reader and has had less exposure to a live account. A tour from any other platform — CloudPano, Kuula, anything — is a first-class row you type in; it just cannot be read automatically.

Can dotpano connect to my Matterport account directly?

Not today. Matterport keeps the documented route behind a commercial-partner invitation, and Realsee publishes no customer flow at all. That is exactly why the extension exists: it reads the dashboard you already have open instead of asking a provider for permission they will not grant.

Will importing overwrite what I have typed?

No. The client, the charge and the hosting cost are never touched by an import, and a term end you entered is kept — an import can fill an empty one but cannot replace yours. The name, the address and the link are refreshed, because the platform owns those.

Does dotpano email my clients?

Once, and only when you ask it to. A review invitation goes from dotpano to the address you give, about work you did for that client — one message, with no reminder behind it and no list they are added to. Renewals work the other way round: dotpano prepares the message and opens your own mail app or Gmail, so it leaves from you and your client replies to you. Everything else it sends goes to you, about your own workspace — a renewal coming up, a tour that went dark, a trial ending, a password reset.

What happens if I delete a client?

The client goes and their tours stay, untied rather than deleted. The charge and the term end are kept too, so naming a client again restores the agreement instead of making you retype it. Until one is named those tours read as uncovered hosting, and the confirmation tells you how many will move before you press it.

How do I get a badge?

From the page editor, and a person decides — nothing here is granted automatically. Verified asks for your registration details and a document behind them, a PDF or a photograph of the certificate, and it is on every plan including Free, because being a real business is not something a plan buys. Vetted pro asks for more: Verified first, then the top plan — Agency today — ninety days on dotpano, ten live tours, a published page showing six of them, and three published reviews averaging four out of five. Past all of that, somebody here opens five of your tours and walks them, which is the part the badge is actually about. A refusal always carries a reason, so you can tell being turned down from being forgotten.

Is my public page indexed by search engines?

A published page is a public web page and can be found like any other. An unpublished one is a 404 rather than a hidden page, so there is nothing to find. The app itself is closed to crawlers entirely.

Can I change my page address later?

Yes, from the page editor, and the old one stops working at that point — so change it before you hand the link around rather than after. Addresses the site itself uses are reserved and will be refused, which is why the checker tells you before you commit.

Is there an app for my phone?

The iPhone app is on the App Store, carrying the same portfolio, queues, page editor and settings. Download it from the App Store. The Android one is built and is not on Google Play yet; until it is, the web app works in a phone browser there. Paying on iPhone goes through Apple rather than the card on file, and a subscription bought on the web stays managed on the web.

Can more than one person use a workspace?

Not yet. Every plan is one person today, which is why there is no seat count in the pricing — a row saying otherwise would be selling something that does not exist. Pricing is on how many tours you track, and that is not a stopgap.

Where is my data held?

On dotpano's own server, not a third party's. Uploaded pictures are stored outside any web root and served only where the page they belong to is published. Client email addresses and your own payment details stay in your session rather than being kept on the server for later.

Something here is wrong or missing.

Write to hello@dotpano.com. It is answered by the person who built the thing, which means the answer is usually specific and occasionally is "you are right, that is a bug".

Still stuck?

Write to hello@dotpano.com and say what you were trying to do. There is no ticket queue and no first-line script.

Email us