Requiply
Services

Manage services

Review, rename, reprice, and remove the services your business sells alongside rentals.

The Manage services page is where you review, edit, and remove the priced offerings your business sells alongside (or instead of) inventory items. It is the day-to-day workspace for keeping your service catalog clean so bookings, invoices, and analytics stay accurate.

You can find this page under Main menu → Services → Manage services.

Access: Only users whose account has the Service Management permission can see the Services menu group or open this page. Without that permission the route is blocked at the auth middleware. Admins have this permission by default; other roles only get it if it was explicitly enabled on their account.


Why this page matters

Services are one of the two building blocks of a booking in Requiply (the other being inventory items). Anything you change here flows directly into the rest of the product:

  • Bookings — new bookings pick from the active services shown on this page.
  • Booking total price — each service's current price and price type feed the auto-calculated booking total.
  • Booking emails and invoice PDFs — both read from the same service records when listing line items.
  • Analytics — revenue and bookings reports group results by the services that were sold.
  • Workflows — server-side workflow handlers acting on booking events have access to the service list of the affected booking.

Existing bookings keep the snapshot of services they were created with, but new bookings always pull from this list.


Who can use this page

  • Admins can always manage services.
  • Other accounts can manage services only if an admin has turned on the Service Management permission for that account on the account edit page in Organization settings.
  • Users without the permission do not see the Services menu group at all, and direct navigation to /services/manage, /services/add, or /services/edit is blocked.

There is no read-only variant of this page — if a user can see it, they can add, edit, and delete services.


What you'll see

The page renders as a single card with a paginated table of all active (non-archived) services for the current organization. Archived services are hidden from this list.

Header row

  • The page title Manage services.
  • A global search box that does a CONTAINS match across the visible columns (name, price, price type).

Columns

  • Name — the service name as it will appear when staff add it to a booking.
  • Price — the numeric price formatted in the organization's currency. If the service is set to Quote, this column shows a Quote info tag instead of a number.
  • Price type — how the price is applied: per hour, per day, per month, or a custom quote.
  • Actions — an Edit (pencil) button and a Delete (trash) button on each row. The actions column is frozen to the right.

Pagination defaults to 10 rows per page, with options for 20 or 50.


Empty state

If the organization has no services yet, the table is replaced with a full-page placeholder showing a briefcase icon, an No services yet message, and a primary call-to-action that opens Add or edit service so the user can create the first one.

Adding the first service unlocks the service picker on new bookings — until then, bookings can only attach inventory items.


Main actions

Searching

The search box in the header filters the table globally across all visible row data. There are no per-column filters and no category or status facets — the catalog is intentionally flat.

Editing a service

Clicking the pencil icon on a row opens Add or edit service in edit mode at /services/edit?id={serviceId}. The form is pre-filled from the existing record. Only the name and (where applicable) the price are editable — the price type is locked once a service is saved. See Add or edit service for the full field reference and validation rules.

Removing a service

Clicking the trash icon on a row opens a confirmation dialog with a warning icon, the service name, and an info note explaining what happens behind the scenes. No cancels and Yes confirms.

What happens on confirm depends on whether the service has ever been used:

  • If the service is not referenced by any booking, it is hard-deleted from the database and disappears from the list.
  • If the service is referenced by at least one booking (past or present), it is archived instead of deleted. Archiving sets is_archived = true, which removes it from Manage services and from the active service picker on new bookings, but preserves the record so historical bookings, invoices, emails, and reports still resolve the service name and price correctly.

The user sees the same success toast in both cases. There is no in-product UI to view archived services or to un-archive them — once removed from the manage view they are no longer surfaced.


Forms and fields

This page itself is not a form — its only input is the global search. Field meanings on the rows:

  • Name — the human-readable label of the service. Used everywhere the service appears (bookings, emails, invoices, analytics).
  • Price — the base price of the service, formatted in the organization's currency. Replaced by a Quote tag for quote-type services.
  • Price type — hour, day, month, or quote. Drives how the price is multiplied into the booking total.

For the full meaning and validation of these fields, see Add or edit service.


Billing, plans, and limits

Services on this page are not metered by the subscription plan, and no upgrade prompts or paid add-on banners appear here. Access depends on the Service Management account permission only.


How this page connects to the rest of Requiply

FeatureHow this page affects it
BookingsWhen a staff member creates a booking, they pick from the active services shown here through a multi-select chip picker. Selected services attach via the reservation_services join table.
Booking total pricecalculateBookingTotalPrice sums each service's contribution based on its price type and the booking's date range. Quote services contribute 0 to the calculated subtotal — the final amount is agreed manually.
Booking services tableThe booking detail and preview views render attached services in a table that reuses the same column labels (name, price, price type) as this page.
Booking emailsThe booking email template lists services attached to the booking using each service's stored name, price, and price type.
Invoice PDFsThe invoice generator reads from the same service records when building line items.
AnalyticsRevenue and booking analytics aggregate by service to power dashboards and reports.
WorkflowsServer-side workflow handlers acting on booking events have access to the service list of the affected booking.
Account permissionsThe Service Management permission on an account toggles whether that user can see and use this page.

Common scenarios

Adjusting a price

A business raises its hourly rate. An admin opens Manage services, clicks the pencil on the relevant row, updates the price, and saves. Future bookings use the new rate. Bookings that were already created keep their original totals.

Retiring an offering

A service is no longer offered. The admin clicks the trash icon and confirms. Because the service has past bookings, Requiply archives it instead of deleting it — the service vanishes from the picker on new bookings, while past records, invoices, and reports still display the original name and price correctly.

Cleaning up a never-used service

An admin created a test service that was never attached to a real booking. Clicking trash and confirming hard-deletes it; the row disappears with no archive trail.

Restricting who can change services

An admin opens an employee's account in Organization settings and turns off Service Management. That employee no longer sees the Services menu and cannot reach /services/manage, /services/add, or /services/edit — but they can still attach existing services to bookings if their booking permission is on.


Tips and cautions

Tip: Use the search box to find services by their price type label as well as by name — the global search matches across every visible column.

Heads up: Deleting a service that has never been used removes it permanently. There is no undo and no archived-services view to recover it from.

Heads up: Editing a service's price changes what future bookings charge. It does not retro-update existing bookings, invoices, or emails that already reference the older value.

Heads up: A service's price type is locked once saved. If you need a different model (for example switching from per-day to per-hour), create a new service via Add or edit service and remove the old one rather than expecting to convert it.

Heads up: If an employee reports I can't find the Services page, they most likely need the Service Management permission turned on for their account by an admin.

Copyright © 2026