Calisto Desk

Answer every customer question in one place, in every channel.

A service desk that works with all of your operational data inside Calisto Pro. It opens on what needs a reply now, so nobody has to decide where to start. See the same queue as a list, a board or a calendar.

Breaching first, then unassigned, then the queue · The customer’s whole history sits beside the reply · Response targets measured against your own business hours

Desk · DESK-1042 · Pool heater down, room 204
ConversationActivity
M. Santosportal10:15
The pool heater has been down since yesterday and the guests in 204 are asking about it.
T. Chenreply sent10:24
First responsemet · 9m
Resolutionat risk · in 41m
Customer context
BookingRoom 204 · to 14 Aug
Last orderRoom service · 2d
MembershipGold
AccessPool gate · 08:40
Identityverified

Every business has customers who need help. Questions, complaints, broken things, refund requests. Without a system those requests scatter across phone calls, messages, emails and conversations at a counter, and nobody knows who asked, when, or whether anyone replied. A service desk is the system that catches every request, gives it to somebody, tracks whether it was handled in the time you promised, and measures how well your team did. It is how a business gets from “I think someone is looking into it” to “resolved in four hours, and the customer rated it five out of five”.

The Briefing

Desk opens on what needs a reply right now.

The home screen is not a metrics wall. It is three de-duplicated buckets over the live ticket feed, in priority order.

Active tickets already breached or at risk, capped at twelve. This bucket has first claim on a ticket.

One bucket per ticket

De-duplicated in priority order: a breaching unassigned ticket appears once, at the top, rather than twice in two lists. Every row opens the ticket.

It arrives on its own

A ticket that crosses its due time appears here on the next refresh. Nothing to sweep and nothing to run.

Desk · What needs a reply right now
3
Breaching SLA
7
Unassigned
41
Open
18
Resolved today
Priority 1 · Breaching
Refund not received2h overdue
Locked out of apartment26m overdue
Priority 2 · Unassigned
Damaged table on deliveryclaim
Priority 3 · Open queue
Change my booking datein 4h
Three Lenses, One Queue

List, board, calendar. Same tickets, same filters.

Tickets, my tickets and unassigned open the same workspace with a different preset. One top bar owns the search, the facets and the sort.

List

The default, for working down the queue. Each row carries an SLA dot, the subject, the requester and type, priority and status, when resolution is due and who owns it.

Desk · Tickets · List
Search
Search subject, requester or id
Status
Open
SLA
At risk or breached
My Open TicketsUnassigned UrgentSLA Breaching
Refund not received#1042 · M. Santos · ComplaintUrgent2h overdueT. Chen
Locked out of apartment#1041 · J. Okafor · IncidentHighin 26mA. Bello
Change my booking date#1039 · L. Duarte · RequestMediumin 4hT. Chen
How do I add a second card#1038 · P. Nkemdirim · QuestionLowUnassigned
Sorting defaults to SLA urgency
Five pre-built saved views plus your own, each narrowing the fetch as well as the filter bar

Board

Four columns for moving work along: open, in progress, waiting and resolved. Drag a card to another column and the status changes immediately, then reconciles against the server.

Desk · Tickets · Board
Open12
Refund not received
Complaint
Wifi down in 3B
Incident
In progress9
Locked out
Incident
Late checkout
Request
Waiting4
Awaiting photo
Claim
Resolved18
Broken lamp
Maintenance
Drag a card to change its statussaved
A failed write returns the card to where it was
Retire a ticket type and the tickets carrying it stay selectable in the facet

Calendar

A month grid placing each ticket on the day its resolution is due, with up to three chips a day and an overflow line.

Desk · Tickets · Calendar
August 2026Resolution due dates
Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
2
3
4#1038
5
6
7
8
9#1041#1042
10
11
12
13#1044
14
15
16
17
18#1047#1048#1049
19
20
21
22
23#1051
24
25
26
27
28
Weekday names and the first day of the week follow the reader locale
The composer opens from any lens with the chosen type’s own custom fields

