Skip to content

HomeWork ExamplesVirtuálne sídlo Trnava

A virtual-office subscription that can be ordered and managed online

For a new business in Trnava, we took 14 business days to design and build a web application that brings together service selection, online ordering, card and invoice payments, subscription management, and order administration in one solution.

1 / 3
Package selection on a phone with SRO Komfort selected.
Payment choice on a phone: card or Pay by Square.
Card payment form on a phone.
Package selection on a phone with SRO Komfort selected.

AI-generated video

At a glance

The project started from scratch. The client had no old website and no existing online sales process to migrate. The goal was to launch a virtual-office service so that a new sole proprietor or LLC, as well as an established business, could choose a suitable package and complete the order online.

Trnava · web application · 14 business days · €1,500 · virtualnesidlo-trnava.sk

Who it's for
A new business in Trnava: a virtual office for sole proprietors, LLCs, and established companies
What we built
A web application with online ordering, subscriptions, a client account, administration, and a CMS
What it handles
Subscriptions and one-off services · card and invoice payment · Pay by Square · payment status from Stripe
Duration
14 business days
Similar solution
€1,200 – €2,400 · from 10 days
Terms and scope
What ITgale did
End-to-end delivery: concept and design, web application development, payment logic, client account, administration, CMS, initial SEO, deployment on Vercel
The client's site

What the finished site looks like

The site virtualnesidlo-trnava.sk walks a visitor from an explanation of the service to an order. The main menu has the sections Virtuálne sídlo, Cenník, Ako začať, and Legislatíva (virtual office, pricing, how to start, legislation); the pricing page places the packages for sole proprietors and LLCs next to the one-off services. The Objednať sídlo (order an office) button opens a three-step order: contact, correspondence, payment.

Screenshot 1 of 5

The Virtuálne sídlo page on a desk: the Ako to funguje section and four steps from the Pekárska 14 address to mail handling.
Pricing: four packages side by side, SRO Komfort selected, and the Čo je v balíku summary on the right.
One-off services from company formation to a logo, with payment by card, by invoice, or via WhatsApp.
Order, the Korešpondencia step: add-on services for the package and the Vaša objednávka summary on the right.
The Platba step: card or bank transfer via Pay by Square, with the Stripe card form below.
About the solution

With a virtual office, the purchase does not end when the order is paid.

A subscription renews, the payment method can change, and a bank transfer can arrive later.

01 / 04 Ordering

Subscriptions and one-off services in one ordering flow

A customer can order both the recurring virtual-office service and one-off services. At checkout, they choose between card and invoice; for a bank transfer, the solution also supports Pay by Square.

The subscription then continues in the client account. There the customer can work with the subscription status, change payment details, and receive documents for the following periods. Once a subscription has been canceled, the customer cannot reactivate it on their own with one click; it continues through a new order or an administrator's action.

One-off purchases follow a simpler flow. The order and payment go through the same application, the administrator sees them in the system, and the customer receives an email confirmation together with the payment documents. These one-off purchases do not appear in the client account.

Business outcome

The customer picks a package or a one-off service and completes the order online.

Package selection on a phone with SRO Komfort selected.
Package selection: a virtual-office subscription with the SRO Komfort package selected.
Detail: the one-off services Zmeny v registri (register changes) for €30 and Logo a branding (logo and branding) for €50, with the Zaplatiť kartou (pay by card) buttonDetail: payment method, Platba kartou (card payment) or Bankový prevod (bank transfer, Pay by Square)
Detail

One-off services are ordered in the same application as subscriptions.

At payment, the customer chooses card or bank transfer with Pay by Square.

02 / 04 Payments

The hardest part starts after payment

The most technically demanding part of the project was synchronizing payment states between Stripe and the web application. Handling a successful card payment was not enough. The solution also has to react to a switch from card to invoice and back, recurring payments, Stripe invoicing, and events arriving through webhooks.

Edge cases mattered too: an invoice payment can arrive late, the customer may cancel the service in the meantime, or the next recurring payment may fail. So the application does not just record whether a payment succeeded once; it keeps the order and subscription status current through changes that happen later.

