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 records
maintenance.asset.addAdds an item such as an appliance, system or fixture. - PostAdd a photo of an item
maintenance.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 model
maintenance.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 mistake
maintenance.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 item
maintenance.asset.remove_photoRemoves the photo from the item. - PostLook an item up again
maintenance.asset.researchStarts Rigel looking the item up: reading its label and unit photos and researching its model online. - PostMark an item as gone or replaced
maintenance.asset.retireThe item is gone or has been replaced. - PostChange what's known about an item
maintenance.asset.updateChanges only the fields given; null clears location_id, parent_id, serial, installed_on with installed_precision (together) and notes. - PostDelete a wrong fact
maintenance.attribute.forgetDeletes the fact. - PostRecord a fact about an item, a model or a property
maintenance.attribute.recordRecords one fact with how it was established. - PostUndo a check-off
maintenance.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 contractor
maintenance.contact.addRecords someone to ask for at a contractor, with how to reach them. - PostDelete a contractor's contact
maintenance.contact.removeDeletes one named person from a contractor. - PostChange a contractor's contact
maintenance.contact.updateSets only the fields given; null clears an optional one. - PostAdd a contractor the household uses
maintenance.contractor.addRecords a business: a plumber, an HVAC company, a landscaper. - PostDelete a contractor
maintenance.contractor.removeDeletes the contractor and their contacts. - PostChange a contractor
maintenance.contractor.updateSets only the fields given; null clears an optional one. - PostSave what reading a label found
maintenance.identification.recordSaves one reading of an item's label or photo, with its evidence. - PostRecord a quote or an invoice
maintenance.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 invoice
maintenance.invoice.removeDeletes the record and its lines. - PostCorrect a quote or an invoice
maintenance.invoice.updateSets only the fields given; null clears an optional one. - PostDelete a problem recorded by mistake
maintenance.issue.removeDeletes the problem and its links to visits. - PostRecord a problem with the house
maintenance.issue.reportRecords something wrong: a leak, a crack, a noise. - PostMark a problem fixed
maintenance.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 it
maintenance.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 place
maintenance.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 place
maintenance.location.removeDeletes a place. - PostRename or move a place
maintenance.location.updateChanges only the fields given. - PostRecord a part or consumable
maintenance.part.addRecords a replacement part or consumable, such as a furnace filter. - PostSay a part fits a model or an item
maintenance.part.fitRecords that the part fits a model (so every item of it) or one item, with the evidence for it. - PostDelete a part
maintenance.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 item
maintenance.part.unfitRemoves the fit between the part and a model or an item. - PostChange what's known about a part
maintenance.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 project
maintenance.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 log
maintenance.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 project
maintenance.project.removeDeletes the project, its work log and its item links. - PostDelete a work log entry
maintenance.project.remove_entryDeletes one entry from a project's work log. - PostStart a project
maintenance.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 project
maintenance.project.unlinkUnlinks exactly one of asset_id or issue_id from the project. - PostChange a project
maintenance.project.updateSets only the fields given; null clears an optional one. - PostAdd another property
maintenance.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 it
maintenance.property.removeDeletes the property with its places, items, tasks, problems, projects, visits, invoices and services. - PostRename a property or set its address
maintenance.property.updateChanges only the fields given. - PostRecord an ongoing service
maintenance.service.addRecords a recurring provider and the agreed terms: a cleaner, a landscaper, pest control. - PostEnd an ongoing service
maintenance.service.endThe household stopped using the service. - PostDelete an ongoing service
maintenance.service.removeDeletes a service recorded by mistake. - PostChange an ongoing service's terms
maintenance.service.updateSets only the fields given; null clears an optional one. - PostAdd a recurring maintenance task
maintenance.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 task
maintenance.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 due
maintenance.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 task
maintenance.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 task
maintenance.task.schedulePlans the day someone will do it and puts an all-day event on the household calendar. - PostSet the parts a maintenance task uses
maintenance.task.set_partsReplaces the task's parts and supplies with exactly the parts given; an empty list clears them. - PostSkip a maintenance task this time
maintenance.task.skipMoves the next due date on to the next date the rule gives, with no completion recorded. - PostTurn a maintenance task off
maintenance.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 on
maintenance.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 calendar
maintenance.task.unscheduleClears the day planned for the task and removes its calendar event. - PostChange a maintenance task
maintenance.task.updateChanges only the fields given; null clears a field that can be empty. - PostCancel a scheduled visit
maintenance.visit.cancelThe visit isn't happening. - PostRecord that a visit happened
maintenance.visit.completeThe work happened. - PostRecord a visit that already happened
maintenance.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 mistake
maintenance.visit.removeDeletes the visit, its links and its calendar event. - PostSchedule a contractor's visit
maintenance.visit.scheduleSomeone is coming. - PostReschedule or change a visit
maintenance.visit.updateSets only the fields given; null clears an optional one. - PostRecord an item's warranty
maintenance.warranty.addRecords coverage for an item; an item can have several. - PostDelete a warranty
maintenance.warranty.removeDeletes the warranty record. - PostChange a warranty
maintenance.warranty.updateChanges only the fields given; null clears provider, coverage and the dates.
Queries
- GetWhere an item's facts came from
maintenance.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 item
maintenance.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 items
maintenance.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 use
maintenance.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 history
maintenance.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 contractors
maintenance.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 house
maintenance.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 house
maintenance.issue.listRepair issues, worst first. - GetThe state of the house at a glance
maintenance.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 workspace
maintenance.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 way
maintenance.project.listProjects with their status and counts. - GetA property's profile and its places
maintenance.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 records
maintenance.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 full
maintenance.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 due
maintenance.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 visit
maintenance.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 done
maintenance.visit.listVisits by date.