TOURWELL
Here is everything TourWell does.
Every screen, every role and every rule, including the ones we got wrong first and fixed. It is long on purpose: this is the whole product rather than the highlights, so read the bits you care about and skip the rest.
Today
Open the app, see today.
Not a calendar you have to interpret. The day reads top to bottom the way it actually happens: where you're sleeping, what time you're called, when doors open, when you play, and how long it takes to get between them.
Protea Hotel Bloemfontein → Drostdy Hotel · 280 min drive · Lobby 10:15 · Leave 10:30
1 min from Drostdy Hotel
A real day from the app. Drive times between hotels and venues are looked up live from Google, not guessed, including the leg from the hotel you're checking out of to the one you're checking into. The arrows open directions; a held date sits on the day it would fall on, saying what it is waiting for.
Directions, one tap, on the row that is current
Every place on the day carries one small arrow that opens directions straight to the pin, not the address as text, which is the one thing on a day sheet nobody can use while loading in. One arrow per place, not one per row: load-in, doors, the show and load-out at the same building share it, and it sits on whichever of them is next, moving down the day as they pass, so it is never buried above where the feed is looking. The hotel has its own, because the trip nobody plans for is the one back from the venue at 1am.
Your maps app, not ours
Apple Maps or Google Maps, chosen once in My Account and used everywhere after that. One button, not a choice offered again in a dark car park. Where a place came out of search it opens the exact pin rather than the nearest thing with a similar name.
A date you're only holding still shows up
Dates added while you're checking availability appear on the day they'd fall on, marked Pending with whatever you're waiting for. They stop being marked the moment the details are in. Knowing tomorrow is spoken for but not yet real is the whole reason to write it down.
Every event on the list, and a filter for the ones you never want to see
All Events shows every event whether it stands alone, belongs to a show or belongs to a tour. A drive is a drive wherever it was added. A tour keeps its header with its nights beneath; a show with parts gets the same shape. A filter beside Select dates hides whole types, and remembers.
Your dates lead; the rest sits underneath
If you play in an artist and also run it, most of what's on a given day isn't yours. So the day splits: what you're booked on first, then everything else you can see, quieter and under a line. Both halves are there, because hiding the second would leave an Admin unable to see the schedule they built. The half that matters at four o'clock on a show day is the one on top. Day sheets print the same way round.
Paper that looks like TourWell
Export any day as a printable sheet, a whole tour as a full itinerary, or the night's guest list for the door. Load-in, doors and set times all print, along with the contacts, because venues have no signal. Every sheet is the same paper (the mark, the rule, proper margins) and the guest list gives the door person a box to tick beside each name.
Everything the front desk tells you, on the row that needs it
Every day a different hotel is exactly how room numbers blur together. Each check-in and check-out carries your room and door code. Tap it at the desk, type the number on your key, and from then on the row simply says Room 214 · 4821. Your code is yours: the rooming list shows everyone by name and room, never their codes. Beside it, breakfast (on or off, and the hours) and the Wi-Fi, with the password and the instructions that go with it, entered once by whoever asked and seen by everyone on the booking. On a show day the venue gets the same row: whether it feeds you, and its Wi-Fi.
Set it once at the desk; everyone's phone buzzes with the fact
Flip breakfast on, enter the hours, and everyone booked gets one push that says the thing itself (Breakfast is included at the hotel, 06:30–10:00), not “the hotel changed”. The same for no breakfast, for a meal at the venue, and for the Wi-Fi. The person who typed it is the one person not told.
The next moment is lit, and the feed follows it
Whatever you are heading to right now is picked out in the accent, and it moves with the clock, not with the last time the screen happened to redraw. On a day long enough to scroll, the feed brings the next moment up under the header on its own as the day goes by, with the row you just finished still visible above it, so nobody scrolls around looking for where the day has got to.
The date and the hotel stay put, and the hotel folds
The day's identity (which day this is, and where you sleep) sits on one sheet of glass with the header, locked in place while the schedule scrolls beneath it and frosts through. The hotel opens with a pull that follows your finger and springs into place, folded rows dissolving into the full card as it goes. Folded, each hotel is one line: bed, IN or OUT, the time, then breakfast, Wi-Fi and your room. The feed underneath never moves.
Tonight doesn't end at midnight
A 03:00 lobby call belongs to tonight, whatever the calendar says. The foot of today shows tomorrow's small hours, anything before 06:00, under a quiet midnight seam, so the band asleep before an early flight reads the whole night in one place.
15:30 in St. Louis is not 15:30 where you're standing
Times stay wall-clock at the place they happen: a 20:00 Hamburg stage time is 20:00 on every phone, matching the contract and the wall. What the app adds is the missing half: whose wall. On a day that mixes timezones a foreign row keeps its number, gains “· STL time” and a quiet “22:30 for you”, and files in the order things actually happen rather than the order the numbers suggest. And a leave-by that crosses a border is worked out through real time and spoken on the clock you are looking at when you leave: 18:00 in Detroit minus four hours prints leave by 13:00, Chicago time.
On the home screen, the lock screen and the dashboard of the car
Widgets in every size, painted in TourWell's own colours. The small one shows what is next and two taps (Go and Hotel), each opening Apple Maps with directions in one hop; it is also the tile CarPlay puts on the dashboard. The medium one adds the hotel card: name, your room and door code, the Wi-Fi. The large one is the whole day as Your Day, hotel across the top. A drive counts down, Leave in 25 min, live. Once the day is done the tile turns to the hotel's Wi-Fi and then to tomorrow's first call. On the lock screen: a rectangular tile, a ring with the next time or the minutes to a drive, and a line above the clock. “Next” advances at the real moment even across timezones, and Siri can be asked what is next, where it is, and what your room is.
A show day lives in the Dynamic Island
On the day itself a Live Activity rides the lock screen and the island: what's next, when, and how much of the day is left, with the right glyph for the moment. A third line carries the route and how long it drives, or, heading to the hotel, your room, door code and the Wi-Fi, so the door opens without unlocking the phone and searching. It ends itself when the day does instead of lingering as a stale card.
One picture for every moment, everywhere it appears
A truck for load-in, an open door for doors, a bell for the call, the mixer's sliders for soundcheck, a mic for the stage, and it is the same picture on the feed, on every widget, in the island and on the lock screen, because they all draw from one vocabulary of Apple's own symbols. The paper gets the words instead, the same words.
Read & ask
It reads what the promoter sends, and answers what you ask.
Most of a tour arrives as somebody else's document, and most of the questions on a tour are asked of whoever has the phone. This is the part where TourWell does the typing and answers the questions, from the schedule, never from a guess.
Upload a document, get the dates
A promoter's itinerary, an airline confirmation, a hotel booking, a festival advance sheet, a screenshot of the WhatsApp. Drop it in and the dates come out with their venue and address, times, hotel with check-in, flight with airport call and confirmation, matched to dates you already have, so a new itinerary updates the show rather than adding a second one. Every fill is shown before it lands.
Ask about the run, in words
Who's on Saturday, how long is the drive, what still needs attention, what are we doing three months from now. The answer comes from every date on the schedule, however far out (venue, Wi-Fi, the promoter's number, who has answered) and names real people and real times, or says it doesn't know. Ask for a change and it shows the change first; you apply it, it doesn't.
Siri knows the schedule
Every date, venue, hotel, flight, drive and person on the run is indexed on the phone, so Siri finds them without you naming the app: what's on Saturday, the next show and its address, who's playing on the 19th, when you're in Hamburg. “Hey Siri, ask TourWell” takes the rest. With no signal, the call time, the venue, the hotel and today's rundown still answer from what the app last saved.
Works with Claude and ChatGPT
Make a link under My Account and paste it into Claude, ChatGPT or anything else that takes a connector. It looks the tour up as you (the whole schedule, exactly what you see and nothing you don't) and reasons with it alongside everything else it knows. It only reads; nothing can be changed from outside the app. Take the link back any time.
Artists
One app for all of them. One tap between them.
Hardly anyone works for one artist only. There's the main act, a covers gig, a function outfit and someone's studio project, and every one of those has its own calendar, its own WhatsApp group and its own idea of what you're doing in April. TourWell treats that as the normal case, not the edge case.
Switch from the top of any screen
Tap the artist badge and pick another. Calendar, events, home and availability all re-scope instantly. You stay exactly where you were, just in the other artist.
Combined view: everything at once
Once you're in more than one artist, a combined view appears. Every date from every artist in a single calendar, each one badged with the artist's short code and colour, so you can tell at a glance whose Thursday it is.
Add dates without leaving it
The + button works in the combined view too. You pick which artist the date belongs to as you create it, and can switch artist mid-form if you started on the wrong one.
Each artist keeps its own everything
Roles, currency, colour, fee visibility and roster are per artist. You can be the Admin who runs one artist and a sub who just gets told the call time in another, on the same login.
Where the clashes come from
The combined view is what makes double-booking visible, and TourWell tells your Admin you're busy without telling them who with. That's the next section.
Roster
Who's in, what they play, and what they'll need at the border.
Roles that match reality
Admin, Member, Sub and Viewer: set per artist, so the same person can run one artist and dep in another. Their instrument is separate from their permissions.
Invite by email
Send a link; they join with a password. Someone who already has an account just gets the new artist added to theirs.
Book who's actually free
When you pick the line-up for a date, anyone already committed elsewhere is marked as you tick them.
Everyone fills in their own
Each person keeps their own details up to date from their account, including which instrument they're down as in each artist. Nobody has to chase a bass player for a passport number twice.
The Artist Info page
Every artist has one page holding the things a tour manager ends up asking for at the worst possible moment, usually at an airport, usually at 6am. It's three plain tables, one row per person, showing every field whether or not it's filled in, so a gap is visible as a gap rather than hidden by being absent.
| Table | What's in it | What it's for |
|---|---|---|
| Personal Info | Name, email, phone, ID number | Reaching people, and filling in forms that want an ID |
| Passport & Visas | Passport number, issue and expiry dates, every visa with its own country and expiry | Booking international travel, and spotting an expiry before a promoter does |
| Clothing Sizes | Shoe, waist, shirt | Wardrobe, merch, and stage clothes ordered without a group chat |
Admins see the roster, you see yourself
The full tables are Admin-only. Everyone else sees their own details on their account page and nothing about anyone else: one member cannot read another member's passport number.
Fee templates live here too
Save the rates you use over and over (a standard club fee, a corporate rate, a festival deal) and apply one to a date in a single tap instead of re-typing five numbers.
Share a template with your other artist
Run more than one artist and you can copy a template straight across. Per-person amounts are deliberately left behind: they're tied to specific people in the original artist, and silently carrying one person's rate into another roster is exactly the kind of mistake money features shouldn't make.
The guest list, from the + menu
Every show with a door, in one place. An Admin sets how many each person may bring and a cap for the door; everyone adds their own names against their allowance and sees the count; the share icon makes the night's list as a PDF, one section per door, a box to tick beside each name.
Riders are next
Tech and hospitality riders are designed to live on this page alongside the tables. Not built yet. See the status section at the end.
Availability
It knows about your other artist.
This is the reason TourWell exists. Deps, session players and anyone in two projects live in permanent fear of double-booking. TourWell watches every artist you're in at once.
You find out while you're still ticking the box
Pick a date, start ticking the line-up, and anyone already spoken for that day is named in red underneath it, before you save, before you've told anyone they're booked. One line for however many people, each carrying its own reason, because four red lines for a four-piece is noise rather than information.
Where you could have opened the other date anyway (it's your own artist, or another one you're in) it says which date it is and whose. Where you couldn't, it says "another artist" and stops there. The warning tells you the day is taken without ever becoming a way to read a calendar you have no business reading.
The warning knows what you're creating
Booking the band's own hotel on their own drive day is not a clash. It's the plan, so same-artist logistics stay silent. A show being booked over their own dates warns. And anything at all being booked over another artist's claim warns, logistics included, because the band nine hours out of Cape Town is not available that evening no matter what type of event says so.
A yes to the tour covers the dates it grows
Answer the run once and the answer covers the run, including dates added to it next week, which is what “New dates are included automatically” on the card means. The card also says how far the yes reaches: All dates accepted, or All but 2, with any single date changeable on its own underneath.
Three answers, always in reach
Available, Tentative, Unavailable: on every card, every time, tour or single date. No mode to enter, no answered card folding its buttons away: plans move, and going back on an answer is one tap, not a hunt.
Who's on it, before what it is
The line-up sits at the top of every form, above the venue and the times, with the override switch beside it. You choose the people first because they're what the clash warning answers, and a warning that arrives after you've filled in the whole date arrives too late to change it.
Clashes surface themselves
If you're committed to another artist that day (a show, a flight, a drive, even a hotel night), the date is flagged red before anyone books you. A commitment that runs for days holds all of them: fly out Tuesday and back on Friday and the whole week is taken, not just its two ends.
It asks about the commitment, not the pieces
A show is rarely one entry. It's a drive, a hotel, a soundcheck and a set, and being asked four separate times whether you can do the same night is how people stop answering at all. TourWell keeps those entries together as one thing and asks once. Answer it and the whole night is answered.
Say yes, no, or maybe, and say why
Answer each date, and add a note the Admin sees in your own words: "Flight lands 09:40, I can make the call if it's after 14:00." The note retires when the clash does.
"I can do both"
Sometimes a clash isn't one. Accept everything on a date and the warning resolves itself, for everyone looking at it, including on the Admin's list, which stops asking about a date that has already answered itself.
One list of what needs chasing
Every date with somebody unavailable on it lands in a single Admin tab. Fixing one is an Admin's job, so the three ways to do it are under Admin.
And a separate list of who hasn't replied
Silence is not a refusal, so it stays off the chasing list, but it is the thing you actually chase. On a list of problems, "nobody has said no" and "everybody has said yes" look identical, and the difference between them is whether you have a band on Friday.
So the dates still waiting on someone get their own tab, each one naming who is yet to answer and who is already in. Two of five back is a different afternoon from four of five.
Block your own time
Holidays, weddings, day jobs. Block a range once and it applies across every artist you're in, with the option of telling them why.
Schedule
A tour is made of moments, not dates.
Most tools give you one blob per gig. TourWell breaks a day into the things that actually have times attached, each one its own entry, with its own start and duration.
Build a whole run in one sheet
Add as many events as a day or a week needs (flight, drive, hotel, soundcheck, show) before saving anything. Drag them into order, duplicate the ones that repeat, and set the line-up once for all of them or per date.
The same sheet decides whether they're a tour. Leave it on "No tour" and they're one-off dates, which is a complete answer rather than a lesser one. Pick an existing tour and they join it; or name a new tour right there and they start it. There's no "set the tour up first" step to forget, and nothing has to be decided before you begin typing.
Anything in a tour then earns a page of its own: the whole run in order, a PDF itinerary for the lot, and what it pays you.
Real places, real distances
Venues and hotels come from Google search, so map links and drive times are exact. Distances between venues and from your hotel are calculated for you, and so is the leg from where yesterday finished to where today starts, which is the one nobody budgets for.
Put a date on a show you already made
Shows are rarely finished in one sitting. The venue confirms, then a week later the flights land, then somebody books the hotel. So a show you already created is something you can add to: the sheet offers it alongside "new show", and a single date can join it from its own form.
The same picker is how you fix a mistake. A flight filed under the wrong show, or under no show at all, moves to the right one in two taps, and a date is never offered as a home for itself.
Open the flight, see the show it belongs to
Every entry knows what it's part of. Open the airport drive and the rest of that run is listed underneath it (the flight, the hotel, the soundcheck, the show), each one a tap away. You never have to go back out to the calendar to work out why you're at an airport on a Tuesday.
Calls that follow what they're a call for
A call time is chosen as a phrase (an hour before the first set, ninety minutes before the flight, meet somewhere at a time) rather than dialled in on a clock face. Move the thing it's a call for and the call moves with it, in the database and not just on the screen you happened to be looking at. Nearly every kind of entry can carry one, and each carries its own: the soundcheck's call is the soundcheck's, not the show's.
"We're already there"
Staying at the venue after the soundcheck is a real answer, and a different one from nobody having filled the call in. So it is one of the three a call can give (the venue, the hotel lobby, or already there) and the day sheet says so instead of leaving a blank that means two things.
Hold a date before you have details
Add a date with nothing but a label, "Just checking availability" or "Details requested from promoter", and fill it in when the promoter finally replies.
Contacts where you'll need them
Venue phone and email on every venue, promoter name, phone and email on every show. Tap to call or write, straight from the event.
The ten kinds of entry
Every one of them takes notes, a line-up and a confirmed-or-pending status, and every one blocks you across your other artists. Fees sit on all of them except accommodation and activities. They're all filled in in the same order (who's on it, where it is, who to ring when you get there, what time it happens, what it pays) so moving from a flight to a hotel never means hunting for where a field went. What differs is the handful of fields each type actually needs.
- Show
- The gig. More than one venue for festival days, load-in, doors, set times with their own durations, venue call, and a line check where there is one. Promoter contact sits on it too. The only type with its own name field (a festival isn't called after its venue) and the only one whose length is worked out from its own schedule instead of typed in.
- Soundcheck
- Always its own date, never a field on the show, its own room, its own time, and its own call. The same whether it's four hours before the set or the afternoon before: a check that carries a call has somewhere to put it, and a call for the soundcheck stops being confused with the call for the show. A line check is the exception and stays on the show, because you are already at the venue for it.
- Rehearsal
- Where, when, how long. Fees show open rather than behind a toggle, because rehearsals are usually paid on their own terms.
- Media
- Press, radio, a photo shoot, an in-store. A place, a start time and a duration, so it sits in the day next to everything else competing for those hours.
- Flight
- Airline and flight number, departure and arrival airports with their times, lobby call and airport call. An arrival date too, for the ones that land the next morning. A journey with a connection is one flight event with its legs in order (the feed shows each departure and arrival, and the card shows the change and how long you have to make it) because JNB→FRA→STL is one trip to the person taking it, not three rows to keep in sync.
- Drive
- Where from, where to, and how long it really takes: the drive time comes from Google, not a guess. Stops in between belong to the drive and print as “via” on the day. Then either a lobby call or a "meet at" place and time, whichever the day actually works on.
- Accommodation
- The hotel, with check-in and check-out times, the check-out date, whether breakfast is included, and the booking reference. It spans its nights on the calendar, ending the morning you leave.
- Rental Car
- Company, vehicle and booking reference, with a pick-up and a return that each have their own place and time. One switch makes it a one-way hire. A car kept for days puts a collect and a return in the calendar rather than a week-long block.
- Activity
- Anything else with a time on it: a meet and greet, a dinner, a press lunch, whatever the day has been sold into.
- Off Day
- Nothing scheduled, and that is the point: it still marks you as taken in every other artist you play in, so nobody books over the one day you were promised.
Lobby calls that reach pockets
Announce a lobby call and everyone booked gets a push with the time in it. The moment it's set, the app also hands you the exact message as text with a copy button, because half of every band lives on WhatsApp, and the call that only exists in an app is the call somebody misses.
The lobby screen plans ahead
Today and tomorrow sit on top, ready to announce. Below a seam, every upcoming date that could carry a call is listed and searchable, so next Thursday's early start can be set on Monday night. A leave-by is suggested from the real drive time, and suppressed when the day already has a planned drive event, because two answers to “when do we leave” is one too many.
Feeds
It shows up in the calendar you already use.
Nobody wants a second calendar app. Every feed is a subscription link that Apple, Google and Outlook Calendar refresh on their own. Change a set time in TourWell and it changes on the drummer's phone without anyone doing anything.
One artist, or all of them at once
Take a feed for a single artist and it carries only that artist's dates. Take the combined feed and every artist you're in lands in one calendar, each date badged with which artist it belongs to, the whole working life in a single view.
Shareable links for people outside the roster
An Admin can create named, artist-wide links for anyone who needs the schedule but shouldn't have an account: a booking agent, a publicist, a venue, a parent. Name each one for who it went to, hand over the link, done.
Revoke a link the moment you need to
Agent moves on, a link ends up somewhere it shouldn't. Delete it and it stops working immediately. Everyone else's feeds keep running. Make as many as you like; each is separate and separately revocable.
Outside links see less, by design
A shared link carries dates, venues, doors and set times, and nothing else. No fees, no per diems, no notes, no hotels, no flight or drive details. That isn't a setting someone can get wrong; the shared feed is built from a different, money-free query.
Working nights and management nights, on separate feeds
If you run an artist and play in it, every date it has lands in your calendar and they all look the same. So each feed comes in three forms: everything, only the dates you're on, and only the dates you're not. Subscribe to both halves, colour them differently, and mute the management one while you're away. The two halves add up to the whole exactly. Nothing is dropped and nothing appears twice.
Addresses your phone can actually navigate to
Where the venue was picked from Google, the entry carries real coordinates, so Apple Calendar shows a map, offers Directions and can fire a leave-now alert; Google Calendar reads the same location. A typed address still travels as text. A festival day with several stages uses the first venue, the one you're called to.
One entry a day, or one per event
Every event puts the soundcheck, the show and the hotel into your calendar on their own lines. One a day collapses the lot into a single all-day entry with the detail inside it, for people who want to see that they're working rather than the shape of it. Chosen once in My Account, and feeds you've already subscribed to change with it.
Your own feed shows exactly what you'd see in the app
A personal feed runs as you. A sub sees the dates they're booked on; an Admin sees everything. The same rules that govern the screen govern the calendar.
| Feed | Who it's for | Carries |
|---|---|---|
| Single artist | You, per artist | That artist's dates, at your own permission level |
| Combined | You, across every artist | All your dates, badged by artist |
| Dates I'm on | You, when you both play and manage | Only where you're in the line-up, per artist or across all of them |
| Dates I'm not on | The same person, second subscription | Everything else you can see, so it can be coloured or muted separately |
| Named share link | Agents, press, anyone without an account | Dates, venues, doors and set times only, revocable at any moment |
Finance
What the run made, and what everyone is still owed.
Two questions, and they belong to different people. What am I owed is everybody's, and TourWell answers it across every artist you play for, the one question nothing else you use can reach. What did that run make belongs to whoever carries the artist, and it needs the costs as much as the fees. Both start from the same rule: fees are the most sensitive thing an artist holds, so an Admin decides per role which figures each person sees, and the database enforces it rather than a screen hiding it.
| Figure | What it is |
|---|---|
| Artist fee | What the booker pays for the date |
| Per person | One shared rate, or a different number for each person; subs often sit on their own |
| Per diem | Daily cash, per person |
| Extras | Anything owed to one person on top: gear rental, driving the van, an extra set |
Save a rate once
Fee templates per artist, applied to a date in one tap, and shareable with another artist you run.
A fee that is the sum of its parts
Not every date is negotiated as one number. A function or a corporate booking is quoted by adding up what each player is paid, the per diems and the extras, so the artist fee can be told to be that total. Raise somebody's rate afterwards and the fee follows on its own, from whichever screen you changed it on. A fee template can carry the rule as well as the amounts, so the next date of that kind starts out knowing it.
Tours add themselves up
See what a run earns you across every date, with tentative and declined dates kept out of the total.
Two currencies, and no confusion about which is which
There are exactly two currency settings in TourWell, and they do different jobs. The artist currency is set once per artist by an Admin: every fee for that artist is entered, stored and paid in it. It's the truth. The home currency is set by you, on your own account, and it never changes a stored number. It's a reading lens laid over the figures that describe what you earn.
So a South African artist pays in rand whether or not the drummer lives in Berlin. The drummer just sees it in euros as well. Nothing is converted on the way into the database, which means nobody ever invoices against a number that quietly drifted.
| Situation | What you see |
|---|---|
| Same currency | R3 500, with no conversion shown at all |
| Different currency | ≈ €182 (R3 500), the original never leaves the screen |
| A tour across two countries | ≈ €1 640, from R12 000 + $450 |
| No rate available | R3 500, the original, with no ≈. Never a guessed number |
Rates arrive before you do
Eight currencies, synced once a day on the server rather than fetched by your phone. A currency service having a bad morning must never be the reason a call sheet is slow to open.
Every rate is kept, not overwritten
The full history is stored, so a fee earned in March can still be invoiced against March's rate. Today's number is just the most recent row, not a value that replaced the old one.
Changing an artist's currency relabels, never converts
If an Admin switches the artist currency, TourWell says plainly that existing amounts are relabelled and nothing is recalculated, so a wrong tap can't silently multiply the books by eighteen.
The books, for the two people who ask different questions
“What am I owed” and “what did that run make” are not the same question and never were, so Finance answers whichever one the Me / The Artist switch is set to, the same switch that scopes the rest of the app, rather than a pair of tabs this screen invented for itself. Me is for everybody: what you're owed across every artist you play for, which is the one answer nothing else in TourWell can give you. The Artist is Admins only, and by decision, not oversight. Being shown one date's fee is a smaller thing than being shown the business, and the database refuses the difference rather than the app hiding a screen.
| A date pays | What the books say before it settles |
|---|---|
| A guarantee | A firm number. Nothing to wait for |
| A door percentage | Not known yet, never zero, which would make the run look worse than it was |
| Guarantee versus door | A floor: at least R5 000, and possibly more |
| Guarantee plus a share | The same floor, above a break-even if one was agreed |
| Anything, once settled | What actually arrived. The terms stop mattering |
Three columns, because that's how a band actually settles
Fees, per diems and money someone laid out themselves are marked separately: per diems go over in cash on the night, the fee follows by transfer weeks later. The combined figure is there too, for one transfer covering the lot.
Nobody is owed for a show they haven't played
A tour on sale for October never sits in the total as money due. It's the figure someone would otherwise pay out.
Paying ahead is normal, and so is paying in parts
Per diems get handed out before the van leaves and deposits land months early. Anyone can be paid for a date that hasn't happened yet, and what's been paid ahead is counted separately from what's due, so settling early never looks like a mistake, and never quietly inflates this month. Pay opens with the full amount and takes less: half now, the rest after the settlement, each part on its own line, the balance always in view.
Settle up by the run, not by the month
Pick a tour and the whole page follows it: income, costs and what each person is owed. A run isn't a span of time: two tours overlap, and a one-off in the middle of a tour isn't part of it.
Costs land on what's already there
The fuel goes on the drive that already knows where it went; the hire fee on the van already booked. Anything still without a cost is offered, anything already carrying one drops off the list.
Costs live here and nowhere else
The flight and hotel forms stay logistics. A tank of diesel, a van, a hotel bill and a commission all get entered in one place rather than scattered across the screens they relate to.
Tickets sold, kept for later
Neither ticket count nor door gross changes a total. Over a few years they're the only honest answer to whether a venue is worth playing again.
Admin
What an Admin can do.
Admin is the role that builds the schedule, holds the money and decides who sees what. Whoever creates an artist is its first Admin; after that the role is handed out at invite time and can be changed later. Everything below is Admin-only, and it's Admin-only in the database, so it isn't a screen that could be reached by knowing where to look.
Building the schedule
Tours get their own page
Every date in the run in order, and a PDF itinerary for the whole thing, the document a tour manager hands out or prints at 6am. Building those dates is covered further up; what a run pays is under Money.
Hold a date you haven't confirmed
Mark a date as pending with your own label, so a hold looks like a hold to everyone rather than like a booking.
Cancel without deleting
A cancelled date stays visible and marked, because "there was a show here and it's off" is different information from "there was never a show here".
The line-up
Book people per date
Tick who's on it. Anyone already committed elsewhere is flagged as you tick. You find out while you're still choosing, not after you've told them.
A default line-up, and a way out of it
Set the usual line-up once so it fills itself in, then override it on any date where the usual line-up isn't who's playing. The override wins for that date only.
Put yourself in automatically
One toggle adds you to the line-up of every event you create, on if you're in the line-up, off if you only run it.
Who sees which money
This is the part Admins usually want to see before anything else. Five separate switches, set for each of three roles, every cell independent. Note that a person's own fee and everyone else's are two different switches. That's the whole point. You can tell someone what they're earning without telling them what the guitarist earns. Admins always see everything.
| Switch | What turning it on reveals to that role |
|---|---|
| Artist fee | The full fee the booker pays the artist |
| Individual member fees | What every other person on the date is paid |
| Their own fee | What this person is paid for the day |
| Per diem | The daily expense amount |
| Additional payments | Gear rental, van hire and the like |
The three roles it's set for are Member (the core line-up), Sub (fills in occasionally) and Viewer (read-only, never booked, so "their own fee" doesn't apply and the app greys it out rather than offering a switch that would mean nothing).
People
Invite with a role already attached
Send an email invite as Admin, Member, Sub or Viewer. The permission is set before they arrive, not fixed up afterwards. Change it later from the same list.
Hide someone without erasing them
When a player leaves, hide them from the roster: the rest of the roster stops seeing them, while they and the Admins keep full access to the history they were part of. Removing someone entirely is also there. Hiding is for when the past still needs to be true.
Set someone's part
Edit what a person is down as playing, independently of what they're allowed to do. A sub can be your musical director; an Admin can play nothing at all.
See who hasn't accepted
Invited and Active are marked separately, so an unanswered invite doesn't quietly look like a member.
The artist itself
Name, badge, colour, currency
A short code becomes the artist's badge everywhere, the thing you read in the combined view to know whose date it is. The colour goes with it. The currency governs every fee in the artist.
The list splits the same way
All Events splits twice, both with counts: Upcoming and Past, then the dates you're on and the dates you're not. Playing Admins spend most of their time on the first of each and drop into the others when someone asks who's covering Thursday, or when an invoice needs checking against last March. Anyone who only ever sees their own dates, a sub, gets no on/off strip, because there'd be nothing on the other side of it.
Everything that needs chasing, in one tab
An Admin-only Needs Attention tab, listing dates rather than people: a date with two players out is one problem to solve, not two. Each card names who can't do it and whatever they wrote about why. The tab goes red while anything is on it and the count rides on the dock icon, so you don't have to open it to know. One place, instead of scrolling a month looking for red.
Awaiting Response, next to it
The same list from the other side: dates the line-up has not finished answering, with the count on the tab. It never turns red. Nobody has refused, and a tab that shouts about a date created an hour ago is a tab you learn to ignore. Every booked person is on the card, so you can see at a glance whether you are waiting on one person or on everybody.
Replace, remove, or keep them on anyway
Three ways out, offered per person, because with two out you may well sub one and drop the other. Replace swaps in someone else from the roster without leaving the tab, and says out loud what they'll be paid: the seat's fee goes with the seat. Remove takes them off the date. Keep them on anyway is for when you've spoken to them and it's settled; it's remembered between sessions, and the card can be brought back if it turns out it wasn't.
The first two change the booking, which is the whole point. A button marked Sorted that only clears the flag leaves an unavailable player on a show and a tab that lies about it.
Share links for people outside the roster
Named, revocable calendar links for agents and press, covered in the feeds section above.
Who changed which date, and when
An Activity tab in Artist Settings: every change to the artist's dates, newest first, with the name against it. It leads with After your change: dates somebody else touched since you last edited them, which is the question an Admin actually has. Amounts are never recorded here; the log says the fee changed, and the fee itself stays where its permissions are.
The guardrails
An artist can't lose its last Admin
The database refuses it. Not a disabled button, an actual rule that holds no matter which screen the change came from, so nobody can lock an artist out of its own schedule.
Calling a date off, and putting it back
Dates fall over. A called-off date is not deleted. It stays on the calendar greyed out, with the reason you gave attached, because the question a week later is never “was there a show?” but “what happened to it?” The reason travels with the notification, so nobody has to ask in the group.
It also stops giving instructions the moment it is called off: no call time on the feed, no place in tomorrow's schedule, nothing telling somebody to be somewhere. What it keeps is the money it would have made, shown as what it would have totalled, a cancelled run and a run that never existed are different facts about your year. Reinstate it and everything comes back as it was.
A half-filled date survives you closing the sheet
Bookings arrive as half a fact: a venue and a month, a fee and no date. The form keeps what you have typed as a draft rather than making you either invent the missing parts or lose the rest, and it is waiting where you left it. Drafts hold fees, so they are only kept on a phone with the app lock on.
Clearing out a run of dates
Select several dates in All Events and delete them as one act, with a warning that names what's going. Either the whole selection goes or none of it does, and a selection spanning an artist you don't administer is refused outright rather than half-deleted.
Deleting an artist shows you the damage first
Before anything happens you see the count of what goes: how many dates, how many shows, how many people lose access, and whether those people still have other artists to land in. Then you type DELETE to confirm, and the server checks what you typed too, rather than trusting the app to have asked.
Admin-only means Admin-only
Every one of these actions is re-checked server-side against your real role. The interface hides what you can't do; the database is what stops you doing it.
Offline
The venue has no bars. The show still happens.
Load-in is a concrete room under a building. The tunnel is forty minutes long. The flight has no wifi. TourWell is for people whose working day happens in exactly the places a phone stops working, so it keeps going when the connection doesn't, and it is honest with you about what it is showing while it does.
Your schedule is already on the phone
Today, the calendar, a date's details, the whole run: whatever you've looked at is kept on the device and comes straight back with no connection. A saved copy always says so, and says how old it is, because a six-hour-old lobby call presented as today's is worse than no lobby call at all.
You can still answer, and still add dates
Say yes to the 14th, block a week for a wedding, change a fee, add a whole run of dates with a new tour. All of it works with no signal. Each change is written to the phone before the screen tells you it saved, so nothing is lost to a crash, a flat battery or walking out of range mid-tap.
It sends itself when you're back
Nothing to remember and nothing to press. The moment there's a connection your changes go out, and a quiet line says how many were sent. Open the app and it tries; keep it open in a moving van and it keeps trying on its own.
One light, top right, on every screen
A tick when everything you've done has reached TourWell. A cloud with a number when it hasn't. Tap it for exactly what's waiting, by name, and a button to try now. The question, did my change actually go?, gets asked ten minutes before doors, so the answer lives in the corner of every screen rather than three taps into a settings page.
And what changed while you weren't looking
The same light holds notifications, in plain words: Sam changed the call time and the fees. The opposite question to sync, and on tour the more dangerous one, because a call time that moved without you is a missed load-in.
One line per thing that happened, not per field
An edit that moves four things arrives as one line naming all four. Somebody working through a thirteen-date tour in one sitting arrives as 13 dates, 13–25 Aug, not thirteen identical sentences. A badge that cries wolf is a badge people stop reading, which makes it useless exactly when it isn't.
Read on the laptop, read on the phone
Where you've got to is kept for you, not for the device. Clear the list at a desk and it's clear in the van. Finding the same notifications waiting on the other screen is the small dishonesty that teaches people to ignore a badge.
If two people change the same date, nobody's work disappears
An edit made at 11pm in a venue might arrive at 9am the next morning, possibly after somebody else has already moved the same thing. Rather than the later arrival silently winning, TourWell stops and says so in plain words: someone else changed this date after you started editing; sending yours now would undo theirs. You choose. Nothing is thrown away while you decide.
A record of what you sent, and when it landed
Made 9:04pm, arrived 7:42am. It's the sentence that settles an argument about whether a change was ever sent, and it's kept per phone under My Account › Activity.
The screen never pretends to be current
If you've changed a date and it hasn't gone yet, the date says so before it shows you a number. A run added with no signal is listed as being on this phone only. TourWell would rather tell you what it doesn't know than show you something tidy and wrong.
Pull to ask again
Every list refreshes itself when you open it, and pulling down asks again, for the hour you've had the day sheet open in a van while somebody says the call moved. The spinner waits for the answer rather than the copy already on the phone, so when it stops you are looking at the newest one. If it can't reach anything, what's on screen stays put.
A whole run lands complete, or not at all
Thirteen dates entered on a flight go out as one thing. There's no state where four of them made it and nine didn't, and no way for a retry to leave you with the same shows entered twice.
Editing opens on what the phone last knew
Open a date to fix the venue address on a plane and the form fills in from the last copy this phone saw, says so, and queues your change, instead of a spinner that never resolves. The same goes for the availability tab: the whole list, answers and all, opens with no signal.
The next week warms itself
A few seconds after today is on screen, the coming days and their details are quietly fetched and kept, so the day you drive into a tunnel with is not the only one the phone knows.
A hang is treated as an answer
One bar of signal that goes nowhere is worse than none. A request that hasn't answered in fifteen seconds is treated as failed, which is what lets every screen fall back to its saved copy instead of spinning on hope.
Security
A phone on a dressing-room table, and a database that says no.
Two different problems. One is the device: a tour phone gets left on merch desks and in vans, and it is carrying everybody's fees. The other is the server: what a person is allowed to see should never depend on a screen remembering to hide it. TourWell answers them separately, and the second answer is the one that matters when something goes wrong.
On the phone
Face ID, a fingerprint, or your phone's passcode
A tour phone gets left on dressing-room tables, in vans, on merch desks. The lock is what makes it safe for the schedule to live on the device at all.
Whatever your phone already uses
Face ID or Touch ID on an iPhone, face or fingerprint unlock on Android, and the phone's own passcode or pattern where there's no biometric hardware. No second PIN to invent and forget. It's the unlock you already do a hundred times a day.
Money only sits on a phone that locks
Fees, per diems and day sheets are kept on the device only while the lock is on. Turn it off and every saved figure is wiped from the phone immediately. TourWell still works, it just fetches money fresh each time. The bargain is stated where you make it, not buried in a policy.
It asks again after a minute away
Checking a map and coming straight back doesn't make you unlock again. Leaving the phone on a table does.
Losing access takes the fees with it
If your role changes, or you're removed from an artist, the saved figures your old permissions covered are cleared from the device the next time it connects. Access that ends actually ends.
On the server
Every rule about who sees what is enforced at the data layer. A sub can't read another artist's schedule even if they know the address, and a member can't read fee figures they haven't been granted, not because a screen hides them, but because the query returns nothing.
The database refuses, not the interface
Row-level security sits on every table holding artist data, and a single function decides what you are to an artist: Admin, member, or nothing at all. Take someone off an artist and the schedule, the fees and the line-up stop existing for them on their next request. No screen can forget the check, because the check isn't on a screen.
Your fee is yours
Fee visibility is set per role, per artist, and applied before any number leaves the server. Someone who may see their own fee but not the artist's gross is sent their own fee and nothing else, the gross isn't delivered and then hidden, it is never sent.
Shared links carry a token, not a login
A calendar feed handed to a promoter is a long random address that shows less than the app does and can be revoked the moment you want it back. Tokens are stored hashed, so a copy of the database is not a set of working links.
Passport numbers live apart
What a tour manager needs for a border is kept separately from the profile everyone on the roster can see, and reaches the people who actually need it rather than anyone in the artist.
Nothing travels in the open
Every request is encrypted in transit and the schedule sits in a managed Postgres database with automatic backups. Keys for the mapping services live on the server, the app never carries one where it could be lifted out of a phone.
A history that can't be rewritten
Who changed which date, and when, is recorded by the database itself. The app can read that record and has no way to edit it. History the app can change isn't history.
A second log the app cannot even read
Reads of travel documents and every change of role or visibility land in a security log written by the database itself, append-only, update and delete are revoked for every role the API can hold, service keys included. A break-in that owns the whole API still cannot tidy up after itself.
Keys that rotate without breaking the past
Travel documents are encrypted at rest, and each ciphertext names the key version that wrote it, so keys rotate on a schedule and old rows still open, instead of a rotation being a migration nobody dares run.
Deleting for real, with thirty days to change your mind
Gone immediately, recoverable for a month
Delete an artist and it disappears at once, for you and for everyone on it, dates and all. Underneath it is held for thirty days, and an Admin from before the deletion can bring the whole thing back in one action, every date, fee and line-up intact.
Then it is actually deleted
After thirty days the rows are removed from the database and age out of the backups on their own cycle. Not archived, not flagged as hidden. The warning tells you which of the two you're doing before you type DELETE to confirm.
Deleting your account leaves the artists standing
Your account goes; the dates you played don't vanish from everyone else's schedule. What was yours alone (your blocked dates, your notes) goes with you.
A single date is a smaller loss
Dates are deleted outright rather than held, because one is quickly re-entered and a thirty-day limbo for it would mean every screen learning about invisible events. The confirmation says exactly that, instead of implying a safety net that isn't there.
Look
Ten themes, none of which break the reading, and one that runs on a clock.
A tour app is opened at 6am in a van and at 1am in a dressing room, by people with opinions. So the palette is a choice, ten of them, each with a light and a dark version, picked in your own account and remembered on your own phone. And for the 1am one, a red night mode that switches itself on at the hour you name.
Forest is the default. Each card is that theme drawing itself: light on the left, dark on the right, both shown whichever mode you are reading this page in, because in the app they are two separate choices.
Touring costs you sleep before it costs you anything else, and the last thing most people do before lights-out is check what time the bus leaves. Long-wavelength red is the light that suppresses melatonin least, so between the hours you set, TourWell drops to a true black canvas lit only in red, over whatever theme and light-or-dark you had on, and handing both back in the morning.
It is a schedule, not a theme: set it once and forget it. It runs on the phone's own clock, so it keeps meaning the same thing in a different time zone every night.
23:00 → 06:00
Every one of them is readable
All twenty-one variants (ten themes in light and dark, plus Sleep Protector) are checked against WCAG AA: body text, primary text, and the label on a coloured button. So are the nine backgrounds, in both modes, because a ground with a colour in it is the surface the type actually sits on: every stop has to carry body text at 4.5:1 and secondary text at 3:1 before it ships. Several accents and greys were darkened to pass, and did. You're choosing on taste, not trading legibility for a look.
Red still means red
Danger, warning and success don't change with the theme. An error is red and an unanswered date is amber in all ten, because those colours carry meaning rather than mood, letting them drift with decoration would make the one thing you mustn't misread the thing that changes most.
Your artist's colour survives the theme
Each artist keeps its own colour so you can tell artists apart in the combined view, whatever theme is on. The text sitting on that colour adapts to it: a lime-green artist gets dark type, a navy one gets white, worked out from the colour itself rather than assumed. And where an artist's colour would vanish against the background, a near-black artist on a near-black theme, it's lifted just enough to read, keeping its hue.
A background behind the glass
Nine grounds sit under the whole app: Mono, which is grey and nothing else, Sand, which is the default, and green, blue, red, pink, purple, yellow and orange. Each is a gradient that travels across neighbouring hues rather than shading one colour, so the light falls across the screen instead of sitting on it, and the glass panels, the dock and the sheets all have something to refract, which is what makes them read as glass rather than as grey.
Light versions are deliberately near-white and dark ones are the hue mixed into black rather than a deep colour, because this is the surface everything else is read on. Each stop is solved to a brightness rather than a mix, so blue and green land equally light. Green carries 71% of luminance and blue 7%, and an equal mix would leave one of them visibly darker than the other. Blur and dim are yours to set on top.
Night mode is a time, not a taste
Sleep Protector sits outside the ten because you don't pick it in the morning. You set the window it should own. Between those hours it overrides your theme and your light-or-dark both, then gives them back. Everything it draws is red on true black, including the card sheen behind panels, which is white in every other theme and would have put grey light back on the screen.
Light and dark are a separate choice
Every theme ships both, so switching one never resets the other. Follow the phone's own setting or pin it. Kept on the device, because how an app looks belongs to the screen you're holding, not to an account that would redecorate every device you own.
Built
One codebase, every screen you'll open it on.
A phone in a van, a laptop in an office, a tablet on a desk at soundcheck, the same app, changing shape rather than being scaled up. The rules about who sees what sit underneath all of them, in the database, where Security covers them.
One app, every screen
iPhone, Android, tablet and desktop browser from a single codebase. The layout changes shape rather than being scaled up.
Light and dark, both properly
Every piece of text in both themes is measured against accessibility contrast standards, not eyeballed.
Status
Honest status.
This is where we are at.
The iPhone app, on TestFlight and carrying a real tour through Germany right now. The same app runs in the browser on any device at app.tourwellapp.com, backed by the same hosted database. Android is the same codebase, headed to its store later.
Everything above: offline, the app lock, lobby-call pushes, widgets and Live Activities, timezone-honest days, the security log. Signing in with Google or Apple. Subscriptions on the App Store and on the web.
Day sheets and lobby calls over WhatsApp, live flight tracking on the day, and forwarding an itinerary email to have the dates drafted for you. Tech and hospitality riders stored per artist.
Getting paid through TourWell rather than only tracked by it, an invoice a promoter can act on, and a payment rail behind it. The books know what is owed and to whom; they still can't move any of it.
Syncing in the background while the app is closed. iOS decides when that runs (often hours later, never at all if the app has been swiped away), so it would raise the best case without moving the worst one. TourWell records how long each change waited; that's the evidence to revisit it with.