1
How to add a service (category required)
⚠️ Warning: You cannot add a service without selecting a category. The category is required — this is how clients find you. Without a category the service will not be saved.
- In the sidebar click 🛠️ Services → /dashboard/services.
- Click „Add new service” → /dashboard/services/new.
- First select a category from the list (plumber, electrician, hairdresser, mechanic, tutoring, cleaning, other). This field is required and is at the top of the form.
- Service name — e.g. 'Solar panel installation', 'Drain unblocking'.
- Description — write what exactly the service includes, what experience you have.
- Pricing type — choose hourly, per visit, range (from–to), per m² Details are in the next step.
- Price — fields change depending on the pricing type (e.g. for range you enter price from and price to).
- Duration (min) — default 60 min, change in 15 min steps.
- Additional options (collapsible) — minimum order, travel fee, free estimate, VAT included.
- Click 'Add service'.
💡 Tip: The FREE plan allows up to 3 services. If you need more — upgrade to Premium at /dashboard/subscription.
2
Pricing types — how to price a service
Not everything can be priced "per hour". That's why the service form lets you pick a pricing type that fits what you do. The client sees the price in the format that matches that type.
| Type | When to use | How the client sees it |
|---|---|---|
| Per hour | Small repairs, tutoring, time-based services | 120 PLN/h |
| Per visit / flat fee | Flat price per visit regardless of time — e.g. seal replacement, boiler inspection | 150 PLN/visit |
| Price range (from–to) | Renovations where you can't give an exact quote — you set min and max | 3000–8000 PLN |
| Per m² | Painting, flooring, cleaning, tiling — per square meter rate | 25 PLN/m² |
| Custom quote | Complex work requiring inspection — the client gets a quote after contact | "Custom quote" |
Additional options (independent of pricing type)
- Minimum order value — e.g. "min. 200 PLN". Protects you against small jobs that don't cover your travel.
- Travel fee — if it's not included in the price, list it separately (e.g. 50 PLN).
- Free estimate — check this if on-site estimates are free. Useful for ranges and custom quotes.
- Prices include VAT — on by default. Uncheck if you quote net prices.
💡 Tip: You can change the pricing type anytime by editing the service. The client always sees the current format — existing bookings are not affected.
3
How to fill in your availability calendar
- In the sidebar click 📅 Calendar → /dashboard/availability.
- You will see a weekly view. By default the calendar opens at 8:00 AM (on mobile it uses a card view by day).
- Click an empty time slot on the day/time you want to make available. A window 'Add available appointment' will open.
- Set: date, start and end time, service (which you offer in this slot), visit type (at client or at provider).
- Recurrence — choose 'none', 'weekly' or 'monthly' if you want to generate a series of appointments for upcoming weeks.
- Click 'Add'. The appointment will appear in the calendar as available (green background).
💡 Tip: When a client books an appointment, it changes color: blue = confirmed, red = waiting for your approval, gray = past.
4
How to confirm bookings from clients
- After entering /dashboard you will see at the top a section '🔔 New booking request' with each pending booking.
- The number of pending bookings is also shown as a badge next to 📅 Calendar in the sidebar.
- Click 'Check in calendar →' — this takes you directly to that day in the calendar, with the booking highlighted (pulsing animation).
- Click on the booking — a modal will open with details: client, service, date, time, location type (and address, if at client).
- Choose one of three actions:
- ✅ Confirm — status changes to CONFIRMED, client receives SMS/email.
- ❌ Reject — enter a reason, client receives SMS with explanation.
- 💬 Suggest another time — datepicker, message to client. Client decides whether to accept the new time.
5
How to browse jobs and use filters
- In the sidebar click 📝 Jobs → /jobs. You will see open jobs from clients.
- The list has filters:
- Category — list of all categories in which you have services. This way you only see jobs you can handle.
- Status — OPEN (open, waiting for offer), MY_OFFERS (those you already submitted an offer for), ALL.
- Distance — if you have geolocation enabled, sorts by km from you.
- Jobs tagged 🔴 URGENT are always displayed at the top — these are Premium clients who pay for instant notifications.
- Also on /dashboard you have a section 'Nearby jobs' — a shortcut to jobs matching your categories.
6
How to submit an offer on a job
- Click a job from the /jobs list — the detail /jobs/{id} will open.
- At the top you will see the title, category, location, budget range, preferred date and full problem description. If the client added photos — they are displayed below.
- Below the description is a form 'Submit an offer for this job'. Fill in:
- Price (PLN) — required, above 0.
- Proposed date — datepicker (optional).
- Proposed time — HH:MM (optional).
- Message — write why you, what you offer, how long it will take.
- Click 'Send offer'. The client receives a notification in the app, SMS and email (if their plan includes it).
- If the client accepts your offer — you will receive SMS/email, the job status changes to IN_PROGRESS, and an appointment is automatically created in your calendar on the proposed date.
⚠️ The number of offers per month is limited by your plan (field max_offers_per_job). If you exhaust the limit, the offer form will be locked until the next month or plan upgrade.
7
Bookings — list & management
- In the sidebar click 📋 Bookings → /dashboard/bookings.
- You will see upcoming bookings (with count badge) and history (past).
- Each booking shows:
- Service name and price
- Date and time
- Client details — name, email (click to write), phone (click to call)
- Address (if mobile visit)
- Status: Confirmed / Pending / Rejected / Cancelled
- Available actions:
- Confirm — changes status to CONFIRMED, client receives notification
- Cancel/Reject — click, enter reason, confirm. Client receives SMS/email with explanation
- Message — opens real-time chat with client
- Generate invoice — creates invoice and automatically sends it to client's email
💡 Tip: You can do the same from the 📅 Calendar — click on a booking, the modal opens with the same actions. The Bookings tab is simply a more readable list.
8
Invoices
- In the sidebar click 🧾 Invoices → /dashboard/invoices.
- You will see a list of all issued invoices with:
- Invoice number (e.g. FV/2026/04/001)
- Net amount, VAT, gross
- Status (Issued / Paid)
- Link to PDF
- Issuing an invoice — go to Bookings, next to a confirmed booking click 'Generate invoice & send by email'.
- The invoice is generated automatically with data: your NIP, client's NIP (if provided), service name, amount.
- If the service has 'Price includes VAT' checked — the system calculates net from gross (e.g. 300 PLN gross → 243.90 net + 56.10 VAT). If not — VAT is added on top.
- After generation the invoice is automatically sent to the client's email with a link to PDF.
💡 Tip: You can also issue invoices from the job details page (for completed jobs from the job board).
9
Work Portfolio
- On /dashboard (panel main page) you will find the section 📸 Work Portfolio.
- Click 'Choose file', add a description (optional) and assign to a specific service (optional).
- Click 'Add photo' — the file will be uploaded (max 5 MB, JPG/PNG/WebP).
- Photos appear on your public profile (/catalog/provider/ID) in the 'Work Portfolio' section with lightbox preview.
- To delete a photo — hover over it and click ×.
💡 Tip: Work photos build trust more than text reviews. Add at least 3-5 photos of your best work.
10
Editing your professional profile
- Click your avatar in the top right corner → 'Edit profile'. (/profile/edit).
- In addition to standard fields (name, phone, address), as a professional fill in:
- NIP, REGON — company data (auto-fetched from GUS during registration).
- Company description — your business card for clients.
- Operating area — voivodeships where you work.
- Work portfolio — up to 10 photos (shown on your public profile).
- Profile photo — your photo or company logo.
- Save changes. Your public profile updates immediately.
11
Subscription — limits and what Premium gives you
As a professional you have a plan with specific limits. You can see them at /dashboard/subscription.
| Plan field | What it means |
|---|---|
| max_services | Maximum number of services (FREE = 3, PRO = unlimited) |
| max_offers_per_job | How many offers you can submit per month |
| sms_notifications | Whether you receive SMS notifications (new booking, offer accepted) |
| email_notifications | Whether you receive emails about the same events |
| priority_listing | Whether you rank higher in the catalog (Premium = yes) |
| verified_badge | Whether you have the green 'Verified' badge (Premium) |
12
How to respond to reviews
- On /dashboard, in the 'Recent reviews' section, you will see up to 3 latest ratings from clients.
- Below each rating (if you haven't replied yet) there is a text field and a 'Reply' button.
- Write a reply — the client will see it under their comment, others too (on your public profile).
- A professional response to a negative review often builds more trust than 10 positive reviews.