One dataset, one filter set. Status, priority, type and SLA face the whole queue, and a filter set in the list survives a switch to the board or the calendar.

The Case Workspace

Everything about the case on one screen.

Every ticket opens into a tabbed workspace: conversation, activity, and a claim tab when the ticket is a claim. Each SLA chip colours from its own clock rather than a stored summary, so a visibly overdue response reads as breached even when the other clock is fine.

Conversation, Activity, and a Claim tab that appears only on a claim.

The conversation carries the customer exchange; activity lists the recorded events. Internal notes sit in their own tinted card and are never mixed into the thread.

The shared thread every Calisto communication tool writes into: somebody who telephones, then emails, then raises a portal ticket has one conversation, not four.

Date grouped, channel badged, locale aware, and it updates while you are reading it.

One composer with a toggle. Private note mode is visibly tinted and labelled as team-only.

A reply that fails to send says so and keeps your draft exactly as typed rather than clearing it.

Suggest article offers matches for this ticket, and the knowledge search finds one by name as you type.

Either inserts a public article link on a new line, appended to what you have already written and never replacing it.

A sidebar panel assembling the requester contact, active bookings, recent orders, membership, access record and verification level, with empty sections omitted.

None of it is synced into Desk or waiting on an integration. It is the same database the rest of your operation writes to, so it is already there when the ticket opens.

Status, priority and type each change from the sidebar, with assign-to-me on an unassigned ticket.

A delete names the ticket and its subject before it will run.

Desk · DESK-1044 · Damaged table on delivery
ConversationClaimActivity
StatusIn progress
First responsemet · 22m
Resolutionbreached · 1h overdue
The claim tab appears because this ticket is typed as a claim
Activity14 recorded events
SLA Policies

Configurable per priority. Clock respects business hours.

Each priority carries its own first-response and resolution targets and its own escalation percentage, all set by you. Three states show on every ticket: on track, at risk, breached.

First response

The clock starts when the ticket does.

Maximum time from ticket creation to first agent reply, set per priority. The countdown shows on the ticket, and reads as met once the reply lands.

Desk · SLA targets per priority
Priority
First response
Resolution
Escalate at
Urgent15 min1 hour75%
High1 hour4 hours75%
Medium4 hours24 hours80%
Low8 hours72 hours80%
On trackAt riskBreached
Resolution

Its own clock. Its own colour.

Maximum time from creation to resolved, set per priority. Its chip colours from its own clock, so a breached resolution reads as breached while first response is comfortably met.

Business hours

It pauses when you close.

Round-the-clock, or a weekly window with per-day start and end times, and the clock pauses outside them. These are the one shared business hours, so your SLA clock, your booking availability and your auto-replies read the same schedule rather than a Desk-only copy.

Recomputed on read

Never a stale SLA.

SLA state is recalculated on every read rather than stored, so a ticket crossing its due time is visibly overdue on the next poll. At risk means past three quarters of the window.

Requests and the Service Dashboard

Intake first. Convert what needs a case.

Not every inbound message is a ticket. Requests are a cross-vertical intake queue in their own right: search them, move them across a three-column board, then convert one into a ticket or resolve it where it stands. Every ticket records the channel it came in on, whether that was email, chat, phone, the portal, the counter, social or SMS.

The Service Dashboard

Seven measures over five charts and an agent leaderboard. Compliance counts every concluded resolution clock, including tickets still open but already past due, so an active breach pulls the number down the moment it happens rather than at resolution.

Desk · Service dashboard
41
Open
7
Unassigned
18
Resolved today
94%
SLA compliance
22m
Avg 1st response
3h 40m
Avg resolution
4.6
CSAT
Open tickets by priority
Urgent
High
Medium
Low
Agent leaderboard
T. Chen14 resolved · 18m avg

The Intake Queue

Requests counted as total, pending, in progress and completed, in a list or on a three-column board. Search title, requester or category; filter by status or priority.

