Skip to content
Rigel docs
Open Rigel

Maintenance

The house and what's in it: equipment and parts, warranties, recurring tasks, issues and projects, contractors, visits and invoices.

Commands

  • PostAdd something to the house's recordsmaintenance.asset.addAdds an item such as an appliance, system or fixture.
  • PostAdd a photo of an itemmaintenance.asset.add_photoAttaches a photo already uploaded to the household's files: the unit, its label, damage, or anything else.
  • PostLink an item to the right modelmaintenance.asset.correct_modelLinks the item to the model with exactly this manufacturer, model number and variant, made if the household has none yet, and marks the item identified (while Rigel is looking the item up, that waits until it finishes).
  • PostDelete an item recorded by mistakemaintenance.asset.removeDeletes the item and what is only about it: its photos, facts, label readings, part fits, warranties, maintenance tasks with their history, and problems.
  • PostTake a photo off an itemmaintenance.asset.remove_photoRemoves the photo from the item.
  • PostLook an item up againmaintenance.asset.researchStarts Rigel looking the item up: reading its label and unit photos and researching its model online.
  • PostMark an item as gone or replacedmaintenance.asset.retireThe item is gone or has been replaced.
  • PostChange what's known about an itemmaintenance.asset.updateChanges only the fields given; null clears location_id, parent_id, serial, installed_on with installed_precision (together) and notes.
  • PostDelete a wrong factmaintenance.attribute.forgetDeletes the fact.
  • PostRecord a fact about an item, a model or a propertymaintenance.attribute.recordRecords one fact with how it was established.
  • PostUndo a check-offmaintenance.completion.removeDeletes a completion recorded by mistake and counts the task's next due date again from the latest one that remains (or by the first-due rules if none do).
  • PostAdd a named person at a contractormaintenance.contact.addRecords someone to ask for at a contractor, with how to reach them.
  • PostDelete a contractor's contactmaintenance.contact.removeDeletes one named person from a contractor.
  • PostChange a contractor's contactmaintenance.contact.updateSets only the fields given; null clears an optional one.
  • PostAdd a contractor the household usesmaintenance.contractor.addRecords a business: a plumber, an HVAC company, a landscaper.
  • PostDelete a contractormaintenance.contractor.removeDeletes the contractor and their contacts.
  • PostChange a contractormaintenance.contractor.updateSets only the fields given; null clears an optional one.
  • PostSave what reading a label foundmaintenance.identification.recordSaves one reading of an item's label or photo, with its evidence.
  • PostRecord a quote or an invoicemaintenance.invoice.recordRecords a quote or an invoice as the paper gives it: who, for which visit or project, the dates, the amounts and its lines.
  • PostDelete a quote or an invoicemaintenance.invoice.removeDeletes the record and its lines.
  • PostCorrect a quote or an invoicemaintenance.invoice.updateSets only the fields given; null clears an optional one.
  • PostDelete a problem recorded by mistakemaintenance.issue.removeDeletes the problem and its links to visits.
  • PostRecord a problem with the housemaintenance.issue.reportRecords something wrong: a leak, a crack, a noise.
  • PostMark a problem fixedmaintenance.issue.resolveThe problem is fixed or no longer a problem. resolved_on defaults to today; resolution says how it was fixed.
  • PostChange a problem, or watch it or reopen itmaintenance.issue.updateSets only the fields given; null clears an optional one. status may be open or monitoring (watching a symptom); setting either on a resolved problem reopens it and clears its resolved date and resolution.
  • PostAdd a placemaintenance.location.addAdds a place such as a room, a floor or the yard, inside the property's root place unless parent_id says where.
  • PostDelete a placemaintenance.location.removeDeletes a place.
  • PostRename or move a placemaintenance.location.updateChanges only the fields given.
  • PostRecord a part or consumablemaintenance.part.addRecords a replacement part or consumable, such as a furnace filter.
  • PostSay a part fits a model or an itemmaintenance.part.fitRecords that the part fits a model (so every item of it) or one item, with the evidence for it.
  • PostDelete a partmaintenance.part.removeDeletes the part, the places it was said to fit, and its links from maintenance tasks.
  • PostSay a part doesn't fit a model or an itemmaintenance.part.unfitRemoves the fit between the part and a model or an item.
  • PostChange what's known about a partmaintenance.part.updateChanges only the fields given; null clears manufacturer, part_number, description, is_oem, purchase_url and product_id.
  • PostAdd an item or a problem to a projectmaintenance.project.linkLinks exactly one of asset_id or issue_id to the project, at the same property (different_property).
  • PostAdd to a project's work logmaintenance.project.logAdds an entry to the project's running record: a note, a decision, a photo. text is required; file_id attaches a file already uploaded; noted_at (ISO 8601) is when it happened and defaults to now.
  • PostDelete a projectmaintenance.project.removeDeletes the project, its work log and its item links.
  • PostDelete a work log entrymaintenance.project.remove_entryDeletes one entry from a project's work log.
  • PostStart a projectmaintenance.project.startStarts a repair, improvement or other multi-step job. kind defaults to repair and status to planning. asset_ids and issue_ids link the items it concerns and the problems it covers (a problem belongs to at most one project, so linking moves it here).
  • PostTake an item or a problem off a projectmaintenance.project.unlinkUnlinks exactly one of asset_id or issue_id from the project.
  • PostChange a projectmaintenance.project.updateSets only the fields given; null clears an optional one.
  • PostAdd another propertymaintenance.property.addAdds a property the household looks after, such as a cabin or a rental, with its root place "House".
  • PostDelete a property and everything at itmaintenance.property.removeDeletes the property with its places, items, tasks, problems, projects, visits, invoices and services.
  • PostRename a property or set its addressmaintenance.property.updateChanges only the fields given.
  • PostRecord an ongoing servicemaintenance.service.addRecords a recurring provider and the agreed terms: a cleaner, a landscaper, pest control.
  • PostEnd an ongoing servicemaintenance.service.endThe household stopped using the service.
  • PostDelete an ongoing servicemaintenance.service.removeDeletes a service recorded by mistake.
  • PostChange an ongoing service's termsmaintenance.service.updateSets only the fields given; null clears an optional one.
  • PostAdd a recurring maintenance taskmaintenance.task.addAdds a maintenance rule for an item, a place, or the whole home (give asset_id or location_id, not both).
  • PostCheck off a maintenance taskmaintenance.task.completeRecords that the task was done (on done_on, today if left out) and moves its next due date by its rule: counted from the day it was done for tasks that repeat from completion, the next anchor date for anchored ones, the next window for seasonal ones.
  • PostOpen Tasks-app tasks for what's coming duemaintenance.task.open_dueOpens a task in the Tasks app for every active, non-optional maintenance task that is overdue or due within 14 days (or whose seasonal window is open or about to open).
  • PostDelete a maintenance taskmaintenance.task.removeDeletes the task, its history and its part links, and closes its Tasks-app task and calendar event.
  • PostPlan a day for a maintenance taskmaintenance.task.schedulePlans the day someone will do it and puts an all-day event on the household calendar.
  • PostSet the parts a maintenance task usesmaintenance.task.set_partsReplaces the task's parts and supplies with exactly the parts given; an empty list clears them.
  • PostSkip a maintenance task this timemaintenance.task.skipMoves the next due date on to the next date the rule gives, with no completion recorded.
  • PostTurn a maintenance task offmaintenance.task.turn_offTakes the task out of the list and clears its due date, without deleting it, so research doesn't propose it again.
  • PostTurn a maintenance task back onmaintenance.task.turn_onBrings the task back with a fresh due date: counted from its last completion, or by the first-due rules if it was never done, and never in the past.
  • PostTake a maintenance task off the calendarmaintenance.task.unscheduleClears the day planned for the task and removes its calendar event.
  • PostChange a maintenance taskmaintenance.task.updateChanges only the fields given; null clears a field that can be empty.
  • PostCancel a scheduled visitmaintenance.visit.cancelThe visit isn't happening.
  • PostRecord that a visit happenedmaintenance.visit.completeThe work happened.
  • PostRecord a visit that already happenedmaintenance.visit.recordCreates a visit that is already done, in one go, with the same effects as maintenance.visit.complete: each task in completes_task_ids is checked off on visited_on by the contractor, and each problem in resolves_issue_ids is resolved with the summary.
  • PostDelete a visit recorded by mistakemaintenance.visit.removeDeletes the visit, its links and its calendar event.
  • PostSchedule a contractor's visitmaintenance.visit.scheduleSomeone is coming.
  • PostReschedule or change a visitmaintenance.visit.updateSets only the fields given; null clears an optional one.
  • PostRecord an item's warrantymaintenance.warranty.addRecords coverage for an item; an item can have several.
  • PostDelete a warrantymaintenance.warranty.removeDeletes the warranty record.
  • PostChange a warrantymaintenance.warranty.updateChanges only the fields given; null clears provider, coverage and the dates.

