Ready-made SaaS for filling available practice appointments via SMS, including SMS reminders
BUSINESS MODEL
Monthly subscription per practice in three packages (EUR 39 / 49 / 59 for 100 / 300 / 500 SMS), billed entirely through Stripe including SEPA, invoices, and dunning.
30-day free trial with self-registration. The path from website visit to paying customer works without any involvement from the operator. Variable costs are around 7 to 9 cents per SMS, fixed costs about EUR 10 per month. Contribution margin, calculated conservatively, is about EUR 30 per customer per month.
WHAT THE PRICE INCLUDES
Source code with all rights, the domain including subdomain, email inbox, website with interactive demo, name and logo, complete documentation with handover checklist, as well as a sample data processing agreement under Art. 28 GDPR with TOM annex included in the application.
REPLACEMENT COST
The scope represents several months of development work: 94 automated tests, Alembic migrations, admin interface for payment service, SMS, SMTP and pricing, GDPR deletion concept, two-factor login, CalDAV integration including write-back to the calendar. Rebuilding this at market rates would fall into the five-figure range, and the legal groundwork for the German healthcare market would come on top of that.
PAYBACK PERIOD
with 10 practices approx. EUR 300/month contribution margin -> around 16 months
with 20 practices approx. EUR 600/month -> around 8 months
with 50 practices approx. EUR 1,500/month -> around 3 months
From the second paying customer onward, the business is profitable, because fixed costs are about EUR 10.
WHY NO MORE
Because there are no customers. There is no proof that the product sells. The buyer alone bears this risk, and that is exactly what is reflected in the price.
A product with proven revenue would cost many times more. The fixed price is set low so the decision can be made quickly: the risk is limited to EUR 4,900 plus around EUR 10 in operating costs per month.
LANGUAGE AND FRAMEWORK Python 3.12 with FastAPI. Server-side rendering via Jinja2 templates, no JavaScript framework — the frontend consists of just under 30 lines of vanilla JS for follow-up questions and selection fields. Uvicorn as the application server. DATABASE PostgreSQL 16, accessed via SQLAlchemy. Schema changes are handled through Alembic migrations, which apply themselves automatically on startup — protected by a Postgres advisory lock so that the app and background process can start at the same time. OPERATIONS Docker Compose with three containers: application, background worker (querying calendars, sending offers, deletion deadlines), and database. Runs on a small Linux VM with 2 vCPU and 2 to 4 GB RAM. The reverse proxy with TLS is not included and can be chosen freely (Nginx Proxy Manager, Caddy, Traefik). EXTERNAL SERVICES Stripe for subscriptions, SEPA direct debit, invoices, and dunning. seven.io for sending SMS. Any SMTP mailbox for emails. CalDAV for calendar integration (Nextcloud, Synology, iCloud, and anything that speaks CalDAV). There are no additional external dependencies. IMPORTANT LIBRARIES caldav and icalendar (calendar), stripe (payment), cryptography for Fernet encryption of stored access credentials, passlib with bcrypt for passwords, itsdangerous for signed sessions, reportlab for the waiting room notice PDF, segno for QR codes, httpx for HTTP requests. The two-factor login (TOTP) is implemented using the Python standard library, without an additional dependency. TESTS AND TOOLS 94 automated tests with pytest, including an end-to-end run against a real CalDAV server (Radicale, in the test container). Separate test image, separate test database. Dependencies updated in September 2026, pip-audit reports no known vulnerabilities. INTENTIONALLY NOT USED No JavaScript build process, no message broker, no Redis, no Kubernetes, no cloud lock-in. The stack is deliberately straightforward so that even a single developer can understand and maintain it in a reasonable amount of time.
None so far. The product was developed and technically completed, but never marketed — that is exactly why there is no revenue and why I am selling. I do not have the time to handle sales alongside my main occupation. WHAT IS PREPARED - Landing page at lueckenretter.de with benefit-focused messaging, prices, FAQ, and a savings calculator - Interactive demo without registration (lueckenretter.de/demo): the complete process from cancellation to assigned appointment in four clicks. This eliminates the need for sales to explain everything - SEO basics implemented: sitemap.xml, robots.txt, consistent canonization, Open Graph image for sharing on social networks, structured data (SoftwareApplication and FAQPage) for rich results - Complete self-service funnel: registration, email confirmation, 30-day trial period, subscription checkout via Stripe — a practice can sign up and become a paying customer without any involvement from the operator - QR code poster for the waiting room as a PDF, which the practice can use to fill its own waiting list NO USAGE FIGURES The website deliberately does not use cookies, tracking, or web analytics — this is promised in the privacy policy. Consequently, I cannot provide visitor numbers. However, with zero marketing, there would not be anything to show anyway. OBVIOUS CHANNELS FOR THE BUYER - Direct outreach to practices (email, phone): standard for German B2B niche business, the product explains itself through the demo - Partnership with providers of practice software or IT service providers with practice clients — they have the access that is missing here - Professional associations and trade media of the target groups (physiotherapy, dentistry) - Trade fairs - Search engine advertising for terms with clear purchase intent - Recommendations within practice networks: the benefit is measurable in euros, the dashboard shows saved appointments and revenue
Germany
CORE TARGET GROUP Practices with appointment calendars and real waiting lists — above all physiotherapy. It is the best fit there: long waiting times, daily short-notice cancellations, and prescription patients generally want to move several appointments forward anyway. Likewise occupational therapy, speech therapy, and podiatry. Psychotherapy is especially worthwhile: very long waiting times, high value per appointment, and a missed appointment is practically impossible to refill. Also Dentistry, naturopathy, osteopathy, and veterinary practices. Beyond the health professions, it works anywhere with appointments and excess demand: hairdressers, cosmetics, massage, foot care. THE ACTUAL QUALIFICATION CRITERIA The industry is less important than these four points: 1. The calendar has a CalDAV interface (Nextcloud, Synology, iCloud, mailbox.org and others) 2. There is actually a waiting list, meaning more demand than capacity 3. The value of an appointment is high enough that a saved appointment matters — from about 40 EUR, the subscription pays off with just two appointments per month 4. Cancellations occur regularly, not just exceptionally IDEAL CUSTOMER A physiotherapy practice with two to five practitioners, a Nextcloud calendar, about three weeks of waiting time, and one to two cancellations per day. There, the benefit is immediately visible in euros, and setup takes fifteen minutes. SECOND USER GROUP: THE PATIENTS They need no app, no account, and no password — they sign up once via a QR code and later tap a link in the SMS. This is crucial for adoption, because nothing can fail on the patient side. WHO IS NOT A FIT Practices whose administration system does not offer an open calendar interface. Solo practices without a waiting list. And businesses that have moved their appointment management completely to a platform like Doctolib — in that case the calendar is no longer managed by the business. MARKET SIZE In Germany alone, there are several tens of thousands of physiotherapy and dental practices. The actually addressable segment is smaller because it must meet the CalDAV requirement — but competition in this niche is low.
BUSINESS MODEL Monthly subscription per practice, i.e. classic SaaS with recurring revenue. Three packages that differ in the included SMS allowance: Package S — 39 EUR/month, 100 SMS included Package M — 49 EUR/month, 300 SMS included Package L — 59 EUR/month, 500 SMS included All features are included in every package — unlimited waiting list, calendar monitoring, appointment reminders, dashboard, QR notice. The only difference is the SMS volume. This keeps the price list easy to understand and makes upgrading a natural consequence of success: those who save many appointments use more SMS. The prices and allowances can be freely changed in the admin interface, without any intervention in the code. HOW THE MONEY FLOWS Entirely via Stripe: subscriptions, SEPA direct debit and credit card, invoicing, dunning, and a customer portal for changing packages and cancelling. Webhooks keep the account status synchronized — if a payment is missed, the service is automatically paused. The operator does not have to write any invoices or manually activate anything. Alternatively, billing by invoice is possible; the application supports both. FROM PROSPECT TO PAYING CUSTOMER A practice registers itself, confirms its email, and tests the service free of charge for 30 days. The trial period ends automatically, without cancellation. An SMS cap prevents fake sign-ups from causing costs. The entire path to a paid subscription runs without any involvement from the operator. HANDLING OVERUSE If the allowance is exceeded, sending continues — so the service does not stop in the middle of an appointment booking. The operator receives a notification email once a month and can then decide: increase the allowance, offer a different package, or adjust the price. Deliberately designed as a flat rate with notification, not as a hard block. EXPANSION OPTIONS Prepared for, but not yet fully utilized: higher-tier packages for larger practices, price per location for practice chains, annual prepayment with a discount, a setup fee for personal onboarding — and, as the biggest lever, a white-label version for providers of practice software who want to resell the service under their own name. Product name, logo, and provider details are already fully configurable; technically, nothing needs to be changed for that.
FIXED COSTS FOR THE BUYER: approx. 8–10 EUR/MONTH Virtual machine (2 vCPU, 4 GB, location DE) from approx. 5 EUR/month Domain + email mailbox (18 EUR/year) 1.50 EUR/month Backups per VM snapshot (optional) approx. 1–2 EUR/month Reverse proxy with TLS 0 (runs on the same VM) Independent of the number of customers. No license fees, the stack is open source. No subscriptions for monitoring, error tracking, CDN, or hosting platforms. VARIABLE COSTS SMS via seven.io approx. 7–9 cents per SMS, prepaid, no base fee Stripe no base fee, only a transaction fee per payment A newly booked appointment costs around 4 to 5 SMS — included in the package prices. NOTE So far, the service runs on my own hardware, so I only incur the 18 EUR per year. The hardware is not part of the sale, which is why the calculation above uses a rented VM. The first paying customer covers the fixed costs about four times over with 39 EUR.
OPERATIONS: almost zero The application runs independently. The background process checks calendars, sends offers and reminders, and enforces the deletion periods. Migrations run automatically at startup, Stripe handles invoicing and dunning. There is no daily routine task. Ongoing monitoring: a glance at the admin overview, which displays the worker heartbeat and calendar connections. A few minutes per week. MAINTENANCE: about 1 hour per quarter Update dependencies, run the test suite (94 tests), rebuild. CUSTOMER SUPPORT Onboarding is self-service: The practice registers, connects its calendar, prints the notice. Anyone who redeems the personal setup promised on the website should expect 15 to 30 minutes per new customer. Support mainly arises with calendar integration (CalDAV address, app password). Billing does not create any effort. Estimate: with around ten practices, 1 to 2 hours per week. SALES The real time factor — and a free choice. This is exactly where I lacked time, hence the sale. CURRENT STATUS Without customers, the effort is practically zero.
The product is finished; what I lack is the time for sales and operations. I work full-time as an IT service provider. Lückenretter was created alongside that because I believed the problem was solvable — and it is. What comes next now is something else: approaching practices, setting up appointments, addressing objections, supporting the service. To do that, I would need to build a sales operation, and that does not fit alongside my main work. What is NOT the reason: no technical problem, no outstanding claims, no legal dispute, no dissatisfied customers — there are no customers yet. The code has been tested, documented, runs in production, and according to the current status has no known vulnerabilities. As for the price: The fixed price is below what the development time would be worth — that is intentional. I would rather the product quickly gets into the hands of people who can bring it to the market than have it sit for several more months while the dependencies become outdated.
None so far. The product was developed and technically completed, but never marketed - that is exactly why there is no revenue and why I am selling. I do not have the time to handle sales alongside my main occupation. WHAT IS PREPARED - Landing page at with benefit-focused messaging, prices, FAQ, and a savings calculator - Interactive demo without registration (): the complete process from cancellation to assigned appointment in four clicks. This eliminates the need for sales to explain everything - SEO basics implemented: sitemap.xml, robots.txt, consistent canonization, Open Graph image for sharing on social networks, structured data (SoftwareApplication and FAQPage) for rich results - Complete self-service funnel: registration, email confirmation, 30-day trial period, subscription checkout via Stripe - a practice can sign up and become a paying customer without any involvement from the operator - QR code poster for the waiting room as a PDF, which the practice can use to fill its own waiting list NO USAGE FIGURES The website deliberately does not use cookies, tracking, or web analytics - this is promised in the privacy policy. Consequently, I cannot provide visitor numbers. However, with zero marketing, there would not be anything to show anyway. OBVIOUS CHANNELS FOR THE BUYER - Direct outreach to practices (email, phone): standard for German B2B niche business, the product explains itself through the demo - Partnership with providers of practice software or IT service providers with practice clients - they have the access that is missing here - Professional associations and trade media of the target groups (physiotherapy, dentistry) - Trade fairs - Search engine advertising for terms with clear purchase intent - Recommendations within practice networks: the benefit is measurable in euros, the dashboard shows saved appointments and revenue
Germany
CORE TARGET GROUP Practices with appointment calendars and real waiting lists - above all physiotherapy. It is the best fit there: long waiting times, daily short-notice cancellations, and prescription patients generally want to move several appointments forward anyway. Likewise occupational therapy, speech therapy, and podiatry. Psychotherapy is especially worthwhile: very long waiting times, high value per appointment, and a missed appointment is practically impossible to refill. Also Dentistry, naturopathy, osteopathy, and veterinary practices. Beyond the health professions, it works anywhere with appointments and excess demand: hairdressers, cosmetics, massage, foot care. THE ACTUAL QUALIFICATION CRITERIA The industry is less important than these four points: 1. The calendar has a CalDAV interface (Nextcloud, Synology, iCloud, mailbox.org and others) 2. There is actually a waiting list, meaning more demand than capacity 3. The value of an appointment is high enough that a saved appointment matters - from about 40 EUR, the subscription pays off with just two appointments per month 4. Cancellations occur regularly, not just exceptionally IDEAL CUSTOMER A physiotherapy practice with two to five practitioners, a Nextcloud calendar, about three weeks of waiting time, and one to two cancellations per day. There, the benefit is immediately visible in euros, and setup takes fifteen minutes. SECOND USER GROUP: THE PATIENTS They need no app, no account, and no password - they sign up once via a QR code and later tap a link in the SMS. This is crucial for adoption, because nothing can fail on the patient side. WHO IS NOT A FIT Practices whose administration system does not offer an open calendar interface. Solo practices without a waiting list. And businesses that have moved their appointment management completely to a platform like Doctolib - in that case the calendar is no longer managed by the business. MARKET SIZE In Germany alone, there are several tens of thousands of physiotherapy and dental practices. The actually addressable segment is smaller because it must meet the CalDAV requirement - but competition in this niche is low.
BUSINESS MODEL Monthly subscription per practice, i.e. classic SaaS with recurring revenue. Three packages that differ in the included SMS allowance: Package S - 39 EUR/month, 100 SMS included Package M - 49 EUR/month, 300 SMS included Package L - 59 EUR/month, 500 SMS included All features are included in every package - unlimited waiting list, calendar monitoring, appointment reminders, dashboard, QR notice. The only difference is the SMS volume. This keeps the price list easy to understand and makes upgrading a natural consequence of success: those who save many appointments use more SMS. The prices and allowances can be freely changed in the admin interface, without any intervention in the code. HOW THE MONEY FLOWS Entirely via Stripe: subscriptions, SEPA direct debit and credit card, invoicing, dunning, and a customer portal for changing packages and cancelling. Webhooks keep the account status synchronized - if a payment is missed, the service is automatically paused. The operator does not have to write any invoices or manually activate anything. Alternatively, billing by invoice is possible; the application supports both. FROM PROSPECT TO PAYING CUSTOMER A practice registers itself, confirms its email, and tests the service free of charge for 30 days. The trial period ends automatically, without cancellation. An SMS cap prevents fake sign-ups from causing costs. The entire path to a paid subscription runs without any involvement from the operator. HANDLING OVERUSE If the allowance is exceeded, sending continues - so the service does not stop in the middle of an appointment booking. The operator receives a notification email once a month and can then decide: increase the allowance, offer a different package, or adjust the price. Deliberately designed as a flat rate with notification, not as a hard block. EXPANSION OPTIONS Prepared for, but not yet fully utilized: higher-tier packages for larger practices, price per location for practice chains, annual prepayment with a discount, a setup fee for personal onboarding - and, as the biggest lever, a white-label version for providers of practice software who want to resell the service under their own name. Product name, logo, and provider details are already fully configurable; technically, nothing needs to be changed for that.
FIXED COSTS FOR THE BUYER: approx. 8-10 EUR/MONTH Virtual machine (2 vCPU, 4 GB, location DE) from approx. 5 EUR/month Domain + email mailbox (18 EUR/year) 1.50 EUR/month Backups per VM snapshot (optional) approx. 1-2 EUR/month Reverse proxy with TLS 0 (runs on the same VM) Independent of the number of customers. No license fees, the stack is open source. No subscriptions for monitoring, error tracking, CDN, or hosting platforms. VARIABLE COSTS SMS via seven.io approx. 7-9 cents per SMS, prepaid, no base fee Stripe no base fee, only a transaction fee per payment A newly booked appointment costs around 4 to 5 SMS - included in the package prices. NOTE So far, the service runs on my own hardware, so I only incur the 18 EUR per year. The hardware is not part of the sale, which is why the calculation above uses a rented VM. The first paying customer covers the fixed costs about four times over with 39 EUR.
OPERATIONS: almost zero The application runs independently. The background process checks calendars, sends offers and reminders, and enforces the deletion periods. Migrations run automatically at startup, Stripe handles invoicing and dunning. There is no daily routine task. Ongoing monitoring: a glance at the admin overview, which displays the worker heartbeat and calendar connections. A few minutes per week. MAINTENANCE: about 1 hour per quarter Update dependencies, run the test suite (94 tests), rebuild. CUSTOMER SUPPORT Onboarding is self-service: The practice registers, connects its calendar, prints the notice. Anyone who redeems the personal setup promised on the website should expect 15 to 30 minutes per new customer. Support mainly arises with calendar integration (CalDAV address, app password). Billing does not create any effort. Estimate: with around ten practices, 1 to 2 hours per week. SALES The real time factor - and a free choice. This is exactly where I lacked time, hence the sale. CURRENT STATUS Without customers, the effort is practically zero.
The product is finished; what I lack is the time for sales and operations. I work full-time as an IT service provider. Lückenretter was created alongside that because I believed the problem was solvable - and it is. What comes next now is something else: approaching practices, setting up appointments, addressing objections, supporting the service. To do that, I would need to build a sales operation, and that does not fit alongside my main work. What is NOT the reason: no technical problem, no outstanding claims, no legal dispute, no dissatisfied customers - there are no customers yet. The code has been tested, documented, runs in production, and according to the current status has no known vulnerabilities. As for the price: The fixed price is below what the development time would be worth - that is intentional. I would rather the product quickly gets into the hands of people who can bring it to the market than have it sit for several more months while the dependencies become outdated.
July 2026
Online store for personalized photo balloons and balloon accessories For sale is a fully established online shop specializing in personalized photo ba...
Auction ends on 07.10.2026 21:00.
Social media app and website for monetizing user-generated content This established social media app and website already has an active user base and ...
Auction ends on 01.10.2026 21:00.