Work Orders

Service Work Order Template

Field-service work order with schedule strip, customer and technician details, item rows, notes, and signatures.

work-orderfield-servicetechnicianservice-ticketoperations

Template JSON

rev_20260529_v2_service_work_order
{
  "schema": {
    "fields": [
      {
        "key": "issuer_name",
        "type": "string",
        "required": true,
        "label": "Issuer name",
        "default_value": "gPdf Operations"
      },
      {
        "key": "issuer_line",
        "type": "string",
        "required": true,
        "label": "Issuer address",
        "default_value": "210 Market Street, San Francisco, CA"
      },
      {
        "key": "recipient_name",
        "type": "string",
        "required": true,
        "label": "Recipient name",
        "default_value": "Northstar Labs"
      },
      {
        "key": "recipient_line",
        "type": "string",
        "required": true,
        "label": "Recipient address",
        "default_value": "88 Harbor Way, Oakland, CA"
      },
      {
        "key": "document_number",
        "type": "string",
        "required": true,
        "label": "Document number",
        "default_value": "DOC-2026-0529"
      },
      {
        "key": "document_date",
        "type": "string",
        "required": true,
        "label": "Document date",
        "default_value": "2026-05-29"
      },
      {
        "key": "due_date",
        "type": "string",
        "required": false,
        "label": "Due date",
        "default_value": "2026-06-12"
      },
      {
        "key": "status",
        "type": "string",
        "required": true,
        "label": "Status",
        "default_value": "Ready"
      },
      {
        "key": "subtotal",
        "type": "string",
        "required": true,
        "label": "Subtotal",
        "default_value": "$1,240.00"
      },
      {
        "key": "tax",
        "type": "string",
        "required": true,
        "label": "Tax",
        "default_value": "$108.50"
      },
      {
        "key": "total",
        "type": "string",
        "required": true,
        "label": "Total",
        "default_value": "$1,348.50"
      },
      {
        "key": "notes",
        "type": "string",
        "required": true,
        "label": "Notes",
        "default_value": "Generated from a gPdf source JSON template."
      },
      {
        "key": "qr_payload",
        "type": "string",
        "required": true,
        "label": "QR payload",
        "default_value": "https://gpdf.com/templates"
      },
      {
        "key": "items",
        "type": "array",
        "required": true,
        "label": "Line items",
        "items": [
          {
            "key": "sku",
            "type": "string",
            "required": true,
            "label": "SKU",
            "default_value": "SKU-1001"
          },
          {
            "key": "description",
            "type": "string",
            "required": true,
            "label": "Description",
            "default_value": "Thermal label roll"
          },
          {
            "key": "qty",
            "type": "number",
            "required": true,
            "label": "Quantity",
            "default_value": 4
          },
          {
            "key": "location",
            "type": "string",
            "required": true,
            "label": "Location",
            "default_value": "A-01-03"
          }
        ]
      }
    ]
  },
  "layout": {
    "pages": [
      {
        "width": 210,
        "height": 297,
        "elements": [
          {
            "type": "rect",
            "x": 0,
            "y": 0,
            "width": 210,
            "height": 297,
            "z_index": 0,
            "fill": {
              "color": "#F8FAFC",
              "opacity": 1
            }
          },
          {
            "type": "rect",
            "x": 16,
            "y": 16,
            "width": 178,
            "height": 265,
            "z_index": 0,
            "fill": {
              "color": "#FFFFFF",
              "opacity": 1
            },
            "stroke": {
              "color": "#CBD5E1",
              "width": 0.3
            }
          },
          {
            "type": "rect",
            "x": 16,
            "y": 16,
            "width": 178,
            "height": 20,
            "z_index": 0,
            "fill": {
              "color": "#4338CA",
              "opacity": 1
            }
          },
          {
            "type": "text",
            "x": 22,
            "y": 22,
            "frame": {
              "width": 86
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Service Work Order"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 14,
                "color": "#FFFFFF",
                "font_weight": "bold"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 144,
            "y": 22,
            "frame": {
              "width": 40
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "document_number",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18,
                "align": "right"
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#FFFFFF"
              }
            },
            "z_index": 0
          },
          {
            "type": "rect",
            "x": 26,
            "y": 54,
            "width": 48,
            "height": 30,
            "z_index": 0,
            "fill": {
              "color": "#EEF2FF",
              "opacity": 1
            },
            "stroke": {
              "color": "#C7D2FE",
              "width": 0.25
            }
          },
          {
            "type": "rect",
            "x": 82,
            "y": 54,
            "width": 48,
            "height": 30,
            "z_index": 0,
            "fill": {
              "color": "#F8FAFC",
              "opacity": 1
            },
            "stroke": {
              "color": "#E5E7EB",
              "width": 0.25
            }
          },
          {
            "type": "rect",
            "x": 138,
            "y": 54,
            "width": 46,
            "height": 30,
            "z_index": 0,
            "fill": {
              "color": "#F8FAFC",
              "opacity": 1
            },
            "stroke": {
              "color": "#E5E7EB",
              "width": 0.25
            }
          },
          {
            "type": "text",
            "x": 31,
            "y": 62,
            "frame": {
              "width": 38
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Scheduled"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "document_date",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#3730A3"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 87,
            "y": 62,
            "frame": {
              "width": 38
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Window"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "due_date",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#374151"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 143,
            "y": 62,
            "frame": {
              "width": 34
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Status"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "status",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#374151"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 26,
            "y": 102,
            "frame": {
              "width": 70
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Customer",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "recipient_name"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "recipient_line"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#374151"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 112,
            "y": 102,
            "frame": {
              "width": 64
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Technician",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "issuer_name"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "issuer_line"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#374151"
              }
            },
            "z_index": 0
          },
          {
            "type": "table",
            "x": 26,
            "y": 142,
            "width": 174,
            "columns": [
              {
                "key": "sku",
                "header": "SKU",
                "width": {
                  "mode": "fixed",
                  "value": 34
                }
              },
              {
                "key": "description",
                "header": "Item",
                "width": {
                  "mode": "fixed",
                  "value": 82
                }
              },
              {
                "key": "qty",
                "header": "Qty",
                "width": {
                  "mode": "fixed",
                  "value": 16
                },
                "cell": {
                  "text": {
                    "text_align": "right"
                  }
                },
                "header_cell": {
                  "text": {
                    "text_align": "right"
                  }
                }
              },
              {
                "key": "location",
                "header": "Location",
                "width": {
                  "mode": "fixed",
                  "value": 42
                }
              }
            ],
            "rows": "{{#each items}}",
            "header": {
              "show": true,
              "repeat_on_page_break": true,
              "cell": {
                "fill": {
                  "color": "#4338CA"
                },
                "text": {
                  "color": "#FFFFFF",
                  "font_size": 6.8,
                  "font_weight": "bold"
                }
              }
            },
            "cell": {
              "padding": {
                "x": 1.4,
                "y": 2
              },
              "text": {
                "color": "#1F2937",
                "font_size": 6.4
              }
            },
            "body": {
              "alternate_fill": {
                "color": "#F8FAFC"
              }
            },
            "grid": {
              "top": {
                "color": "#CBD5E1",
                "width": 0.2
              },
              "bottom": {
                "color": "#CBD5E1",
                "width": 0.2
              },
              "horizontal": {
                "color": "#E5E7EB",
                "width": 0.18
              },
              "left": {
                "color": "#E5E7EB",
                "width": 0.18
              },
              "right": {
                "color": "#E5E7EB",
                "width": 0.18
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 26,
            "y": 224,
            "frame": {
              "width": 86
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Work notes",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "notes"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 6.6,
                "color": "#374151"
              }
            },
            "z_index": 0
          },
          {
            "type": "line",
            "x1": 26,
            "y1": 266,
            "x2": 94,
            "y2": 266,
            "stroke": {
              "color": "#9CA3AF",
              "width": 0.25
            },
            "z_index": 0
          },
          {
            "type": "line",
            "x1": 116,
            "y1": 266,
            "x2": 184,
            "y2": 266,
            "stroke": {
              "color": "#9CA3AF",
              "width": 0.25
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 26,
            "y": 270,
            "frame": {
              "width": 60
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Technician signature"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 5.8,
                "color": "#6B7280"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 116,
            "y": 270,
            "frame": {
              "width": 60
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Customer signature"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 5.8,
                "color": "#6B7280"
              }
            },
            "z_index": 0
          }
        ]
      }
    ]
  }
}
Sample data
{
  "issuer_name": "gPdf Operations",
  "issuer_line": "210 Market Street, San Francisco, CA 94105",
  "recipient_name": "Northstar Labs",
  "recipient_line": "88 Harbor Way, Oakland, CA 94607",
  "document_number": "WO-2026-3188",
  "document_date": "2026-05-29",
  "due_date": "2026-06-12",
  "status": "Scheduled",
  "subtotal": "$1,240.00",
  "tax": "$108.50",
  "total": "$1,348.50",
  "notes": "Operational PDF template with scan-ready identifiers, structured rows, and default gPdf metadata.",
  "qr_payload": "https://gpdf.com/templates/service-work-order-template",
  "items": [
    {
      "sku": "LBL-4X6-THERMAL",
      "description": "4 x 6 thermal label roll",
      "qty": 4,
      "location": "A-01-03"
    },
    {
      "sku": "BOX-SM-KRAFT",
      "description": "Small kraft mailer box",
      "qty": 12,
      "location": "B-04-02"
    },
    {
      "sku": "TAPE-SECURE",
      "description": "Tamper-evident packing tape",
      "qty": 2,
      "location": "C-02-01"
    },
    {
      "sku": "INS-PACK",
      "description": "Insert card pack",
      "qty": 25,
      "location": "D-06-04"
    }
  ]
}

Rendered PDF

PDF