Queries

  • GetWhere an item's facts came frommaintenance.asset.factsEvery fact row for one asset's chain (the asset, its group, its model, its group's model), current and replaced, newest first within each key, with the source it rests on and whether it is the one showing.
  • GetEverything about one itemmaintenance.asset.getOne asset: its identity, place, group and members, model, photos, specs resolved with where each came from (the asset's own, its group's, its model's), the spec keys for its kind that are Not found yet, parts that fit, warranties, maintenance tasks with when they are due, open problems, visits, label readings with the other model numbers they could be, other items with the same serial, and what replaced it or what it replaced.
  • GetThe house's itemsmaintenance.asset.listAssets (appliances, equipment, fixtures, systems), optionally for one property, place or category or matching text in the name, model number, maker, serial or place.
  • GetAsset categories and the fact keys to usemaintenance.category.listThe curated categories with their keys and the spec keys worth knowing for each (use category_key and these keys when adding assets and recording facts), the household's one-off categories, the full catalog of spec keys with units, and the property profile keys.
  • GetOne contractor's details and historymaintenance.contractor.getOne contractor with their contact details and people, recent visits, projects, quotes and invoices, ongoing services, the maintenance tasks they handle and their recent mail (up to 5 email conversations that involve the contractor or any of their people).
  • GetThe household's contractorsmaintenance.contractor.listContractors and service businesses the household uses, preferred ones first, optionally for one trade or matching text in the name, trade, phone, email or notes.
  • GetOne problem with the housemaintenance.issue.getOne problem: what it is, where, how bad, its status and dates, how it was resolved, its photo and project, and the visits that looked at it, newest first.
  • GetProblems with the housemaintenance.issue.listRepair issues, worst first.
  • GetThe state of the house at a glancemaintenance.overview.getThe properties with their asset counts, and for all of them (or one property) how many maintenance tasks are overdue, due within two weeks, due this season or later, the open problems, the active projects and the upcoming visits.
  • GetOne project's whole workspacemaintenance.project.getOne project with the items it concerns, its problems, the work log (newest first), visits, and quotes and invoices with totals by kind and currency.
  • GetRepairs and improvements under waymaintenance.project.listProjects with their status and counts.
  • GetA property's profile and its placesmaintenance.property.getOne property: its profile facts (year built, heating, water, roof… each with where it came from), the profile keys not found yet, and its places as a tree in reading order.
  • GetFind anything in the house recordsmaintenance.record.searchFinds items, models, places, contractors and projects by text: names, model numbers (punctuation and spacing ignored), serial numbers, makers and trades.
  • GetOne maintenance task in fullmaintenance.task.getThe task with its rule in words, next due date, last done, guidance, cost estimates, handling, parts, source and every completion, newest first.
  • GetMaintenance tasks, grouped by when they're duemaintenance.task.listActive, non-optional tasks in four groups, in this order: Overdue, Due in the next 2 weeks, This season, Later (usage tasks without a date are in Later, shown as Check).
  • GetOne contractor visitmaintenance.visit.getOne visit: when (the arrival window, or the day it happened), who, what for, its status, summary and notes, the items and problems it concerns, the active maintenance tasks of those items (what marking it done can check off), the tasks it already checked off, and its quotes and invoices.
  • GetContractor visits, coming or donemaintenance.visit.listVisits by date.