Skip to main content

Repair Service Workflow — Client Notifications & Post-Service Survey

When a customer's machine needs work, Blu Coffee's service team runs the job through a fixed sequence: approve the quotation, schedule a date, assign a technician, do the repair, close it out. Two parts of that sequence are now automated so the customer stays in the loop without anyone having to pick up the phone:

  • A Viber message goes out the moment a service is scheduled (and again if it's later rescheduled), telling the client who is coming and when.
  • A post-service satisfaction survey is created and Viber-linked the moment the repair is marked complete, so the client can rate the job from their phone with no login.

Both pieces ride on the same 8x8 messaging plumbing used by Auto-RFQ and Receipt Notifications.

ModuleProvides
bc17/blu_portal/portal.services request workflow, the "Set Schedule" wizard, the repair.order extensions (technician field, schedule/reschedule Viber notifications, survey trigger on completion), the blu.repair.survey model, and the public survey web page
bc17/blu_8x8/Viber delivery through the 8x8 chat-apps API

Lifecycle

The end-to-end workflow

The job moves through these stages. Stages 5 and 6 are the new automated pieces.

1. Quotation approved

Once the customer accepts the service quotation, scheduling can begin. This is a manual, off-system step (or a sales quotation) — the documentation below picks up from the service request in Odoo.

2 & 3. Supervisor sets the service date and assigns a technician

The Supervisor opens the service request and assigns both the date and the technician in one step.

Repairs → Portal Access → Services — open the request (it must be in Confirmed state) and click Set Schedule.

The Set Schedule wizard asks for:

  • Schedule Date — the date and time the technician is expected on site.
  • Technician — picked from the repair technician list (repair.technician).
  • Notes — optional.

Set Schedule wizard on a Portal Service

4. Request confirmed and updated in the system

Clicking Save on the wizard:

  • creates (or updates) the linked Repair Order with the chosen date and technician;
  • moves the service request to Scheduled.

From here the technician runs the job on the Repair Order itself — Start Repair moves it to Under Repair, End Repair moves it to Repaired.

Service request statuses

A portal.services request flows through Draft → Confirmed → Scheduled → Under Repair → Repaired (with On Hold available when a job is waiting on parts). The matching Repair Order carries the technician, the schedule date, and — once complete — the survey.

NEW — Automatic client schedule notification (Viber)

When the Set Schedule wizard is saved, the client automatically receives a Viber message. Staff do not press anything extra — saving the schedule is the trigger.

What the client receives:

Hi <Customer>,

Your service request <Repair Ref> has been scheduled.

Technician: <Technician Name>
Schedule: <Date and time>

Thank you for choosing Blu Coffee Distributors.

Reschedules are covered too

If the job is later moved — the scheduled date or the technician on the Repair Order is changed — the client automatically gets an updated message. The wording switches to "has been RESCHEDULED" so the customer can tell it apart from the first notification.

This fires whenever the Repair Order's schedule_date or technician_id is edited and the request is still active (Scheduled, On Hold, or Under Repair). It does not re-fire for completed jobs.

Each send is also logged in the Repair Order's chatter — e.g. "Schedule confirmation notification sent to 2 Viber recipient(s)." — so staff can confirm the customer was reached.

TriggerMessageWhere it fires from
Schedule first set…has been scheduled.Set Schedule wizard → Save
Date or technician changed afterwards…has been RESCHEDULED.Editing the Repair Order

Both messages as the customer sees them in Viber — the first notification, then the later reschedule:

Schedule and reschedule notifications in the customer&#39;s Viber

NEW — Post-service satisfaction survey

When the technician marks the job done — the Repair Order reaches Repaired (the End Repair button) — bc17 automatically:

  1. creates a survey record (blu.repair.survey) linked to that Repair Order;
  2. sends the client a Viber message with a link to a public survey page (no login required).

What the client receives:

Hi <Customer>,

Your service <Repair Ref> is now complete. We'd love your feedback —
it takes less than a minute:

https://blu.panville.com/portal/survey/<unique-token>

Thank you for choosing Blu Coffee Distributors.

The message the customer receives in Viber, with the tappable survey link:

Survey link message in the customer&#39;s Viber

What the client sees on the survey page

The link opens a standalone web page — it does not require a portal login. The customer answers three 1–5 star questions:

  1. Quality of work performed
  2. Technician hygiene & professionalism
  3. Overall service experience

…plus an optional free-text comment. All three star ratings are required to submit; the comment can be left blank.

Public survey page the customer fills in

After submitting, the customer sees a thank-you screen. The link is single-use per repair — opening it again after a response shows the thank-you page, so a customer cannot overwrite their own answers.

Where staff review the results

Submitted responses are stored on the survey record and are reviewable in two places.

1. The "Service Surveys" menuRepairs → Portal Access → Service Surveys. A list of every survey with its customer, technician, average rating, and status (Sent / Responded). Filter by status or group by technician or status.

Service Surveys list under Portal Access

2. The "Surveys" smart button on the Repair Order — every Repair Order form carries a star-icon Surveys smart button showing the survey count. Click it to jump straight to that job's survey.

Surveys smart button on the Repair Order form

Each survey record shows the three individual ratings, a computed Average Rating, and the customer's comments:

Survey record with ratings and comments

FieldMeaning
Repair OrderThe job the survey belongs to
Customer / TechnicianPulled from the Repair Order
Quality / Hygiene / OverallThe three 1–5 star ratings the customer gave
Average RatingMean of the three answered ratings
Additional commentsThe customer's free-text feedback (may be blank)
StatusSent (link issued, no response yet) or Responded
Sent Date / Response DateWhen the link went out, and when the customer answered

Notes / limitations

Good to know
  • Viber needs a mobile number. Both the schedule notification and the survey link are sent via Viber only if the client/contact has a mobile number on file (the customer's partner record, the linked portal user, and any extra notification recipients are all checked). If no number is found, the send is skipped and logged — the workflow still proceeds normally.
  • The survey link is unique per repair order. Each survey carries its own access token; the URL works for exactly that one job and becomes read-only once the customer has answered.
  • One survey per repair. Re-running End Repair on a job that already has a survey will not create or send a second one.
  • The survey page is public. It deliberately needs no login so customers can answer in seconds — anyone with the link can view it, so it is not a place for sensitive data.
  • Notifications are best-effort. If the 8x8 gateway or the Viber channel is unavailable, the message is skipped and logged; the schedule or repair completion itself is never blocked.

Troubleshooting

SymptomLikely cause
Client got no schedule ViberThe customer/portal contact has no mobile number — check their partner record
No "RESCHEDULED" message after a date changeThe linked service request isn't in an active state (Scheduled / On Hold / Under Repair), or the change was made with notifications suppressed
Repair completed but no survey appearedConfirm the Repair Order actually reached Repaired via End Repair; check the server log for a survey-creation error
Survey link shows "not found"The token is wrong or the survey record was deleted
Survey link shows the thank-you pageThe customer has already responded — the link is single-use
Survey sent but Surveys smart button shows 0The survey is linked to a different Repair Order — confirm via Service Surveys which Repair Order it points to