View Categories

Maintenance settings, emails and developer notes

3 min read

This page lists every setting, every email the plugin sends, and the notes for developers: the REST API, the CSV files and the hooks.

Settings #

Go to Maintenance › Settings (users with manage_woocommerce). The screen has tabs: General (the settings below), Checklists, Parts, Vendors, Technicians and Statuses.

SettingWhat it doesDefault
BlockingNew tickets keep stock out until they are done. Each ticket can still be set to “Don’t block (log only)”.On
Expected dateRelease stock at the expected date even if the ticket is not done. Off: an overdue ticket keeps blocking, a day at a time, until it is closed.Off
Usual repair timePre-fills “Expected back” on new tickets. 0: until done.0 days
Problem listOne per line, shown at check-in, on new tickets and in the customer’s report form.Damaged, Not working, Missing parts, Dirty, Other
Check-in ticketsEmail the managers when check-in opens a ticket.On
Check-out guardWarn, or Block when overdue. See Checklists and the check-out guard.Warn
Failed inspectionsEmail the managers when a check-out inspection fails.On
Daily digestEmail the managers a daily summary at a store time.On, 08:00
Overdue ticketsEmail the technician and the managers the day after a ticket’s expected date.On
Customer reportsCustomers can report a problem from My Account; photos allowed; email the managers.On, 5 photos
Labour rateThe hourly rate labour lines and the timer start with. Empty: enter it on each line.Empty
Damage chargesStaff can charge the customer for damage; the tax of a charge; hold the deposit refund while undecided.On, standard rate, hold
ManagersEmail addresses, separated by commas. Empty: the site’s admin email.Empty
Ticket numbersThe prefix of new ticket numbers. Existing tickets keep theirs.MT-
Open-ended blocks reachHow far ahead a ticket without an expected date blocks, renewed every day.365 days

The Statuses tab lets you rename the statuses, choose which keep stock out, set their colour and order, and add your own.

Emails #

All emails are WooCommerce emails: edit their subject, heading and text, or switch them off, under WooCommerce › Settings › Emails, where each one also has a preview.

EmailSent toWhen
New ticket from a check-inManagersNeeds service at check-in opens a ticket
Maintenance job assignedThe technicianA ticket is assigned to them (not when they assign it to themselves)
Maintenance ticket overdueThe technician and the managersOnce, the day after a ticket’s expected date, while it is still open
Daily maintenance digestManagersOnce a day at the digest time, only when something is overdue, due back today, reported, waiting or at a vendor, or a service is due
Inspection failed at check-outManagersA unit’s check-out checklist fails
New customer reportManagersA customer reports a problem from My Account
We received your reportThe customerWith their reference, after they report a problem
Damage charge: please payThe customerA damage charge is to be paid from a link, or the saved card could not be charged
Damage charge: receiptThe customerA damage charge is paid (card, link, deposit or counter)

REST API #

The endpoints live under wc-sibooking/v1/maintenance and use the same authentication as the rest of the Rentals & Bookings REST API (see REST API overview and authentication). Each request is checked against the maintenance capabilities of the user it runs as.

EndpointWhat it does
GET, POST /maintenance/ticketsList (filters: tab, status, priority, kind, technician, product, serial, order, booking, search) and open tickets
GET, PATCH /maintenance/tickets/{id}Read and change a ticket
POST /maintenance/tickets/{id}/status, /comments, /assign, /write-off, /attachmentsMove it on, comment, assign, write off, add photos
GET /maintenance/statusesThe statuses
POST /maintenance/uploadsUpload a photo first, then pass its id with a return
GET, POST /maintenance/schedules, /maintenance/due, /maintenance/schedule-unitsService schedules, the units due, done and snooze
GET, POST /maintenance/checklists, /maintenance/inspectionsChecklists and inspections
GET, POST /maintenance/tickets/{id}/costs, /costs/{id}, /tickets/{id}/timer, /tickets/{id}/vendorCosts, the labour timer and the ticket’s vendor
GET, POST /maintenance/parts, /maintenance/vendorsThe parts and vendors lists
POST /maintenance/tickets/{id}/charge, /no-charge; /maintenance/chargesDamage charges: open, collect, counter, resend, retry, waive, refund
GET /maintenance/reports/{type}cost, downtime, utilisation, compliance, problems

The Rentals & Bookings return endpoint takes a maintenance field for Needs service:

"maintenance": {
  "serials": ["PW-04"],
  "problem": "Damaged",
  "note": "Cracked lance",
  "block": true,
  "may_charge": true,
  "priority": "high",
  "photo_ids": [5123]
}

true alone sends every unit returned to maintenance with the store’s defaults. Without serial numbers, pass quantity. A send answers with maintenance_warnings (the check-out guard) and a send or return with maintenance_inspections (checklists).

CSV #

  • Export CSV on the board: the tickets in view, one row per unit.
  • Import parts from CSV (Parts) and Import schedules from CSV (Services): each has a template, Check only first, rows matched to existing parts (SKU or name) and schedules (product, unit and name) are updated, and bad rows are listed by line. Files up to 2 MB.
  • Every report has Export CSV.

Stock and availability #

A ticket’s block is not a booking: nothing is written into your bookings or orders. It is handed to availability as a reservation of its own, and it never changes a product’s stock setting. Write off with Reduce stock by 1 is the only action that lowers the stock count.