N1Developer docsv1

TYPE REFERENCE

JobCardConnection

Referenced by 2 generated operations.

Documented fields

  • edges[JobCardEdge!]!Required

    The rows on this page, in order.

    Example: [{"cursor":"WyIyMDI2LTEwLTAyIiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDE1Il0","node":{"id":"0192f0c1-0000-7000-8000-000000d20015","code":"JOB2","qrValue":"JC-00002","poNumber":"PO-2026-0002","partName":"Bush 25x30","quantity":60,"priority":"MEDIUM","dueDate":"2026-10-02","status":"IN_PROGRESS","operations":[{"seq":1,"name":"Threading","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"RUNNING","operatorName":"Esha Demo","machineName":"Lathe 1"},{"seq":3,"name":"Finishing","status":"PENDING","operatorName":"Esha Demo","machineName":null}]}},{"cursor":"WyIyMDI2LTEwLTA2IiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDI5Il0","node":{"id":"0192f0c1-0000-7000-8000-000000d20029","code":"JOB4","qrValue":"JC-00004","poNumber":"PO-2026-0004","partName":"Spindle Nut","quantity":100,"priority":"HIGH","dueDate":"2026-10-06","status":"NOT_STARTED","operations":[{"seq":1,"name":"Drilling","status":"PENDING","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"PENDING","operatorName":null,"machineName":null},{"seq":3,"name":"Finishing","status":"PENDING","operatorName":null,"machineName":null}]}},{"cursor":"WyIyMDI2LTEwLTEwIiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDNkIl0","node":{"id":"0192f0c1-0000-7000-8000-000000d2003d","code":"JOB6","qrValue":"JC-00006","poNumber":"PO-2026-0006","partName":"Coupling Hub","quantity":140,"priority":"HIGH","dueDate":"2026-10-10","status":"COMPLETED","operations":[{"seq":1,"name":"Turning","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":3,"name":"Finishing","status":"COMPLETED","operatorName":"Esha Demo","machineName":null}]}},{"cursor":"WyIyMDI2LTEwLTE0IiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDUxIl0","node":{"id":"0192f0c1-0000-7000-8000-000000d20051","code":"JOB8","qrValue":"JC-00008","poNumber":"PO-2026-0008","partName":"Shaft 40x200","quantity":180,"priority":"LOW","dueDate":"2026-10-14","status":"IN_PROGRESS","operations":[{"seq":1,"name":"Threading","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"RUNNING","operatorName":"Esha Demo","machineName":"Lathe 3"},{"seq":3,"name":"Finishing","status":"PENDING","operatorName":"Esha Demo","machineName":null}]}}]

    Show children
    • cursorString!Required

      Opaque position of this row in the list.

      Example: "WyIyMDI2LTEwLTAyIiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDE1Il0"

    • nodeJobCard!Required

      The JobCard.

      Example: {"id":"0192f0c1-0000-7000-8000-000000d20015","code":"JOB2","qrValue":"JC-00002","poNumber":"PO-2026-0002","partName":"Bush 25x30","quantity":60,"priority":"MEDIUM","dueDate":"2026-10-02","status":"IN_PROGRESS","operations":[{"seq":1,"name":"Threading","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"RUNNING","operatorName":"Esha Demo","machineName":"Lathe 1"},{"seq":3,"name":"Finishing","status":"PENDING","operatorName":"Esha Demo","machineName":null}]}

      Show children
      • billingJobCardBilling!Required

        Whether the job has been invoiced.

        • INVOICEDAn invoice exists for the job.
        • NOT_INVOICEDNo invoice yet.
      • codeString!Required

        The label on the paper card (“JOB1”).

        Example: "JOB2"

      • createdAtString!Required

        UTC time the card was made.

      • customerIdID!Required

        The customer (see customer).

      • customerNameString!Required

        The customer’s name.

      • designApprovalDesignApproval!Required

        Whether the drawing is approved. Work is ready only once it is.

        • APPROVEDThe design is approved.
        • PENDINGWaiting for a decision.
        • REJECTEDThe design was rejected.
      • designFileAppFileReferenceOptional

        The drawing.

        Show children
        • idID!Required

          File id; obtain authorised download URL from files API.

        • kindStringOptional

          Document category.

        • nameString!Required

          Display filename.

        • sizeBytesFloat!Required

          Size in bytes, safe integer.

      • dueDateString!Required

        The order’s promised date, YYYY-MM-DD in the shop’s timezone.

        Example: "2026-10-02"

      • idID!Required

        Stable id (UUIDv7).

        Example: "0192f0c1-0000-7000-8000-000000d20015"

      • jobNameStringOptional

        Job name.

      • lastActivityAtString!Required

        UTC time anything on the card last moved. “Stuck” is measured from here.

      • materialStringOptional

        Material.

      • materialQcAcceptance!Required

        The incoming material check. Work is ready only once it is accepted.

        • ACCEPTEDPassed.
        • PENDINGWaiting for a decision.
        • REJECTEDFailed.
      • materialSourceMaterialSourceOptional

        Where the material comes from; null until it is recorded.

        • BOUGHT_OUTBought from a supplier.
        • IN_HOUSECut from the shop’s own stock.
      • operations[JobOperation!]!Required

        The steps, in order.

        Example: [{"seq":1,"name":"Threading","status":"COMPLETED","operatorName":"Esha Demo","machineName":null},{"seq":2,"name":"Milling","status":"RUNNING","operatorName":"Esha Demo","machineName":"Lathe 1"},{"seq":3,"name":"Finishing","status":"PENDING","operatorName":"Esha Demo","machineName":null}]

        Show children
        • completedAtStringOptional

          UTC time the step finished.

        • idID!Required

          Stable id (UUIDv7).

        • machineIdIDOptional

          The machine it runs on, if one is assigned.

        • machineNameStringOptional

          That machine’s name.

          Example: null

        • nameString!Required

          What the step does.

          Example: "Threading"

        • operatorIdIDOptional

          The operator it is assigned to, if any.

        • operatorNameStringOptional

          That operator’s name.

          Example: "Esha Demo"

        • seqInt!Required

          Order of the step, from 1.

          Example: 1

        • startedAtStringOptional

          UTC time the step started.

        • statusJobOperationStatus!Required

          Where the step is.

          Example: "COMPLETED"

          • COMPLETEDFinished.
          • PAUSEDStopped part-way.
          • PENDINGNot started.
          • RUNNINGBeing worked on now.
      • orderIdID!Required

        The work order (see order).

      • partNameString!Required

        Part name.

        Example: "Bush 25x30"

      • poNumberString!Required

        The order’s PO number.

        Example: "PO-2026-0002"

      • priorityOrderPriority!Required

        The order’s priority.

        Example: "MEDIUM"

        • HIGHAhead of other orders.
        • LOWFill gaps in the schedule.
        • MEDIUMThe default.
      • qcHistory[QcRecord!]!Required

        Every check made on this card, oldest first.

        Show children
        • idID!Required

          Stable id (UUIDv7).

        • inspectorStringOptional

          Inspector’s name.

        • jobCardIdID!Required

          The job card checked.

        • jobOperationIdIDOptional

          The step checked; null for a raw material check.

        • kindQcKind!Required

          What was checked.

          • MACHINEA finished operation.
          • RMThe raw material, before the first operation.
        • operationNameStringOptional

          What the step does; null for a raw material check.

        • qrValueString!Required

          The job card’s QR text.

        • recordedAtString!Required

          UTC time the check was recorded.

        • recordedByIdID!Required

          Who made the check (User.id).

        • recordedByNameString!Required

          That person’s name.

        • rejectedMaterialRejectedMaterialOptional

          Set on a raw material rejection.

        • remarkStringOptional

          Inspector’s remark.

        • reportAppFileReferenceOptional

          The inspection report.

        • resultQcResult!Required

          The outcome.

          • ACCEPTEDRaw material accepted.
          • FAILEDOperation failed.
          • PASSEDOperation passed.
          • REJECTEDRaw material rejected.
        • stageString!Required

          Label shown in the app: “Incoming inspection”, “In-process QC” or “Final QC”.

      • qrValueString!Required

        The text printed as a QR code on the card. Unique in the shop; jobCardByQr resolves it.

        Example: "JC-00002"

      • quantityInt!Required

        Pieces to make.

        Example: 60

      • quotationAcceptance!Required

        Whether the customer accepted the quotation behind this job.

        • ACCEPTEDPassed.
        • PENDINGWaiting for a decision.
        • REJECTEDFailed.
      • statusJobCardStatus!Required

        Worked out from the operations.

        Example: "IN_PROGRESS"

        • COMPLETEDEvery operation is done.
        • IN_PROGRESSAt least one operation has started and not every one is done.
        • NOT_STARTEDNo operation has started.
        • PAUSEDAn operation is paused and none is running.
  • pageInfoPageInfo!Required

    Whether more pages exist, and the cursors to reach them.

    Example: {"hasNextPage":true,"hasPreviousPage":false,"endCursor":"WyIyMDI2LTEwLTE0IiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDUxIl0"}

    Show children
    • endCursorStringOptional

      Cursor of the last row; pass it as after to get the next page. Null when the page is empty.

      Example: "WyIyMDI2LTEwLTE0IiwiMDE5MmYwYzEtMDAwMC03MDAwLTgwMDAtMDAwMDAwZDIwMDUxIl0"

    • hasNextPageBoolean!Required

      Whether another page follows this one.

      Example: true

    • hasPreviousPageBoolean!Required

      Whether another page comes before this one.

      Example: false

    • startCursorStringOptional

      Cursor of the first row; pass it as before to page backwards. Null when the page is empty.

  • totalCountInt!Required

    All rows matching the filter and search, not just this page.

    Example: 12

Used by

Search documentation

Search operations, types and errors from the generated contract.