Desk · Requests
34
Total
9
Pending
6
In progress
19
Completed
Air conditioning noisy in 3BPendingCreate ticket
Request a late checkoutIn progressResolve here
Spare keycard for a guestConverted · #1044
Report a broken lampCompleted

Convert To A Ticket

One action opens the new ticket. Once converted, that action becomes a link to the ticket it became, so the trail survives.

Or Resolve It Here

Not everything needs to become a ticket. A request can be resolved in place from the same row, and reads as completed after.

Member Self Service

Somebody raises a maintenance or support request with photos through Navigator and tracks it themselves, seeing only their own tickets and needing no agent seat.

Articles & Categories

Write once. Publish. Send it from a reply.

Articles written in Markdown with a category, tags and three statuses. Publishing one gives it a real public page that opens with no session at all, and that is the link an agent inserts from the reply composer.

Title and a Markdown body in the main column, with publishing status, category and tags in the sidebar.

Categories with an optional parent, children shown indented under them.

Add one at the top level or under a parent from the manager card beneath the article list.

Every published article has an account-addressed public URL that opens signed out, in a private window, or from another account.

A draft, archived or unknown article returns a genuine not-found, so a dead help link can never be indexed as a live article.

A slug and meta description for search, and a checkbox list linking related articles.

Reverse-chronological version snapshots. Reverting loads a snapshot into the editor and waits for you to save it.

A view count and a helpfulness percentage on every article, visible in the list, so you can see which answer is doing the work.

A copyable embed snippet that puts the same articles on an outside site, serving published ones only.

Desk · Article editor
Title
How refunds are processed
## When a refund is issued
A refund is raised from the ticket it belongs to. Under your threshold it applies at once.
## How long it takes
Card refunds settle in three to five working days.
Status
Published
Category
Billing / Refunds
Tags
refund, payments
Save article
Claims and CSAT

Damage claims with photos. Satisfaction on resolution.

A claim is a ticket typed as a claim, so it keeps the whole workspace, the same thread, SLA and history, and gains four fields of its own. When any ticket resolves, the satisfaction survey fires.

The item, the damage description, a cost estimate and a liability assignment, held as columns on the ticket rather than as loose attachments.

Its own workspace

The same list and board lenses as tickets, with open claims, estimated exposure and resolved counted above them.

Search finds the damage

Subject, item, requester and damage description are all searched, so a term that appears only in what went wrong still finds the claim.

Amounts in your currency

Exposure and every claim amount format in the currency the active business unit carries. Never a hardcoded symbol and never an assumed default.

Refund or comp from the claim

Requested with the amount already filled in. Under the account threshold it applies at once; above it, it waits for a manager.

Desk · Claims
6
Open claims
161,000
Estimated exposure
11
Resolved
Damaged table on deliveryUrgent57,900
Stained carpet, room 118Shared liability22,100
Cracked screen on hire tabletGuest liable81,300
Totals format in the currency the active business unit carries
Approvals

Small amounts apply. Large ones wait for a signature.

When an agent requests a refund, a comp or an escalation from a ticket, the account's auto-approve amounts decide what happens next. Under the line it applies immediately and records itself through Payments and Ledger. Over it, it waits in the approvals queue for a manager.

Refund

Money back against a transaction. Carries an amount and an optional transaction reference.

Comp

A goodwill credit. Carries an amount and an optional transaction reference.

Escalation

A request for a manager decision with no money attached, so no amount is asked for.

What decides which
Desk · Approvals
4
Pending
7
Approved today
1
Rejected today
Refund57,900 · damaged tableApproveReject
Comp7,800 · late checkout#1039
EscalationManager decision · no amount#1051
A request with no resolvable currency is refused rather than applied
Under The Threshold, Applied

Each account sets a refund amount and a comp amount that apply without sign-off. A request under that line is issued on the spot and recorded.

Over It, Held

Anything above the line goes to the approvals queue. Set a threshold to zero and every request of that type is held, and the tab says so.

