Services & Sessions
A Service represents a project — a collection of related procedures performed on a customer by a service provider.
- A tattoo that was started and finished in one day.
- A tattoo that requires multiple days to complete.
- One or more piercings in the same sitting.
- A microblading session and the follow-up weeks later.
A service is locked to one provider and one customer. Every session in the service is performed by the same person.
A Session represents the details of a single procedure, including placement, description, price, supplies used, and the signed release form within that service.
A service can contain one or more sessions. This is what makes REV23 flexible for multi-visit work. When a returning customer has incomplete services, they are prompted to continue where they left off rather than starting a new service. Studios that prefer customers always start fresh can disable this prompt — see Continue Previous Service.
How Services Are Created
Section titled “How Services Are Created”Services are created when a customer fills out a release form through Kiosk or Web Sign. They cannot be created manually from the staff interface — the form signing process is what creates them, though this may change in the future.
When the customer selects their service types during the signing flow, a service is created containing a session for each type selected:
- If they selected Tattoo, a service is created with one tattoo session.
- If they selected Lobe and Tragus piercings, a service is created with two sessions — one for each piercing type.
Service Lifecycle
Section titled “Service Lifecycle”A service progresses through three statuses:
| Status | Meaning |
|---|---|
| Not Started | The service exists but no sessions have been started yet. |
| In Progress | At least one session has been started. |
| Completed | The service has been marked complete. |
Provider Assignment
Section titled “Provider Assignment”When a service is created, it may or may not have a provider assigned (depending on whether the customer selected one during signing or whether you show that step in the template). You can assign or change the provider from the service detail page, but only if the service is not completed and no sessions have been started yet.
If a service has no provider, any user with a seat and a matching service category type can click Take it to assign the service to themselves. This is a quick way to claim unassigned work without opening the full provider selection list. If the service has no sessions yet (and therefore no category types to match against), any user with a seat can take it.
Completing a Service
Section titled “Completing a Service”When you are finished with a service, you can mark it as Complete. Completing a service:
- Sets the completion timestamp.
- Prevents any further sessions from being added.
- Locks the service from further editing.
You can also Mark Incomplete to revert a completed service back to its previous status if you need to add more sessions or make changes.
Safety Panel
Section titled “Safety Panel”When you open a session, the Safety Panel at the top of the page gives you a quick view of important customer information. If the customer has any flags or medical conditions on file, the panel automatically expands so you see the information before beginning work. If there is nothing to flag, it stays collapsed.
The Safety Panel shows:
- Flags — All active flags on the customer, grouped by category. You can edit flags directly from here.
- Medical Conditions — Allergies, conditions, and diseases on file, grouped by type with required conditions highlighted. Viewing details requires the
medical:customerpermission — without it you’ll see a count but not the specifics. - Emergency Contact — Name, relationship, and phone number. Editable from here.
- Physician — Name, practice, and phone number. Editable from here.
- Notes — Customer notes stored on the profile and visible to all staff. You can add a new note right from the Safety Panel without leaving the session — useful for recording something that comes up during a procedure.
The Safety Panel is about making sure you have the full picture before you start working, and giving you a quick way to update customer information without navigating away.
Sessions
Section titled “Sessions”Sessions are the core of REV23. Each session tracks the details of work performed and contains the signed release form.
A session includes:
- Service Type — What was performed (e.g. Custom Tattoo, Lobe Piercing).
- Placement — Where on the body, including side (Left, Right, Both).
- Description — A description of the work.
- Quantity — Number of items (e.g. number of piercings).
- Price — Amount charged.
- Supplies — Needles, inks, pigments, jewelry, tubes, grips, and salves used during the session.
- Release Form — The signed form, generated as a PDF.
- Files — Photos, documents, and other attachments. Use this for before and after photos, reference images, or any other files related to the session.
- Notes — Internal staff notes.
Session Lifecycle
Section titled “Session Lifecycle”Each session progresses through three stages:
| Stage | Meaning |
|---|---|
| Created | The session exists but work has not begun. |
| Started | Work is in progress. The start time is recorded. |
| Ended | Work is complete. The end time is recorded and duration is calculated. |
You manage session timing from the session detail page or directly from the session card on the service page:
- Start — Records the start time. You can set this to the current time or pick a specific time.
- End — Records the end time. Duration is automatically calculated from the start and end times.
- Undo Start — Clears the start time, returning the session to Created.
- Reopen — Clears the end time, returning the session to Started.
Duration can also be set manually if you prefer to enter it directly rather than relying on the calculated time.
Release Forms
Section titled “Release Forms”Release forms are filled out during the Kiosk or Web Sign signing flow. But the form is not finalized immediately — it is generated when the session is Ended.
This is by design. It gives you the opportunity to add all supplies to the session before the release form is finalized, which is required by more and more health departments.
When a session is ended, the release form is sent to a processing queue and generated as a PDF. You can view the progress and the final document in the Forms section of the session. Generation typically takes a few seconds.
Supply Tracking
Section titled “Supply Tracking”Each session can track the supplies used during the procedure:
- Ink — Brand, color, and quantity.
- Needles — Type, gauge, lot number, expiration date, and quantity.
- Jewelry — Type, material, gauge, lot number, expiration date, and quantity.
- Tubes, Grips, Salves — Additional supplies and aftercare products.
Supplies are added from the session detail page. When the session is ended and the release form is generated, supplies can be included on the document if Print Supplies Used is enabled in the template print settings.
Supply Suggestions
Section titled “Supply Suggestions”When adding needles, tubes, or grips to a session, suggestion chips appear based on the provider’s usage history. The chips show the top 5 most-used items for that supply type and the current service type, so your most common supplies are always one tap away.
Tapping a suggestion auto-selects the item and prefills the lot number and expiration date from the last time it was used. If you search and select an item manually that matches a suggestion, the lot number and expiration date are also prefilled.
Suggestion chips are color-coded to flag expiration issues:
- Red border — The supply is expired.
- Amber border — The supply is expiring soon.
Suggestions load separately for each supply tab (needles, tubes, grips) and are not shown for salves.
Lot Number and Expiration Date
Section titled “Lot Number and Expiration Date”Needles, jewelry, tubes, and grips support Lot Number and Expiration Date fields. These are useful for health department compliance and supply traceability.
- If a supply’s expiration date has passed, an Expired badge appears on the item in the supply list.
- When editing a supply with a past expiration date, a warning is shown in the form.
Adding Sessions
Section titled “Adding Sessions”You can add new sessions to an existing service to track additional work. When adding a session, you choose between two types:
-
Signed — The customer goes through a Kiosk signing flow to answer questions and sign a new release form. Some steps are skipped since the app already knows who the customer is, though they can update their information if needed. Use this when you need paperwork for the additional work (touch-ups, new piercings added to an existing service, etc.).
-
Unsigned — The session is created without a form. Use this when you do not require paperwork — for example, jewelry downsizing, quick check-ins, or minor adjustments.
Continuing Existing Services
Section titled “Continuing Existing Services”One of the key benefits of the service/session model is support for multi-visit work. When a returning customer signs in through Kiosk or Web Sign using OTP verification, the app checks for any incomplete services (services that have not been marked complete).
If incomplete services are found, the customer can choose to continue an existing service rather than creating a new one. This adds a new session to the existing service, keeping all the work together under one project. If you prefer customers to always start fresh, you can hide the Continue Previous Service step in the template designer.
This is especially useful for:
- Multi-day tattoos — A large back piece that takes several sessions over months. Each visit adds a new session to the same service, so you can easily reference past photos, notes, and supply records.
- Microblading touch-ups — The initial brow session and the mandatory touch-up 6–8 weeks later stay in the same service, keeping before and after photos together.
- Permanent makeup series — A lip blushing customer returns for a follow-up or color boost months later. Adding a session to the existing service keeps the full history in one place — original color choices, reference images, and healed photos.
- Piercing follow-ups — Jewelry downsizing, check-ups, or jewelry changes can be tracked as additional sessions.
Services List
Section titled “Services List”The services page in the app offers two views:
- Sessions view — Shows individual session records, useful for seeing today’s work at a glance.
- Services view — Shows service containers with their session counts, total duration, and status.
You can filter by date range, provider, service type, and status. The Available Now and search filters help you quickly find what you need.
Webhooks
Section titled “Webhooks”Services support the following webhook events:
| Event | Permission | Description |
|---|---|---|
| service.created | read:service | A service was created. |
| service.completed | read:service | A service was marked complete. |
| service.user_assigned | read:service | A user was assigned to a service. |
| service_session.created | read:service | A session was created. |
| service_session.started | read:service | A session was started. |
| service_session.ended | read:service | A session ended. |
| release_form.generated | read:service | A release form PDF was generated. |