Files
alla-allaos-fullstack/artifacts/pdf-audit/runtime-payload-report.json
phaichayon 51d67ef7c2 task-h.5.3
2026-06-19 17:15:28 +07:00

1426 lines
39 KiB
JSON

{
"audit": "runtime-payload",
"overallStatus": "PASS",
"staticLabelsStatus": "PASS",
"quotationCode": "QT-H5-AUDIT",
"templateName": "ALLA Quotation Standard",
"templateVersion": "1.1",
"findingCount": 202,
"findings": [
{
"field": "documentData.company.id",
"source": "documentData",
"status": "PASS",
"value": "2330c067-2737-4443-bd6e-ccb8a6cf856b",
"message": "String is populated"
},
{
"field": "documentData.company.name",
"source": "documentData",
"status": "PASS",
"value": "ALLA",
"message": "String is populated"
},
{
"field": "documentData.customer.id",
"source": "documentData",
"status": "PASS",
"value": "d181ede5-a7b3-4411-8d72-b78c57fc576a",
"message": "String is populated"
},
{
"field": "documentData.customer.name",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Demo Customer",
"message": "String is populated"
},
{
"field": "documentData.customer.address",
"source": "documentData",
"status": "PASS",
"value": "99/9 Rama IX Road, Bangkok 10310",
"message": "String is populated"
},
{
"field": "documentData.customer.phone",
"source": "documentData",
"status": "PASS",
"value": "02-000-1000",
"message": "String is populated"
},
{
"field": "documentData.customer.email",
"source": "documentData",
"status": "PASS",
"value": "demo-customer@local.test",
"message": "String is populated"
},
{
"field": "documentData.contact.id",
"source": "documentData",
"status": "PASS",
"value": "2266d861-4a18-460a-9c14-96f4080090f0",
"message": "String is populated"
},
{
"field": "documentData.contact.name",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Contact",
"message": "String is populated"
},
{
"field": "documentData.contact.email",
"source": "documentData",
"status": "PASS",
"value": "demo-contact@local.test",
"message": "String is populated"
},
{
"field": "documentData.contact.mobile",
"source": "documentData",
"status": "PASS",
"value": "081-000-1001",
"message": "String is populated"
},
{
"field": "documentData.contact.position",
"source": "documentData",
"status": "PASS",
"value": "Procurement Manager",
"message": "String is populated"
},
{
"field": "documentData.quotation.id",
"source": "documentData",
"status": "PASS",
"value": "3ba9c39c-8121-416a-99ed-59c4d120c72f",
"message": "String is populated"
},
{
"field": "documentData.quotation.code",
"source": "documentData",
"status": "PASS",
"value": "QT-H5-AUDIT",
"message": "String is populated"
},
{
"field": "documentData.quotation.projectName",
"source": "documentData",
"status": "PASS",
"value": "Task H.5 Audit Fixture",
"message": "String is populated"
},
{
"field": "documentData.quotation.projectLocation",
"source": "documentData",
"status": "PASS",
"value": "Bangkok HQ",
"message": "String is populated"
},
{
"field": "documentData.quotation.attention",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Contact",
"message": "String is populated"
},
{
"field": "documentData.quotation.reference",
"source": "documentData",
"status": "PASS",
"value": "TASK-H5-AUDIT",
"message": "String is populated"
},
{
"field": "documentData.quotation.currency",
"source": "documentData",
"status": "PASS",
"value": "THB",
"message": "String is populated"
},
{
"field": "documentData.quotation.currencyCode",
"source": "documentData",
"status": "PASS",
"value": "THB",
"message": "String is populated"
},
{
"field": "documentData.quotation.subtotal",
"source": "documentData",
"status": "PASS",
"value": 125000,
"message": "Scalar value is populated"
},
{
"field": "documentData.quotation.totalAmount",
"source": "documentData",
"status": "PASS",
"value": 128400,
"message": "Scalar value is populated"
},
{
"field": "documentData.items",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Collection payload is populated"
},
{
"field": "documentData.items[0].id",
"source": "documentData",
"status": "PASS",
"value": "12ee11d8-1404-4cf9-9944-097f184296df",
"message": "String is populated"
},
{
"field": "documentData.items[0].itemNumber",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[0].description",
"source": "documentData",
"status": "PASS",
"value": "1 set overhead crane with installation and commissioning",
"message": "String is populated"
},
{
"field": "documentData.items[0].quantity",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[0].unitLabel",
"source": "documentData",
"status": "PASS",
"value": "Set",
"message": "String is populated"
},
{
"field": "documentData.items[0].unitPrice",
"source": "documentData",
"status": "PASS",
"value": 125000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[0].discount",
"source": "documentData",
"status": "PASS",
"value": 5000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[0].totalPrice",
"source": "documentData",
"status": "PASS",
"value": 120000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[1].id",
"source": "documentData",
"status": "PASS",
"value": "b68d6a34-229d-4a62-ad59-faef2108874a",
"message": "String is populated"
},
{
"field": "documentData.items[1].itemNumber",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[1].description",
"source": "documentData",
"status": "PASS",
"value": "Load testing and safety certification",
"message": "String is populated"
},
{
"field": "documentData.items[1].quantity",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[1].unitLabel",
"source": "documentData",
"status": "PASS",
"value": "Set",
"message": "String is populated"
},
{
"field": "documentData.items[1].unitPrice",
"source": "documentData",
"status": "PASS",
"value": 25000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[1].discount",
"source": "documentData",
"status": "PASS",
"value": 0,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[1].totalPrice",
"source": "documentData",
"status": "PASS",
"value": 25000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[2].id",
"source": "documentData",
"status": "PASS",
"value": "a4b633ef-6fbb-4476-9a1b-5957f2dd64d9",
"message": "String is populated"
},
{
"field": "documentData.items[2].itemNumber",
"source": "documentData",
"status": "PASS",
"value": 3,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[2].description",
"source": "documentData",
"status": "PASS",
"value": "Operator training and turnover documentation",
"message": "String is populated"
},
{
"field": "documentData.items[2].quantity",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[2].unitLabel",
"source": "documentData",
"status": "PASS",
"value": "Set",
"message": "String is populated"
},
{
"field": "documentData.items[2].unitPrice",
"source": "documentData",
"status": "PASS",
"value": 8000,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[2].discount",
"source": "documentData",
"status": "PASS",
"value": 0,
"message": "Scalar value is populated"
},
{
"field": "documentData.items[2].totalPrice",
"source": "documentData",
"status": "PASS",
"value": 16000,
"message": "Scalar value is populated"
},
{
"field": "documentData.quotationCustomers",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Collection payload is populated"
},
{
"field": "documentData.quotationCustomers[0].id",
"source": "documentData",
"status": "PASS",
"value": "6b0d1e2c-ce89-4bfd-8d7a-8ef7eafe88d1",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[0].customerId",
"source": "documentData",
"status": "PASS",
"value": "d181ede5-a7b3-4411-8d72-b78c57fc576a",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[0].role",
"source": "documentData",
"status": "PASS",
"value": "ba173997-2078-45a9-bbf5-000c6a09c3ad",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[0].isPrimary",
"source": "documentData",
"status": "PASS",
"value": true,
"message": "Scalar value is populated"
},
{
"field": "documentData.quotationCustomers[1].id",
"source": "documentData",
"status": "PASS",
"value": "fc5165f3-2642-4e28-92ab-63be6f4f5232",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[1].customerId",
"source": "documentData",
"status": "PASS",
"value": "41c80a46-cf20-493d-b759-4193f4e336d0",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[1].role",
"source": "documentData",
"status": "PASS",
"value": "9e2e9f37-f400-4379-a72a-c78bea00581c",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[1].isPrimary",
"source": "documentData",
"status": "PASS",
"value": false,
"message": "Scalar value is populated"
},
{
"field": "documentData.quotationCustomers[2].id",
"source": "documentData",
"status": "PASS",
"value": "3cd96a36-b8bd-487a-9069-db728502be66",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[2].customerId",
"source": "documentData",
"status": "PASS",
"value": "5416445a-ce22-4b3c-803d-0d6e591ee1fa",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[2].role",
"source": "documentData",
"status": "PASS",
"value": "e6d0dd91-60c0-480e-8412-8daca7e50aa5",
"message": "String is populated"
},
{
"field": "documentData.quotationCustomers[2].isPrimary",
"source": "documentData",
"status": "PASS",
"value": false,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all",
"source": "documentData",
"status": "PASS",
"value": "rows:5",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[0].id",
"source": "documentData",
"status": "PASS",
"value": "f07d5ccd-784d-4c87-9ded-60ccb85bd0b0",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].title",
"source": "documentData",
"status": "PASS",
"value": "Scope",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].topicCode",
"source": "documentData",
"status": "PASS",
"value": "scope",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].topicType",
"source": "documentData",
"status": "PASS",
"value": "Scope",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].items",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[0].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "Supply crane equipment",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[0].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "Install and test the system",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[0].items[2].content",
"source": "documentData",
"status": "PASS",
"value": "Perform SAT with project stakeholders",
"message": "String is populated"
},
{
"field": "documentData.topics.all[0].items[2].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 3,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[1].id",
"source": "documentData",
"status": "PASS",
"value": "07337fe5-7ca5-419f-837c-27e9e6bc05f1",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].title",
"source": "documentData",
"status": "PASS",
"value": "Exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].topicCode",
"source": "documentData",
"status": "PASS",
"value": "exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].topicType",
"source": "documentData",
"status": "PASS",
"value": "Exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].items",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[1].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "Civil work by customer",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[1].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "Power feeder by customer",
"message": "String is populated"
},
{
"field": "documentData.topics.all[1].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[2].id",
"source": "documentData",
"status": "PASS",
"value": "e821ccb0-23fc-4c8a-828c-8ababe0f4896",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].title",
"source": "documentData",
"status": "PASS",
"value": "Payment",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].topicCode",
"source": "documentData",
"status": "PASS",
"value": "payment",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].topicType",
"source": "documentData",
"status": "PASS",
"value": "Payment",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].items",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[2].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "50% upon PO",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[2].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "40% before delivery",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[2].items[2].content",
"source": "documentData",
"status": "PASS",
"value": "10% after commissioning",
"message": "String is populated"
},
{
"field": "documentData.topics.all[2].items[2].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 3,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[3].id",
"source": "documentData",
"status": "PASS",
"value": "4754e4b5-0dd7-44d6-b7c2-1006ec5b526d",
"message": "String is populated"
},
{
"field": "documentData.topics.all[3].title",
"source": "documentData",
"status": "PASS",
"value": "Warranty",
"message": "String is populated"
},
{
"field": "documentData.topics.all[3].topicCode",
"source": "documentData",
"status": "WARNING",
"value": "",
"message": "String is empty"
},
{
"field": "documentData.topics.all[3].topicType",
"source": "documentData",
"status": "PASS",
"value": "Warranty",
"message": "String is populated"
},
{
"field": "documentData.topics.all[3].items",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[3].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "12 months after commissioning",
"message": "String is populated"
},
{
"field": "documentData.topics.all[3].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[3].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "Consumables excluded",
"message": "String is populated"
},
{
"field": "documentData.topics.all[3].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[4].id",
"source": "documentData",
"status": "PASS",
"value": "6fd51401-11cd-4388-91e4-734ba6b3de6c",
"message": "String is populated"
},
{
"field": "documentData.topics.all[4].title",
"source": "documentData",
"status": "PASS",
"value": "Delivery",
"message": "String is populated"
},
{
"field": "documentData.topics.all[4].topicCode",
"source": "documentData",
"status": "WARNING",
"value": "",
"message": "String is empty"
},
{
"field": "documentData.topics.all[4].topicType",
"source": "documentData",
"status": "PASS",
"value": "Delivery",
"message": "String is populated"
},
{
"field": "documentData.topics.all[4].items",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.all[4].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "Within 60 days after approved drawing",
"message": "String is populated"
},
{
"field": "documentData.topics.all[4].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.all[4].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "Subject to final site readiness",
"message": "String is populated"
},
{
"field": "documentData.topics.all[4].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.exclusion",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.exclusion[0].id",
"source": "documentData",
"status": "PASS",
"value": "07337fe5-7ca5-419f-837c-27e9e6bc05f1",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].title",
"source": "documentData",
"status": "PASS",
"value": "Exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].topicCode",
"source": "documentData",
"status": "PASS",
"value": "exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].topicType",
"source": "documentData",
"status": "PASS",
"value": "Exclusion",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].items",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Collection payload is populated"
},
{
"field": "documentData.topics.exclusion[0].items[0].content",
"source": "documentData",
"status": "PASS",
"value": "Civil work by customer",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].items[0].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 1,
"message": "Scalar value is populated"
},
{
"field": "documentData.topics.exclusion[0].items[1].content",
"source": "documentData",
"status": "PASS",
"value": "Power feeder by customer",
"message": "String is populated"
},
{
"field": "documentData.topics.exclusion[0].items[1].sortOrder",
"source": "documentData",
"status": "PASS",
"value": 2,
"message": "Scalar value is populated"
},
{
"field": "documentData.pdfme.labels.tel",
"source": "documentData",
"status": "PASS",
"value": "Tel",
"message": "String is populated"
},
{
"field": "documentData.pdfme.labels.email",
"source": "documentData",
"status": "PASS",
"value": "Email",
"message": "String is populated"
},
{
"field": "documentData.pdfme.labels.att",
"source": "documentData",
"status": "PASS",
"value": "Att",
"message": "String is populated"
},
{
"field": "documentData.pdfme.labels.project",
"source": "documentData",
"status": "PASS",
"value": "Project",
"message": "String is populated"
},
{
"field": "documentData.pdfme.labels.location",
"source": "documentData",
"status": "PASS",
"value": "Location",
"message": "String is populated"
},
{
"field": "documentData.pdfme.quotation_date",
"source": "documentData",
"status": "PASS",
"value": "Jun 16, 2026",
"message": "String is populated"
},
{
"field": "documentData.pdfme.quotation_price",
"source": "documentData",
"status": "PASS",
"value": "THB 125,000.00",
"message": "String is populated"
},
{
"field": "documentData.pdfme.quotation_price_data",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.exclusion_data",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.topic_1_0",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.item_topic_1_0",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.topic_1_1",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.item_topic_1_1",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.topic_1_2",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.item_topic_1_2",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.topic_1_3",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.item_topic_1_3",
"source": "documentData",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.topic_1_4",
"source": "documentData",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "documentData.pdfme.topic_inputs.item_topic_1_4",
"source": "documentData",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "documentData.signatures.preparedBy.name",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "documentData.signatures.preparedBy.position",
"source": "documentData",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "documentData.signatures.preparedBy.actedAt",
"source": "documentData",
"status": "PASS",
"value": "2026-06-19T07:03:05.000Z",
"message": "String is populated"
},
{
"field": "documentData.signatures.approvedBy.name",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "documentData.signatures.approvedBy.position",
"source": "documentData",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "documentData.signatures.approvedBy.actedAt",
"source": "documentData",
"status": "PASS",
"value": "2026-06-16T01:10:00.000Z",
"message": "String is populated"
},
{
"field": "documentData.signatures.authorizedBy.name",
"source": "documentData",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "documentData.signatures.authorizedBy.position",
"source": "documentData",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "documentData.signatures.authorizedBy.actedAt",
"source": "documentData",
"status": "PASS",
"value": "2026-06-16T01:20:00.000Z",
"message": "String is populated"
},
{
"field": "templateInput.customer_name",
"source": "templateInput",
"status": "PASS",
"value": "Task H.1 Demo Customer",
"message": "String is populated"
},
{
"field": "templateInput.customer_addr",
"source": "templateInput",
"status": "PASS",
"value": "99/9 Rama IX Road, Bangkok 10310",
"message": "String is populated"
},
{
"field": "templateInput.customer_tel",
"source": "templateInput",
"status": "PASS",
"value": "02-000-1000",
"message": "String is populated"
},
{
"field": "templateInput.customer_email",
"source": "templateInput",
"status": "PASS",
"value": "demo-customer@local.test",
"message": "String is populated"
},
{
"field": "templateInput.customer_att",
"source": "templateInput",
"status": "PASS",
"value": "Task H.1 Contact",
"message": "String is populated"
},
{
"field": "templateInput.project_name",
"source": "templateInput",
"status": "PASS",
"value": "Task H.5 Audit Fixture",
"message": "String is populated"
},
{
"field": "templateInput.site_location",
"source": "templateInput",
"status": "PASS",
"value": "Bangkok HQ",
"message": "String is populated"
},
{
"field": "templateInput.quotation_date_data",
"source": "templateInput",
"status": "PASS",
"value": "Jun 16, 2026",
"message": "String is populated"
},
{
"field": "templateInput.quotation_code_data",
"source": "templateInput",
"status": "PASS",
"value": "QT-H5-AUDIT",
"message": "String is populated"
},
{
"field": "templateInput.quotation_price_data",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.quotation_price",
"source": "templateInput",
"status": "PASS",
"value": "THB 125,000.00",
"message": "String is populated"
},
{
"field": "templateInput.currency",
"source": "templateInput",
"status": "PASS",
"value": "THB",
"message": "String is populated"
},
{
"field": "templateInput.tel_label",
"source": "templateInput",
"status": "PASS",
"value": "Tel",
"message": "String is populated"
},
{
"field": "templateInput.email_label",
"source": "templateInput",
"status": "PASS",
"value": "Email",
"message": "String is populated"
},
{
"field": "templateInput.att_label",
"source": "templateInput",
"status": "PASS",
"value": "Att",
"message": "String is populated"
},
{
"field": "templateInput.project_label",
"source": "templateInput",
"status": "PASS",
"value": "Project",
"message": "String is populated"
},
{
"field": "templateInput.site_label",
"source": "templateInput",
"status": "PASS",
"value": "Location",
"message": "String is populated"
},
{
"field": "templateInput.app1",
"source": "templateInput",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "templateInput.app1_position",
"source": "templateInput",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "templateInput.app2",
"source": "templateInput",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "templateInput.app2_position",
"source": "templateInput",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "templateInput.app3",
"source": "templateInput",
"status": "PASS",
"value": "Task H.1 Admin",
"message": "String is populated"
},
{
"field": "templateInput.app3_position",
"source": "templateInput",
"status": "PASS",
"value": "Sales Manager",
"message": "String is populated"
},
{
"field": "templateInput.topic_1_0",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.item_topic_1_0",
"source": "templateInput",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "templateInput.topic_1_1",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.item_topic_1_1",
"source": "templateInput",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "templateInput.topic_1_2",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.item_topic_1_2",
"source": "templateInput",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "templateInput.topic_1_3",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.item_topic_1_3",
"source": "templateInput",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "templateInput.topic_1_4",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "templateInput.item_topic_1_4",
"source": "templateInput",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "templateInput.quotation_date",
"source": "templateInput",
"status": "PASS",
"value": "Jun 16, 2026",
"message": "String is populated"
},
{
"field": "templateInput.quotation_code",
"source": "templateInput",
"status": "PASS",
"value": "QT-H5-AUDIT",
"message": "String is populated"
},
{
"field": "topicInputs.topic_1_0",
"source": "topicInputs",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "topicInputs.item_topic_1_0",
"source": "topicInputs",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "topicInputs.topic_1_1",
"source": "topicInputs",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "topicInputs.item_topic_1_1",
"source": "topicInputs",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "topicInputs.topic_1_2",
"source": "topicInputs",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "topicInputs.item_topic_1_2",
"source": "topicInputs",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "topicInputs.topic_1_3",
"source": "topicInputs",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "topicInputs.item_topic_1_3",
"source": "topicInputs",
"status": "PASS",
"value": "rows:3",
"message": "Array shape is valid"
},
{
"field": "topicInputs.topic_1_4",
"source": "topicInputs",
"status": "PASS",
"value": "rows:1",
"message": "Array shape is valid"
},
{
"field": "topicInputs.item_topic_1_4",
"source": "topicInputs",
"status": "PASS",
"value": "rows:2",
"message": "Array shape is valid"
},
{
"field": "templateInput.quotation_price_data",
"source": "templateInput",
"status": "PASS",
"value": "rows:1",
"message": "Price table input is present"
},
{
"field": "templateInput.quotation_price_data[0][0]",
"source": "templateInput",
"status": "PASS",
"value": "Price (Exclude VAT)",
"message": "Price table label matches canonical text"
},
{
"field": "templateInput.quotation_price_data[0][1]",
"source": "templateInput",
"status": "PASS",
"value": "฿125,000.00",
"message": "Price table amount cell is formatted"
},
{
"field": "templateInput.quotation_price_data[0][3]",
"source": "templateInput",
"status": "PASS",
"value": "THB",
"message": "Price table currency code cell is populated"
},
{
"field": "templateInput.tel_label",
"source": "templateInput",
"status": "PASS",
"value": "Tel",
"message": "Static label is populated"
},
{
"field": "templateInput.email_label",
"source": "templateInput",
"status": "PASS",
"value": "Email",
"message": "Static label is populated"
},
{
"field": "templateInput.att_label",
"source": "templateInput",
"status": "PASS",
"value": "Att",
"message": "Static label is populated"
},
{
"field": "templateInput.project_label",
"source": "templateInput",
"status": "PASS",
"value": "Project",
"message": "Static label is populated"
},
{
"field": "templateInput.site_label",
"source": "templateInput",
"status": "PASS",
"value": "Location",
"message": "Static label is populated"
}
]
}