Approve Or Reject

Each pending item shows its type, subject, requester, amount and a link to its ticket. Approving executes the refund and records it; rejecting closes the request without action.

No Currency, No Refund

A refund with no resolvable currency is refused outright rather than applied against an assumed one. Never a hardcoded symbol and never a default.

Configuration

Five tabs. Business hours that belong to the whole account.

Above the tabs sit the shared business identity, support contact and operating currency, edited once here and read by every Calisto app. Then the active unit, with its customer terminology and service catalog editable in place.

SLA Policies

3 features
Desk · Settings · SLA Policies
SLA PoliciesTicket TypesCannedCSATApprovals
Urgent · first response
15 minutes
Urgent · resolution
1 hour
Operating hours
Monday to Friday08:00 to 18:00
Saturday09:00 to 13:00
Shared with every Calisto appone schedule

Targets per priority

A first-response target, a resolution target and an escalation percentage for each of the four priorities.

Operating hours

Edited here, writing the one shared business schedule rather than a Desk-only copy.

Locked upstream

A schedule locked above you renders read-only with the source named, rather than saving into nothing.

Ticket Types

3 features
Desk · Settings · Ticket Types
SLA PoliciesTicket TypesCannedCSATApprovals
Questiondefault Lowauto-link Contact
Incidentdefault Highauto-link Asset
Claimdefault Urgentauto-link Order
Custom fields on Claim
Item · text · required+ 3 more

Name, icon, colour

Plus a default priority and a default group, so a new ticket of that type starts where it belongs.

Auto-link

A type can attach itself to a reservation, order, member, contact or asset on creation.

Custom fields

Text, number, dropdown, date, file, contact or asset, each optionally required.

Canned Responses

3 features
Desk · Settings · Canned Responses
SLA PoliciesTicket TypesCannedCSATApprovals
Refund acknowledgedshared
Asking for a photopersonal
Hello {{requester}}, your case {{ticket}} is with {{agent}}.
On insert · set status In progress, assign to me, add tag refund

Personal or shared

Reusable replies grouped by category, kept to yourself or given to the team.

Variable substitution

The requester name, the ticket reference and the agent name fill in as the reply is inserted.

Macros

A response can set a status, set a priority, assign the ticket to you and add tags as it goes in.

CSAT

3 features
Desk · Settings · CSAT
SLA PoliciesTicket TypesCannedCSATApprovals
Send the survey
One hour after resolution
Prompt
How did we do?
Reason codes
Fast responseProblem solvedAgent was helpfulTook too long
Excluded typesFeedback

When it sends

Immediately on resolution, after an hour, after a day, or after a delay you set.

What it asks

Your own prompt, and the reason codes a customer can pick from.

What it skips

Ticket types can be excluded, drawn from the types you have actually configured.

Approvals Policy

2 features
Desk · Settings · Approvals
SLA PoliciesTicket TypesCannedCSATApprovals
Refunds apply without sign-off up to
16,300
Comps apply without sign-off up to
3,250
11,700 refundapplied and recorded
57,900 refundheld for a manager
Set a threshold to zero and every request of that type is held

Two thresholds

The refund amount and the comp amount that apply without sign-off.

Zero holds everything

Set either to zero and every request of that type waits for a manager, and the tab says so.

Who sees what

Every list narrows to the unit you are in.

Tickets, claims, approvals, articles and every count scope to the business unit you have selected, so a total never disagrees with the list beneath it. Data rules can filter by location and redact individual fields.

Pricing

No setup cost. Pay when you start using.

Helpdesk for customer-facing teams.

Calisto Ops

Full helpdesk.

€75/user/mo

Recommended for you

Works well together.

Calisto Today

Calisto Ops

Compiles all Ops apps into one view.

Learn more
1%of revenue processed
Calisto Orderflow

Calisto Ops

Real-time insight into how orders are being fulfilled.

Learn more
€60/user/mo
Calisto Bookings

