{
  "exportedAt": "2026-07-06T04:11:50.145Z",
  "tenant": {
    "id": "cmr813t3y003rokw9mheg7sm3",
    "slug": "delaney-electrical",
    "name": "Delaney Electrical Ltd",
    "tradeVertical": "Electrician",
    "county": "Dublin",
    "contactName": "Mick Delaney",
    "contactEmail": "mick@delaneyelectrical.ie",
    "contactPhone": "087 234 5678",
    "planId": "cmr813t11003pokw9cfcvkxor",
    "billingInterval": "MONTHLY",
    "seatsUsed": 3,
    "status": "ACTIVE",
    "comped": false,
    "paymentStatus": "OK",
    "hasWorkspace": true,
    "signupDate": "2025-05-11T08:00:00.000Z",
    "trialEndsAt": null,
    "churnedAt": null,
    "lastActiveAt": "2026-07-05T07:00:00.000Z",
    "jobs30d": 14,
    "invoices30d": 9,
    "logins30d": 61,
    "errors30d": 0,
    "createdAt": "2026-07-05T16:51:59.902Z",
    "billingEvents": [
      {
        "id": "cmr813tl50043okw9xfy83p8y",
        "tenantId": "cmr813t3y003rokw9mheg7sm3",
        "type": "CHARGE",
        "amount": 99,
        "description": "Initial subscription — Team",
        "mrrDelta": 99,
        "actorName": null,
        "createdAt": "2025-05-11T08:00:00.000Z"
      },
      {
        "id": "cmr813tl7004hokw98xugatjp",
        "tenantId": "cmr813t3y003rokw9mheg7sm3",
        "type": "CHARGE",
        "amount": 99,
        "description": "Monthly subscription — Team",
        "mrrDelta": null,
        "actorName": null,
        "createdAt": "2026-07-02T08:00:00.000Z"
      }
    ],
    "tickets": [
      {
        "id": "cmr813udj0051okw9z7steuyo",
        "ticketNumber": 102,
        "tenantId": "cmr813t3y003rokw9mheg7sm3",
        "subject": "Invoice INV-3002 didn't send to customer",
        "status": "OPEN",
        "priority": "NORMAL",
        "assigneeId": "cmr813sjp003lokw9hwumldqj",
        "createdAt": "2026-07-04T08:00:00.000Z",
        "updatedAt": "2026-07-05T16:52:01.543Z",
        "messages": [
          {
            "id": "cmr813uen0052okw9yhsq64h8",
            "ticketId": "cmr813udj0051okw9z7steuyo",
            "from": "CUSTOMER",
            "authorName": "Mick Delaney",
            "body": "Sent INV-3002 to Cathal Murphy last week and he swears he never got it. Can you check if it actually went out? He's usually good to pay.",
            "createdAt": "2026-07-04T08:00:00.000Z"
          }
        ]
      }
    ],
    "flagOverrides": [
      {
        "id": "cmr813u25004wokw96e81jyuq",
        "flagId": "cmr813tto004rokw9awzaf1m3",
        "tenantId": "cmr813t3y003rokw9mheg7sm3",
        "enabled": true,
        "flag": {
          "id": "cmr813tto004rokw9awzaf1m3",
          "key": "ai_quoting",
          "name": "AI quote drafting",
          "description": "Voice/photo-to-draft-quote. Phase 3 headline feature — beta cohort only.",
          "state": "BETA"
        }
      }
    ]
  },
  "workspace": {
    "customers": [
      {
        "id": "cmr813o98000sokw9qpa59sut",
        "name": "Aoife Kavanagh",
        "phone": "086 123 4567",
        "email": "aoife.kav@gmail.com",
        "address": "14 Griffith Avenue, Drumcondra, Dublin 9",
        "eircode": "D09 X2W4",
        "referralSource": "Google",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.612Z",
        "activities": []
      },
      {
        "id": "cmr813oai000tokw9st4paub3",
        "name": "Tom Brennan",
        "phone": "087 998 1122",
        "email": "tbrennan@eircom.net",
        "address": "7 Seapark Road, Clontarf, Dublin 3",
        "eircode": "D03 E5P2",
        "referralSource": "Repeat customer",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.658Z",
        "activities": []
      },
      {
        "id": "cmr813obs000uokw9ecyrd6yd",
        "name": "Niamh O'Sullivan",
        "phone": "085 456 7890",
        "email": "niamh.osullivan@outlook.ie",
        "address": "22 The Rise, Glasnevin, Dublin 11",
        "eircode": "D11 KV83",
        "referralSource": "Word of mouth",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.704Z",
        "activities": []
      },
      {
        "id": "cmr813odc000vokw9axgtyeov",
        "name": "Cathal Murphy",
        "phone": "086 777 8899",
        "email": "cathal@murphyproperty.ie",
        "address": "3 Vernon Grove, Raheny, Dublin 5",
        "eircode": "D05 P8K1",
        "referralSource": "Facebook",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.761Z",
        "activities": []
      },
      {
        "id": "cmr813oef000wokw93v3gidxd",
        "name": "Sinéad Farrell",
        "phone": "087 321 6540",
        "email": "sineadfarrell1@gmail.com",
        "address": "89 Collins Avenue, Whitehall, Dublin 9",
        "eircode": "D09 T6N7",
        "referralSource": "Google",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.799Z",
        "activities": []
      },
      {
        "id": "cmr813og8000xokw9njgjbhcs",
        "name": "Greenline Café",
        "phone": "01 833 4455",
        "email": "manager@greenlinecafe.ie",
        "address": "Unit 2, Main Street, Malahide, Co. Dublin",
        "eircode": "K36 Y822",
        "referralSource": "Referral — accountant",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.864Z",
        "activities": []
      },
      {
        "id": "cmr813ohc000yokw9slqerf7z",
        "name": "Pádraig Whelan",
        "phone": "086 202 3040",
        "email": "pwhelan22@gmail.com",
        "address": "41 Castle Avenue, Swords, Co. Dublin",
        "eircode": "K67 A2F8",
        "referralSource": "Word of mouth",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.904Z",
        "activities": []
      },
      {
        "id": "cmr813oj2000zokw9mgppq7h8",
        "name": "Emma Doyle",
        "phone": "085 606 7080",
        "email": "emmadoyle@hotmail.com",
        "address": "12 Brookwood Rise, Artane, Dublin 5",
        "eircode": "D05 W3R9",
        "referralSource": "Repeat customer",
        "notes": null,
        "createdAt": "2026-07-05T16:51:53.966Z",
        "activities": []
      },
      {
        "id": "cmr813okd0010okw9no7fk94m",
        "name": "Ravenwood Property Mgmt",
        "phone": "01 555 0192",
        "email": "maintenance@ravenwood.ie",
        "address": "Suite 4, Northwood Court, Santry, Dublin 9",
        "eircode": "D09 C7X3",
        "referralSource": "Referral — letting agent",
        "notes": null,
        "createdAt": "2026-07-05T16:51:54.013Z",
        "activities": []
      },
      {
        "id": "cmr813olw0011okw9om92kun4",
        "name": "Liam Conroy",
        "phone": "087 454 5456",
        "email": "liamconroy9@gmail.com",
        "address": "5 Ashford Close, Portmarnock, Co. Dublin",
        "eircode": "D13 H2T6",
        "referralSource": "Google",
        "notes": null,
        "createdAt": "2026-07-05T16:51:54.068Z",
        "activities": []
      }
    ],
    "jobs": [
      {
        "id": "cmr813ooq0012okw9q9kw35sh",
        "jobNumber": 1001,
        "title": "Full house rewire — 3-bed semi",
        "description": "Full rewire including new consumer unit, smoke alarms to current regs, Safe Electric cert on completion.",
        "jobType": "Rewire",
        "status": "PAID",
        "siteAddress": "7 Seapark Road, Clontarf, Dublin 3",
        "customerId": "cmr813oai000tokw9st4paub3",
        "teamMemberId": "cmr813o20000pokw9srldpibf",
        "templateId": null,
        "scheduledStart": "2026-05-28T07:00:00.000Z",
        "scheduledEnd": "2026-06-04T16:00:00.000Z",
        "completedAt": "2026-06-04T08:00:00.000Z",
        "createdAt": "2026-05-11T08:00:00.000Z",
        "quote": {
          "id": "cmr813opt0013okw96qvvtubk",
          "quoteNumber": 2001,
          "jobId": "cmr813ooq0012okw9q9kw35sh",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-05-14T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-05-18T08:00:00.000Z",
          "publicToken": "cmr813opt0014okw9hsy1gz65",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813ork0015okw9o51ysbpl",
              "quoteId": "cmr813opt0013okw96qvvtubk",
              "kind": "LABOUR",
              "description": "Labour — full rewire, 2 electricians, 6 days",
              "qty": 96,
              "unitPrice": 55,
              "sortOrder": 0
            },
            {
              "id": "cmr813ork0016okw9sro18fh8",
              "quoteId": "cmr813opt0013okw96qvvtubk",
              "kind": "MATERIALS",
              "description": "Cable, back boxes, sockets, switches (supply)",
              "qty": 1,
              "unitPrice": 1850,
              "sortOrder": 1
            },
            {
              "id": "cmr813ork0017okw9xs4ombff",
              "quoteId": "cmr813opt0013okw96qvvtubk",
              "kind": "MATERIALS",
              "description": "Consumer unit — Hager 12-way, surge protection",
              "qty": 1,
              "unitPrice": 320,
              "sortOrder": 2
            },
            {
              "id": "cmr813ork0018okw9ufmemyw6",
              "quoteId": "cmr813opt0013okw96qvvtubk",
              "kind": "OTHER",
              "description": "Interlinked smoke/heat alarms x4",
              "qty": 4,
              "unitPrice": 85,
              "sortOrder": 3
            },
            {
              "id": "cmr813ork0019okw9dym1a4sh",
              "quoteId": "cmr813opt0013okw96qvvtubk",
              "kind": "OTHER",
              "description": "Safe Electric completion cert",
              "qty": 1,
              "unitPrice": 0,
              "sortOrder": 4
            }
          ]
        },
        "invoices": [
          {
            "id": "cmr813p03001iokw9de2zbf4d",
            "invoiceNumber": 3001,
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "type": "FULL",
            "status": "PAID",
            "vatRate": 13.5,
            "issueDate": "2026-06-05T08:00:00.000Z",
            "dueDate": "2026-06-19T08:00:00.000Z",
            "voidedAt": null,
            "voidReason": null,
            "notes": null,
            "lineItems": [
              {
                "id": "cmr813p1d001jokw95rt4s0yx",
                "invoiceId": "cmr813p03001iokw9de2zbf4d",
                "kind": "LABOUR",
                "description": "Labour — full rewire, 2 electricians, 6 days",
                "qty": 96,
                "unitPrice": 55,
                "sortOrder": 0
              },
              {
                "id": "cmr813p1d001kokw9ce46z25k",
                "invoiceId": "cmr813p03001iokw9de2zbf4d",
                "kind": "MATERIALS",
                "description": "Cable, back boxes, sockets, switches (supply)",
                "qty": 1,
                "unitPrice": 1850,
                "sortOrder": 1
              },
              {
                "id": "cmr813p1d001lokw90qbijxrb",
                "invoiceId": "cmr813p03001iokw9de2zbf4d",
                "kind": "MATERIALS",
                "description": "Consumer unit — Hager 12-way, surge protection",
                "qty": 1,
                "unitPrice": 320,
                "sortOrder": 2
              },
              {
                "id": "cmr813p1d001mokw9j05hdet7",
                "invoiceId": "cmr813p03001iokw9de2zbf4d",
                "kind": "OTHER",
                "description": "Interlinked smoke/heat alarms x4",
                "qty": 4,
                "unitPrice": 85,
                "sortOrder": 3
              }
            ],
            "payments": [
              {
                "id": "cmr813p5t001nokw907yghmaa",
                "invoiceId": "cmr813p03001iokw9de2zbf4d",
                "amount": 8841.65,
                "method": "TRANSFER",
                "reference": "BRENNAN REWIRE",
                "paidAt": "2026-06-14T08:00:00.000Z"
              }
            ]
          }
        ],
        "materials": [
          {
            "id": "cmr813osn001aokw9t5fne47e",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "description": "2.5mm T&E cable 100m x8",
            "supplier": "Chadwicks Coolock",
            "qty": 8,
            "unitCost": 68,
            "createdAt": "2026-07-05T16:51:54.311Z"
          },
          {
            "id": "cmr813osn001bokw9rn05ktl2",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "description": "1.5mm T&E cable 100m x5",
            "supplier": "Chadwicks Coolock",
            "qty": 5,
            "unitCost": 48,
            "createdAt": "2026-07-05T16:51:54.311Z"
          },
          {
            "id": "cmr813osn001cokw93z7dugna",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "description": "Hager consumer unit 12-way + SPD",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 205,
            "createdAt": "2026-07-05T16:51:54.311Z"
          },
          {
            "id": "cmr813osn001dokw98l06kidb",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "description": "Sockets/switches/back boxes job lot",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 640,
            "createdAt": "2026-07-05T16:51:54.311Z"
          },
          {
            "id": "cmr813osn001eokw9a9iaykvo",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "description": "Aico interlinked alarms",
            "supplier": "Screwfix",
            "qty": 4,
            "unitCost": 52,
            "createdAt": "2026-07-05T16:51:54.311Z"
          }
        ],
        "timeEntries": [
          {
            "id": "cmr813oug001fokw9g11cdjaw",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "teamMemberId": "cmr813o20000pokw9srldpibf",
            "date": "2026-05-29T08:00:00.000Z",
            "hours": 48,
            "notes": "Week 1 — first fix"
          },
          {
            "id": "cmr813oug001gokw9huobbe08",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "teamMemberId": "cmr813o20000qokw9flqr1b27",
            "date": "2026-05-29T08:00:00.000Z",
            "hours": 48,
            "notes": "Week 1 — first fix"
          },
          {
            "id": "cmr813oug001hokw9c2prln70",
            "jobId": "cmr813ooq0012okw9q9kw35sh",
            "teamMemberId": "cmr813o20000rokw9v1gfucyx",
            "date": "2026-06-02T08:00:00.000Z",
            "hours": 24,
            "notes": "Second fix + snagging"
          }
        ]
      },
      {
        "id": "cmr813p8n001ookw9xk3ibpdr",
        "jobNumber": 1002,
        "title": "EV charger install — Zappi 7kW",
        "description": "Supply and install Zappi 7kW on driveway wall, ~9m cable run from board. SEAI grant paperwork provided.",
        "jobType": "EV charger install",
        "status": "INVOICED",
        "siteAddress": "3 Vernon Grove, Raheny, Dublin 5",
        "customerId": "cmr813odc000vokw9axgtyeov",
        "teamMemberId": "cmr813o20000qokw9flqr1b27",
        "templateId": null,
        "scheduledStart": "2026-05-24T08:00:00.000Z",
        "scheduledEnd": "2026-05-24T14:00:00.000Z",
        "completedAt": "2026-05-24T08:00:00.000Z",
        "createdAt": "2026-05-16T08:00:00.000Z",
        "quote": {
          "id": "cmr813p9v001pokw99ibzyxka",
          "quoteNumber": 2002,
          "jobId": "cmr813p8n001ookw9xk3ibpdr",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-05-18T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-05-20T08:00:00.000Z",
          "publicToken": "cmr813p9v001qokw9nbwbdjp0",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813pbi001rokw914gsp0mk",
              "quoteId": "cmr813p9v001pokw99ibzyxka",
              "kind": "MATERIALS",
              "description": "Zappi 7kW charger (white, tethered)",
              "qty": 1,
              "unitPrice": 895,
              "sortOrder": 0
            },
            {
              "id": "cmr813pbi001sokw9et8f86vg",
              "quoteId": "cmr813p9v001pokw99ibzyxka",
              "kind": "LABOUR",
              "description": "Installation incl. cable run and commissioning",
              "qty": 1,
              "unitPrice": 380,
              "sortOrder": 1
            },
            {
              "id": "cmr813pbi001tokw95jfhx6vt",
              "quoteId": "cmr813p9v001pokw99ibzyxka",
              "kind": "OTHER",
              "description": "SEAI grant cert + paperwork",
              "qty": 1,
              "unitPrice": 0,
              "sortOrder": 2
            }
          ]
        },
        "invoices": [
          {
            "id": "cmr813pk0001yokw96xuj5pvc",
            "invoiceNumber": 3002,
            "jobId": "cmr813p8n001ookw9xk3ibpdr",
            "type": "FULL",
            "status": "SENT",
            "vatRate": 13.5,
            "issueDate": "2026-05-26T08:00:00.000Z",
            "dueDate": "2026-06-09T08:00:00.000Z",
            "voidedAt": null,
            "voidReason": null,
            "notes": null,
            "lineItems": [
              {
                "id": "cmr813pl6001zokw9t1ircybm",
                "invoiceId": "cmr813pk0001yokw96xuj5pvc",
                "kind": "MATERIALS",
                "description": "Zappi 7kW charger (white, tethered)",
                "qty": 1,
                "unitPrice": 895,
                "sortOrder": 0
              },
              {
                "id": "cmr813pl60020okw9gftuetzx",
                "invoiceId": "cmr813pk0001yokw96xuj5pvc",
                "kind": "LABOUR",
                "description": "Installation incl. cable run and commissioning",
                "qty": 1,
                "unitPrice": 380,
                "sortOrder": 1
              }
            ],
            "payments": []
          }
        ],
        "materials": [
          {
            "id": "cmr813pcn001uokw95chxdiup",
            "jobId": "cmr813p8n001ookw9xk3ibpdr",
            "description": "Zappi 7kW tethered",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 720,
            "createdAt": "2026-07-05T16:51:55.031Z"
          },
          {
            "id": "cmr813pcn001vokw9ayk0ys28",
            "jobId": "cmr813p8n001ookw9xk3ibpdr",
            "description": "6mm SWA cable 10m + glands",
            "supplier": "Chadwicks Coolock",
            "qty": 1,
            "unitCost": 84,
            "createdAt": "2026-07-05T16:51:55.031Z"
          },
          {
            "id": "cmr813pcn001wokw941w5on3t",
            "jobId": "cmr813p8n001ookw9xk3ibpdr",
            "description": "Type A RCBO + henley block",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 46,
            "createdAt": "2026-07-05T16:51:55.031Z"
          }
        ],
        "timeEntries": [
          {
            "id": "cmr813peb001xokw99mdbbt33",
            "jobId": "cmr813p8n001ookw9xk3ibpdr",
            "teamMemberId": "cmr813o20000qokw9flqr1b27",
            "date": "2026-05-24T08:00:00.000Z",
            "hours": 6,
            "notes": "Install + commissioning"
          }
        ]
      },
      {
        "id": "cmr813psk0022okw9wkjam0rm",
        "jobNumber": 1003,
        "title": "Kitchen upgrade — 3-phase for new ovens",
        "description": "New 3-phase supply to kitchen, isolators for 2 ovens, extraction interlock, RCD protection throughout.",
        "jobType": "Other",
        "status": "INVOICED",
        "siteAddress": "Unit 2, Main Street, Malahide, Co. Dublin",
        "customerId": "cmr813og8000xokw9njgjbhcs",
        "teamMemberId": "cmr813o20000pokw9srldpibf",
        "templateId": null,
        "scheduledStart": "2026-06-23T06:00:00.000Z",
        "scheduledEnd": "2026-06-25T15:00:00.000Z",
        "completedAt": "2026-06-25T08:00:00.000Z",
        "createdAt": "2026-06-07T08:00:00.000Z",
        "quote": {
          "id": "cmr813pto0023okw9sid4iz0k",
          "quoteNumber": 2003,
          "jobId": "cmr813psk0022okw9wkjam0rm",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-06-10T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-06-13T08:00:00.000Z",
          "publicToken": "cmr813pto0024okw9yuhbrm39",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813pve0025okw91qpnjh1y",
              "quoteId": "cmr813pto0023okw9sid4iz0k",
              "kind": "LABOUR",
              "description": "Labour — 3-phase distribution + isolators, 2.5 days",
              "qty": 40,
              "unitPrice": 58,
              "sortOrder": 0
            },
            {
              "id": "cmr813pve0026okw91oc97had",
              "quoteId": "cmr813pto0023okw9sid4iz0k",
              "kind": "MATERIALS",
              "description": "3-phase board, SWA, isolators, contactor",
              "qty": 1,
              "unitPrice": 1240,
              "sortOrder": 1
            },
            {
              "id": "cmr813pve0027okw9rotcxxiy",
              "quoteId": "cmr813pto0023okw9sid4iz0k",
              "kind": "CALLOUT",
              "description": "Out-of-hours works (Sunday close-down)",
              "qty": 1,
              "unitPrice": 250,
              "sortOrder": 2
            }
          ]
        },
        "invoices": [
          {
            "id": "cmr813q3x002dokw9jde7vuke",
            "invoiceNumber": 3003,
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "type": "DEPOSIT",
            "status": "PAID",
            "vatRate": 13.5,
            "issueDate": "2026-06-13T08:00:00.000Z",
            "dueDate": "2026-06-20T08:00:00.000Z",
            "voidedAt": null,
            "voidReason": null,
            "notes": null,
            "lineItems": [
              {
                "id": "cmr813q56002eokw9g9nrcwri",
                "invoiceId": "cmr813q3x002dokw9jde7vuke",
                "kind": "OTHER",
                "description": "Deposit (25%) — Kitchen upgrade",
                "qty": 1,
                "unitPrice": 943.5,
                "sortOrder": 0
              }
            ],
            "payments": [
              {
                "id": "cmr813q9m002fokw9hyaogfe3",
                "invoiceId": "cmr813q3x002dokw9jde7vuke",
                "amount": 1070.87,
                "method": "CARD",
                "reference": "Card terminal — 4471",
                "paidAt": "2026-07-03T08:00:00.000Z"
              }
            ]
          },
          {
            "id": "cmr813qch002gokw9jalzfqjh",
            "invoiceNumber": 3004,
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "type": "BALANCE",
            "status": "SENT",
            "vatRate": 13.5,
            "issueDate": "2026-06-26T08:00:00.000Z",
            "dueDate": "2026-07-10T08:00:00.000Z",
            "voidedAt": null,
            "voidReason": null,
            "notes": null,
            "lineItems": [
              {
                "id": "cmr813qdm002hokw9l4gwpkfs",
                "invoiceId": "cmr813qch002gokw9jalzfqjh",
                "kind": "LABOUR",
                "description": "Labour — 3-phase distribution + isolators, 2.5 days",
                "qty": 40,
                "unitPrice": 58,
                "sortOrder": 0
              },
              {
                "id": "cmr813qdm002iokw9dpicc4ul",
                "invoiceId": "cmr813qch002gokw9jalzfqjh",
                "kind": "MATERIALS",
                "description": "3-phase board, SWA, isolators, contactor",
                "qty": 1,
                "unitPrice": 1240,
                "sortOrder": 1
              },
              {
                "id": "cmr813qdm002jokw9imkcvrxm",
                "invoiceId": "cmr813qch002gokw9jalzfqjh",
                "kind": "CALLOUT",
                "description": "Out-of-hours works (Sunday close-down)",
                "qty": 1,
                "unitPrice": 250,
                "sortOrder": 2
              },
              {
                "id": "cmr813qdm002kokw9696gbe87",
                "invoiceId": "cmr813qch002gokw9jalzfqjh",
                "kind": "OTHER",
                "description": "Less deposit received",
                "qty": 1,
                "unitPrice": -943.5,
                "sortOrder": 3
              }
            ],
            "payments": []
          }
        ],
        "materials": [
          {
            "id": "cmr813pwe0028okw9c96e7vxc",
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "description": "3-phase distribution board",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 410,
            "createdAt": "2026-07-05T16:51:55.742Z"
          },
          {
            "id": "cmr813pwe0029okw9lnl0a9dk",
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "description": "SWA + glands + trunking",
            "supplier": "Chadwicks Coolock",
            "qty": 1,
            "unitCost": 380,
            "createdAt": "2026-07-05T16:51:55.742Z"
          },
          {
            "id": "cmr813pwe002aokw9fksmatpp",
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "description": "Isolators + contactor + RCBOs",
            "supplier": "Erne Electrical",
            "qty": 1,
            "unitCost": 265,
            "createdAt": "2026-07-05T16:51:55.742Z"
          }
        ],
        "timeEntries": [
          {
            "id": "cmr813py8002bokw9d83owgza",
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "teamMemberId": "cmr813o20000pokw9srldpibf",
            "date": "2026-06-24T08:00:00.000Z",
            "hours": 20,
            "notes": null
          },
          {
            "id": "cmr813py8002cokw9frkntlai",
            "jobId": "cmr813psk0022okw9wkjam0rm",
            "teamMemberId": "cmr813o20000rokw9v1gfucyx",
            "date": "2026-06-24T08:00:00.000Z",
            "hours": 20,
            "notes": null
          }
        ]
      },
      {
        "id": "cmr813qjd002lokw913mmqm9a",
        "jobNumber": 1004,
        "title": "Intermittent tripping — kitchen circuit",
        "description": "RCD tripping intermittently. Traced to water ingress in outdoor socket; replaced with IP66 unit, retested.",
        "jobType": "Fault find / repair",
        "status": "COMPLETE",
        "siteAddress": "12 Brookwood Rise, Artane, Dublin 5",
        "customerId": "cmr813oj2000zokw9mgppq7h8",
        "teamMemberId": "cmr813o20000qokw9flqr1b27",
        "templateId": null,
        "scheduledStart": "2026-07-02T13:00:00.000Z",
        "scheduledEnd": "2026-07-02T16:00:00.000Z",
        "completedAt": "2026-07-02T08:00:00.000Z",
        "createdAt": "2026-06-29T08:00:00.000Z",
        "quote": null,
        "invoices": [],
        "materials": [
          {
            "id": "cmr813qkz002mokw91bc6dorb",
            "jobId": "cmr813qjd002lokw913mmqm9a",
            "description": "IP66 outdoor double socket",
            "supplier": "Screwfix",
            "qty": 1,
            "unitCost": 22,
            "createdAt": "2026-07-05T16:51:56.628Z"
          }
        ],
        "timeEntries": [
          {
            "id": "cmr813qm2002nokw95n4unttq",
            "jobId": "cmr813qjd002lokw913mmqm9a",
            "teamMemberId": "cmr813o20000qokw9flqr1b27",
            "date": "2026-07-02T08:00:00.000Z",
            "hours": 2.5,
            "notes": "Fault find + replace outdoor socket"
          }
        ]
      },
      {
        "id": "cmr813qtj002pokw9cf951xw0",
        "jobNumber": 1005,
        "title": "Attic conversion — full electrical fit-out",
        "description": "First fix done. Second fix Thursday: 6 spots, 4 sockets, switching, smoke alarm to landing circuit.",
        "jobType": "Lighting",
        "status": "IN_PROGRESS",
        "siteAddress": "22 The Rise, Glasnevin, Dublin 11",
        "customerId": "cmr813obs000uokw9ecyrd6yd",
        "teamMemberId": "cmr813o20000pokw9srldpibf",
        "templateId": null,
        "scheduledStart": "2026-06-29T07:00:00.000Z",
        "scheduledEnd": "2026-07-03T16:00:00.000Z",
        "completedAt": null,
        "createdAt": "2026-06-15T08:00:00.000Z",
        "quote": {
          "id": "cmr813qul002qokw9v2hgiaya",
          "quoteNumber": 2004,
          "jobId": "cmr813qtj002pokw9cf951xw0",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-06-17T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-06-20T08:00:00.000Z",
          "publicToken": "cmr813qul002rokw9z01hji4w",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813qwd002sokw9a4xxgx67",
              "quoteId": "cmr813qul002qokw9v2hgiaya",
              "kind": "LABOUR",
              "description": "First + second fix, attic conversion",
              "qty": 32,
              "unitPrice": 55,
              "sortOrder": 0
            },
            {
              "id": "cmr813qwd002tokw9029rpmnu",
              "quoteId": "cmr813qul002qokw9v2hgiaya",
              "kind": "MATERIALS",
              "description": "Cable, spots, sockets, switches",
              "qty": 1,
              "unitPrice": 480,
              "sortOrder": 1
            }
          ]
        },
        "invoices": [],
        "materials": [
          {
            "id": "cmr813qxk002uokw9lbzexdvp",
            "jobId": "cmr813qtj002pokw9cf951xw0",
            "description": "Cable + back boxes (first fix)",
            "supplier": "Chadwicks Coolock",
            "qty": 1,
            "unitCost": 210,
            "createdAt": "2026-07-05T16:51:57.080Z"
          },
          {
            "id": "cmr813qxk002vokw9mhiy57y9",
            "jobId": "cmr813qtj002pokw9cf951xw0",
            "description": "LED spots x6",
            "supplier": "Screwfix",
            "qty": 6,
            "unitCost": 14,
            "createdAt": "2026-07-05T16:51:57.080Z"
          }
        ],
        "timeEntries": [
          {
            "id": "cmr813qz8002wokw9u8pxpslc",
            "jobId": "cmr813qtj002pokw9cf951xw0",
            "teamMemberId": "cmr813o20000pokw9srldpibf",
            "date": "2026-07-03T08:00:00.000Z",
            "hours": 16,
            "notes": "First fix complete"
          }
        ]
      },
      {
        "id": "cmr813r4x002xokw99lyb7nz3",
        "jobNumber": 1006,
        "title": "Electric shower install — 9.5kW",
        "description": "Replace 8.5kW with 9.5kW Triton. Check cable sizing — may need upgrade from 6mm to 10mm depending on run.",
        "jobType": "Shower install",
        "status": "SCHEDULED",
        "siteAddress": "89 Collins Avenue, Whitehall, Dublin 9",
        "customerId": "cmr813oef000wokw93v3gidxd",
        "teamMemberId": "cmr813o20000qokw9flqr1b27",
        "templateId": null,
        "scheduledStart": "2026-07-02T08:00:00.000Z",
        "scheduledEnd": "2026-07-02T13:00:00.000Z",
        "completedAt": null,
        "createdAt": "2026-06-26T08:00:00.000Z",
        "quote": {
          "id": "cmr813r5z002yokw9lm8kxefu",
          "quoteNumber": 2005,
          "jobId": "cmr813r4x002xokw99lyb7nz3",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-06-27T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-06-29T08:00:00.000Z",
          "publicToken": "cmr813r5z002zokw95jup8kal",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813r7r0030okw9cnzard0n",
              "quoteId": "cmr813r5z002yokw9lm8kxefu",
              "kind": "MATERIALS",
              "description": "Triton 9.5kW shower unit",
              "qty": 1,
              "unitPrice": 265,
              "sortOrder": 0
            },
            {
              "id": "cmr813r7r0031okw94ndnz8pv",
              "quoteId": "cmr813r5z002yokw9lm8kxefu",
              "kind": "LABOUR",
              "description": "Install + cable check/upgrade allowance",
              "qty": 1,
              "unitPrice": 340,
              "sortOrder": 1
            }
          ]
        },
        "invoices": [],
        "materials": [],
        "timeEntries": []
      },
      {
        "id": "cmr813rdg0032okw9gnygk2ga",
        "jobNumber": 1007,
        "title": "Landlord safety inspection — 2 units",
        "description": "Periodic inspection + cert for two apartments, Northwood Court. Access via management office.",
        "jobType": "Certification / inspection",
        "status": "SCHEDULED",
        "siteAddress": "Suite 4, Northwood Court, Santry, Dublin 9",
        "customerId": "cmr813okd0010okw9no7fk94m",
        "teamMemberId": "cmr813o20000rokw9v1gfucyx",
        "templateId": null,
        "scheduledStart": "2026-07-03T09:00:00.000Z",
        "scheduledEnd": "2026-07-03T14:00:00.000Z",
        "completedAt": null,
        "createdAt": "2026-06-28T08:00:00.000Z",
        "quote": {
          "id": "cmr813rei0033okw9gyrp3zhi",
          "quoteNumber": 2006,
          "jobId": "cmr813rdg0032okw9gnygk2ga",
          "status": "ACCEPTED",
          "vatRate": 13.5,
          "issueDate": "2026-06-28T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-06-30T08:00:00.000Z",
          "publicToken": "cmr813rei0034okw986x5x945",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813rga0035okw9ji2f7pc8",
              "quoteId": "cmr813rei0033okw9gyrp3zhi",
              "kind": "LABOUR",
              "description": "Periodic inspection + cert, 2 units",
              "qty": 2,
              "unitPrice": 180,
              "sortOrder": 0
            }
          ]
        },
        "invoices": [],
        "materials": [],
        "timeEntries": []
      },
      {
        "id": "cmr813rlz0036okw9ohx9b4h9",
        "jobNumber": 1008,
        "title": "Garden lighting + outdoor sockets",
        "description": "6 garden lights on smart switch, 2 outdoor sockets, feed to shed for workbench.",
        "jobType": "Lighting",
        "status": "QUOTED",
        "siteAddress": "41 Castle Avenue, Swords, Co. Dublin",
        "customerId": "cmr813ohc000yokw9slqerf7z",
        "teamMemberId": null,
        "templateId": null,
        "scheduledStart": null,
        "scheduledEnd": null,
        "completedAt": null,
        "createdAt": "2026-06-30T08:00:00.000Z",
        "quote": {
          "id": "cmr813rnb0037okw9l5mphht2",
          "quoteNumber": 2007,
          "jobId": "cmr813rlz0036okw9ohx9b4h9",
          "status": "SENT",
          "vatRate": 13.5,
          "issueDate": "2026-07-01T08:00:00.000Z",
          "expiryDate": "2026-07-31T08:00:00.000Z",
          "decidedAt": null,
          "publicToken": "cmr813rnb0038okw91ihxarb7",
          "acceptedBy": null,
          "notes": null,
          "lineItems": [
            {
              "id": "cmr813rou0039okw92n56m8r4",
              "quoteId": "cmr813rnb0037okw9l5mphht2",
              "kind": "LABOUR",
              "description": "Labour — outdoor circuits, 1.5 days",
              "qty": 12,
              "unitPrice": 55,
              "sortOrder": 0
            },
            {
              "id": "cmr813rou003aokw93fru2kng",
              "quoteId": "cmr813rnb0037okw9l5mphht2",
              "kind": "MATERIALS",
              "description": "Lights, SWA, sockets, smart switch",
              "qty": 1,
              "unitPrice": 620,
              "sortOrder": 1
            }
          ]
        },
        "invoices": [],
        "materials": [],
        "timeEntries": []
      },
      {
        "id": "cmr813s45003cokw9xc6hx59h",
        "jobNumber": 1009,
        "title": "Fuse board upgrade — 1970s board",
        "description": "Old rewireable fuse board, no RCD. Recommended full upgrade to RCBO board.",
        "jobType": "Fuse board upgrade",
        "status": "QUOTED",
        "siteAddress": "5 Ashford Close, Portmarnock, Co. Dublin",
        "customerId": "cmr813olw0011okw9om92kun4",
        "teamMemberId": null,
        "templateId": null,
        "scheduledStart": null,
        "scheduledEnd": null,
        "completedAt": null,
        "createdAt": "2026-06-19T08:00:00.000Z",
        "quote": {
          "id": "cmr813s5k003dokw9f89fqbsl",
          "quoteNumber": 2008,
          "jobId": "cmr813s45003cokw9xc6hx59h",
          "status": "DECLINED",
          "vatRate": 13.5,
          "issueDate": "2026-06-21T08:00:00.000Z",
          "expiryDate": null,
          "decidedAt": "2026-06-26T08:00:00.000Z",
          "publicToken": "cmr813s5k003eokw9j013x41w",
          "acceptedBy": null,
          "notes": "Went with a cheaper quote. Keep on file — board is genuinely unsafe, may come back.",
          "lineItems": [
            {
              "id": "cmr813s6o003fokw9a5wpitx7",
              "quoteId": "cmr813s5k003dokw9f89fqbsl",
              "kind": "MATERIALS",
              "description": "10-way RCBO board + SPD",
              "qty": 1,
              "unitPrice": 410,
              "sortOrder": 0
            },
            {
              "id": "cmr813s6o003gokw9bghj2s7l",
              "quoteId": "cmr813s5k003dokw9f89fqbsl",
              "kind": "LABOUR",
              "description": "Changeover, testing, cert",
              "qty": 1,
              "unitPrice": 450,
              "sortOrder": 1
            }
          ]
        },
        "invoices": [],
        "materials": [],
        "timeEntries": []
      },
      {
        "id": "cmr813scd003hokw9yvltoms0",
        "jobNumber": 1010,
        "title": "Extra sockets — home office x2",
        "description": "Aoife wants 4 extra double sockets and cat6 to two home-office rooms. Site visit needed.",
        "jobType": "Sockets & switches",
        "status": "LEAD",
        "siteAddress": "14 Griffith Avenue, Drumcondra, Dublin 9",
        "customerId": "cmr813o98000sokw9qpa59sut",
        "teamMemberId": null,
        "templateId": null,
        "scheduledStart": null,
        "scheduledEnd": null,
        "completedAt": null,
        "createdAt": "2026-07-03T08:00:00.000Z",
        "quote": null,
        "invoices": [],
        "materials": [],
        "timeEntries": []
      },
      {
        "id": "cmr813shx003jokw9v5u98j4v",
        "jobNumber": 1011,
        "title": "Immersion timer + smart thermostat",
        "description": "Replace broken immersion timer; interested in smart thermostat if reasonable.",
        "jobType": "Immersion / heating controls",
        "status": "LEAD",
        "siteAddress": "12 Brookwood Rise, Artane, Dublin 5",
        "customerId": "cmr813oj2000zokw9mgppq7h8",
        "teamMemberId": null,
        "templateId": null,
        "scheduledStart": null,
        "scheduledEnd": null,
        "completedAt": null,
        "createdAt": "2026-07-04T08:00:00.000Z",
        "quote": null,
        "invoices": [],
        "materials": [],
        "timeEntries": []
      }
    ],
    "teamMembers": [
      {
        "id": "cmr813o20000pokw9srldpibf",
        "name": "Mick Delaney",
        "role": "OWNER",
        "phone": "087 234 5678",
        "colour": "#f59e0b",
        "hourlyCost": 45,
        "active": true
      },
      {
        "id": "cmr813o20000qokw9flqr1b27",
        "name": "Dara Nolan",
        "role": "ELECTRICIAN",
        "phone": "086 111 2233",
        "colour": "#38bdf8",
        "hourlyCost": 32,
        "active": true
      },
      {
        "id": "cmr813o20000rokw9v1gfucyx",
        "name": "Seán Byrne",
        "role": "APPRENTICE",
        "phone": "089 887 6655",
        "colour": "#a78bfa",
        "hourlyCost": 16,
        "active": true
      }
    ]
  }
}