Business outcome

The order and subscription status stays current through late payments, cancellations, and failed renewals.

  1. Payment Card · invoice · Pay by Square
  2. Events Stripe webhooks · recurring payments
  3. Edge cases Late payment · cancellation · failed renewal
  4. Output Current order and subscription status
Card payment form on a phone.
The Stripe card form on a phone.
Client account: a subscription with a failed automatic payment notice and the Skúsiť platbu znova (retry payment) button.Administration: subscription payment history with the statuses Zaplatená (paid), Stornovaná (voided), and Nevymožiteľná (uncollectible).

Client account: the subscription, the next payment, and retrying a failed payment.

Administration: payment history, including voided and uncollectible invoices.

03 / 04 Operations

Automation where it makes sense

The virtual-office service itself is currently delivered manually. After the first successful order and payment, the administrator contacts the customer and handles the next steps personally.

The web application does not replace this operational work. Instead, it sends the administrator the information they need to act on, for example when a customer cancels a subscription or the next recurring payment fails.

The admin area follows the same principle. It is deliberately narrow: orders, payment history, and actions to cancel or resume a subscription. It is not a general back-office system with features this business does not need.

Business outcome

The administrator is notified when action is needed and delivers the service personally.

Administration: an orders overview with counts, a filter by status and service, and the orders table.Order detail: customer, order, address, subscription, and subscription actions.

Administration: the orders overview with a filter by status and service.

Order detail: customer data, the subscription, and actions such as checking the payment or canceling the subscription.

04 / 04 Content

All content and offerings, managed in Sanity

The public site content, including products and subscriptions, is managed in Sanity. That lets the client change their offerings and content without products or copy being hard-coded in the application.

The technical solution is built on Next.js, React, TypeScript, and Tailwind CSS. Stripe handles the payment layer, Sanity the content, and the application is deployed on Vercel.

Business outcome

The client changes offerings and content without touching the application code.

Sanity Studio: the SRO Komfort package as a document the client edits on their own.
Detail: the content structure in Sanity Studio, Balíky virtuálneho sídla (virtual-office packages), Jednorazové služby (one-off services), Doplnkové služby (add-on services), and the package list with SRO KomfortDetail: the document fields Názov balíka (package name) SRO Komfort, Podtitul (subtitle), and Cena / mesiac (price per month)
Detail

Packages, one-off services, and add-on services are separate documents in Sanity.

The client edits the package name directly in the document field.

Result

What the client got

  1. In 14 business days, we delivered a complete solution for a new business: a public website, online ordering, subscriptions and one-off purchases, several payment methods, a client account, administration, and a CMS.

  2. The most important result of the delivery is not the number of screens but the fact that the order does not end at checkout. The system keeps working with the payment and subscription status and gives the administrator the information needed to deliver the service manually.

“Proposal, cooperation, delivery on time — 10/10. Very good, helpful approach and great collaboration 🙏✅”

HR FLEX sro Google review · August 2026

Need a web application with subscriptions or a more complex payment flow?

We design the solution around your business's real process, from ordering and payments to administration and content management.

What we tailor
  • Packages, subscriptions, and one-off services
  • Payment methods: card, invoice, QR payment
  • Order and subscription states
  • Client account and documents
  • Administration built around your operations
  • Content and offerings in a CMS
Similar solution
€1,200 – €2,400
A web application with online ordering, payments, and administration built around your business's specific process. The final budget depends on the number of packages and payment scenarios, the scope of the client account and administration, and how ready your materials are.
Estimated timeline
from 10 days
Conditions: materials ready, scope agreed, feedback within two business days.
Billed separately: hosting from €5 per month.

Leave us your contact details

We go through your task, clarify the functionality you need, and propose a suitable scope of work.
optional, up to 5 files, 10 MB each

We reply within 5 working hours (Mon–Fri 9:00–18:00)

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

  • IT Gale s.r.o.
  • Company ID 56186339
  • Plynárenská 3B, 821 09 Bratislava
  • +421 220 400 922

Or message us on WhatsApp