Included with Commerce or Ops

Reservations, inventory, contacts, tickets, and scheduling

Learn more
0Additional Cost
Calisto Payments

Calisto Commerce

Catalog, pricing, payments, proposals, contracts, and CRM

Learn more
2%of revenue processed
Calisto Ledger

Calisto Ops

Full accounting.

Learn more
€40/user/mo
Calisto Identity

Calisto Identity

KYC identity verification.

Learn more
€1per Level 1 check
Calisto Access

Calisto Ops

Full security protocol management.

Learn more
€50/mo
Calisto Agenda

Included with your Account

Tasks, calendar, and contacts in one workspace.

Learn more
0Additional Cost
Spec Sheet

Everything included in Calisto Desk.

Briefing & Workspace
  • Three-bucket briefing: breaching SLA, unassigned, open queue (de-duplicated, priority ordered)
  • Refreshed every 20 seconds, SLA state recomputed on every read
  • Counts for breaching, unassigned, open, and resolved today
  • A loading state on first load rather than a zeroed band
  • Three lenses over one dataset: list, board, calendar
  • Search, facets, and sort shared across all lenses
  • Drag on the board to change status, with a failed write returning the card
  • Calendar places each ticket on its resolution due day, locale-aware week
  • Five pre-built saved views plus your own, each narrowing the filter bar and the fetch
  • Ticket composer with custom fields per type, validated on submit and re-checked by the server
  • A ticket with no SLA shows a neutral dot rather than a gap
Ticket Workspace
  • Three tabs: conversation, activity, claim (when applicable)
  • Shared conversation thread with internal notes visibly tinted and separated
  • Thread date-grouped, channel-badged, and locale-aware; polls every 10 seconds while the ticket refreshes every 15
  • An older ticket with no projected thread falls back to a flat view rather than showing nothing
  • A failed status, priority, or type change raises an alert above the tab body
  • A failed reply keeps your draft exactly as typed
  • Reply composer with article insertion (suggest or search)
  • Customer context sidebar: active bookings, recent orders, membership, access record
  • Identity verification level in header, changeable in place
  • Status, priority, type, and assignment changeable from sidebar
  • Related tickets
Channels & Types
  • Seven channel labels recorded per ticket: email, chat, phone, portal, walk-in, social, SMS
  • Portal self-service: a customer raises a request with photos and tracks its status without emailing anyone
  • Seven configurable ticket types with icon, colour, default priority, and default group
  • Five statuses and four priorities
  • Auto-link to reservation, order, member, contact, or asset per type
  • Custom fields per type: text, number, dropdown, date, file, contact, asset
  • Retired types stay selectable on existing tickets
  • A ticket cannot be saved without a type, and never renders a blank type badge
SLA Policies
  • First-response and resolution targets per priority (urgent, high, medium, low)
  • Escalation percentage per priority
  • Business-hours measurement (clock pauses when closed)
  • SLA state recomputed on every ticket read (never stored stale)
  • Three states: on track, at risk (past 75% of window), breached
  • Each chip colours from its own clock rather than a stored summary
  • Filter bar widened to at-risk-or-breached in one selection
Requests & Service Dashboard
  • Cross-vertical intake queue (list and board)
  • Convert a request into a ticket (keeps the link)
  • Resolve a request in place without creating a ticket
  • Member self-service: submit and track own tickets through Navigator
  • Service dashboard: 7 KPIs, 5 charts, agent leaderboard, refreshed every 30 seconds
  • Active breaches pull compliance down immediately (not at resolution)
  • A duration of zero renders as a dash, never as zero minutes
Knowledge Base
  • Markdown articles with three statuses (draft, published, archived)
  • Two-level category hierarchy
  • Real public page per published article (opens signed out)
  • A draft, archived, or unknown article returns a genuine not-found
  • Slug and meta description for search
  • Related article links
  • Version history with revert
  • View count and helpfulness percentage per article, incrementing on each successful public read
  • Embeddable widget with copyable snippet, serving published articles only
  • Article insertion from reply composer (suggest or search), appended to your draft rather than replacing it
  • A failed save reports the actual reason rather than a generic message
Claims
  • A claim is a ticket typed as a claim (keeps full workspace)
  • Extra fields: item, damage description, cost estimate, liability
  • Own list and board with exposure total in the active unit’s currency, falling back to a plain localized number when none is set
  • Photo evidence
  • Search covers subject, item, requester, and damage description
  • Refund or comp request from the claim tab
Approvals & CSAT
  • Three approval types: refund, comp, escalation
  • Auto-approve threshold per type (under = applied, over = held for manager)
  • Zero threshold = every request held
  • No resolvable currency = refund refused outright
  • CSAT survey on resolution: rating out of 5, configurable reason codes, free-text comment
  • Configurable delay: immediately, 1 hour, 1 day, or custom
  • Ticket types can be excluded from the survey
Canned Responses & Reports
  • Reusable replies grouped by category (personal or shared)
  • Variable substitution: requester name, ticket reference, agent name
  • Macros: set status, set priority, assign to me, add tags on insert
  • Reports on CSAT, SLA compliance, and volume by type and channel
  • Fourteen-day trend and by-agent throughput, with CSV export
Scoping & Data Rules
  • Every list and rollup narrows to the active business unit, so a total never disagrees with the list under it
  • Records predating the scoping stay visible rather than vanishing
  • Member data rules can filter by location and redact individual fields
  • A broken rule leaves rows untouched rather than failing the screen
  • A rule that hides everything returns an empty queue rather than an error
  • Five configuration tabs over the shared business identity, contact, and currency
Connected to Calisto Pro
  • Today (help desk, requests, claims, and service hub open in Desk)
  • Ledger (approved refunds and comps recorded)
  • Payments (refunds execute through Payments)
  • Bookings (customer context: active bookings, ticket linked to reservation)
  • Orderflow (customer context: recent orders)
  • Access (customer context: access record)
  • Registry (customer context: membership status)
  • Identity (customer context: verification level)
  • Navigator (member self-service submission and tracking)
  • Purview (business unit scope, currency, terminology)
  • Automations (ticket created, assigned, resolved, SLA breached events)
  • Depot (ticket attachment storage)
Honest answers

Frequently asked questions

From the apps that already hold it. Active bookings come from Bookings, recent orders from Orderflow, membership from Registry, the access record from Access, and the verification level from Identity. Nothing is copied into Desk and nothing needs an integration, because it is one database.

A service-level agreement is a target your team sets for how quickly tickets are handled. Desk lets you set two per priority level: how quickly an agent must first respond, and how quickly the ticket must be fully resolved. The clock tracks both, pauses outside your business hours if you configure them, and shows at a glance which tickets are on track, at risk, or overdue.

No. Desk reads the same database as every other Calisto app. If a customer has a booking in Bookings, an order in Orderflow, a membership in Registry, or an access record in Access, that information is already in the ticket sidebar. There is nothing to connect and nothing to sync.

Yes. Navigator composes the member-facing surface: somebody submits a maintenance or support request with photos, then watches its status change without an agent seat and without emailing anyone. The endpoint behind it lists only the tickets belonging to the person asking.

Only if you tell it to. Set operating hours as round-the-clock or as a weekly window with per-day start and end times, and the clock pauses outside them. Those hours are the one shared business schedule every Calisto product reads, not a Desk-only copy.

By an amount you set per type. Under your refund or comp threshold the request applies on the spot and records itself through Payments and Ledger; above it, the request is held in the approvals queue for a manager with the ticket one click away. Set a threshold to zero and every request of that type is held.

Not yet. Seven channels are recorded as a label on the ticket so your reporting splits by them, and two of them are live intake today: the customer portal, where somebody raises a request with photos and tracks it, and an agent creating the ticket. Everything else is recorded, not parsed.