[
    {
        "name": "Detailed Shipment Excel Export Template",
        "slug": "detailed_shipment_excel_export_template",
        "description": "Detailed Shipment Excel Export Template",
        "max_row_count": 10000,
        "header_row": 5,
        "data_start_row": 6,
        "data_end_row": 10000,
        "data_filepath": "export/detailed_shipment_excel_export_template.xlsx",
        "lineitems": [
            {
                "order_no": 1,
                "field_name": "shipment_number",
                "column_name": "Shipment Number",
                "field_table": "shipments",
                "display_name": "shipment_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 2,
                "field_name": "customer_code",
                "column_name": "Customer Code",
                "field_table": "user_details",
                "display_name": "customer_code",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 3,
                "field_name": "customer_name",
                "column_name": "Customer Name",
                "field_table": "user_details",
                "display_name": "customer_name",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 4,
                "field_name": "delivery_location",
                "column_name": "Delivery Location",
                "field_table": "customers_delivery_addresses",
                "display_name": "delivery_location",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 5,
                "field_name": "customer_contact_no",
                "column_name": "Customer Contact No",
                "field_table": "customers_delivery_addresses",
                "display_name": "customer_contact_no",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 6,
                "field_name": "delivery_note_number",
                "column_name": "Delivery Note Number",
                "field_table": "delivery_notes",
                "display_name": "delivery_note_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 7,
                "field_name": "reference_number",
                "column_name": "Reference Number",
                "field_table": "delivery_notes",
                "display_name": "reference_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 8,
                "field_name": "date_of_issue",
                "column_name": "Date Of Issue",
                "field_table": "delivery_notes",
                "display_name": "date_of_issue",
                "default_value": null,
                "field_type_id": "DateTime",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 9,
                "field_name": "delivery_contact_name",
                "column_name": "Delivery Contact Name",
                "field_table": "delivery_notes",
                "display_name": "delivery_contact_name",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 10,
                "field_name": "delivery_contact_email",
                "column_name": "Delivery Contact Email",
                "field_table": "delivery_notes",
                "display_name": "delivery_contact_email",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 11,
                "field_name": "delivery_contact_number",
                "column_name": "Delivery Contact Number",
                "field_table": "delivery_notes",
                "display_name": "delivery_contact_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 12,
                "field_name": "item_code",
                "column_name": "Item Code",
                "field_table": "delivery_note_line_items",
                "display_name": "item_code",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 13,
                "field_name": "item_description",
                "column_name": "Item Description",
                "field_table": "delivery_note_line_items",
                "display_name": "item_description",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 14,
                "field_name": "slip_number",
                "column_name": "Slip Number",
                "field_table": "delivery_note_line_items",
                "display_name": "slip_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 15,
                "field_name": "section_number",
                "column_name": "Section Number",
                "field_table": "delivery_note_line_items",
                "display_name": "section_number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 16,
                "field_name": "quantity",
                "column_name": "Quantity",
                "field_table": "delivery_note_line_items",
                "display_name": "quantity",
                "default_value": null,
                "field_type_id": "Integer",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 17,
                "field_name": "length",
                "column_name": "Length",
                "field_table": "delivery_note_line_items",
                "display_name": "length",
                "default_value": null,
                "field_type_id": "Integer",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 18,
                "field_name": "weight",
                "column_name": "Weight",
                "field_table": "delivery_note_line_items",
                "display_name": "weight",
                "default_value": null,
                "field_type_id": "Integer",
                "is_individual": false,
                "individual_column": null
            }
        ],
        "queries": [
            {
                "query_string": "SELECT SHIPMENTS.ID AS shipments__id, SHIPMENTS.UUID AS shipments__uuid, SHIPMENTS.SHIPMENT_NUMBER AS shipments__shipment_number, USER_DETAILS.CODE AS user_details__customer_code, USER_DETAILS.FIRST_NAME || ' ' || COALESCE(USER_DETAILS.LAST_NAME, '') AS user_details__customer_name, CUSTOMERS_DELIVERY_ADDRESSES.DELIVERY_LOCATION AS customers_delivery_addresses__delivery_location, CUSTOMERS_DELIVERY_ADDRESSES.CUSTOMER_CONTACT_NO AS customer_delivery_addresses__customer_contact_no, DELIVERY_NOTES.DELIVERY_NOTE_NUMBER AS delivery_notes__delivery_note_number, DELIVERY_NOTES.REFERENCE_NUMBER AS delivery_notes__reference_number, DELIVERY_NOTES.DATE_OF_ISSUE AS delivery_notes__date_of_issue, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_NAME AS delivery_notes__delivery_contact_name, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_EMAIL AS delivery_notes__delivery_contact_email, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_NUMBER AS delivery_notes__delivery_contact_number, DELIVERY_NOTE_LINE_ITEMS.ITEM_CODE AS delivery_note_line_items__item_code, DELIVERY_NOTE_LINE_ITEMS.ITEM_DESCRIPTION AS delivery_note_line_items__item_description, DELIVERY_NOTE_LINE_ITEMS.SLIP_NO AS delivery_note_line_items__slip_number, DELIVERY_NOTE_LINE_ITEMS.SECTION_NUMBER AS delivery_note_line_items__section_number, DELIVERY_NOTE_LINE_ITEMS.QUANTITY AS delivery_note_line_items__quantity, DELIVERY_NOTE_LINE_ITEMS.LENGTH AS delivery_note_line_items__length, DELIVERY_NOTE_LINE_ITEMS.WEIGHT AS delivery_note_line_items__weight FROM SHIPMENTS INNER JOIN SHIPMENT_CUSTOMERS ON SHIPMENT_CUSTOMERS.SHIPMENT_ID = SHIPMENTS.ID AND SHIPMENT_CUSTOMERS.COMPANY_ID = SHIPMENTS.COMPANY_ID INNER JOIN USER_DETAILS ON USER_DETAILS.USER_ID = SHIPMENT_CUSTOMERS.CUSTOMER_ID AND USER_DETAILS.COMPANY_ID = SHIPMENTS.COMPANY_ID INNER JOIN SHIPMENT_LOCATION ON SHIPMENT_LOCATION.SHIPMENT_ID = SHIPMENTS.ID AND SHIPMENT_LOCATION.SHIPMENT_CUSTOMER_UID = SHIPMENT_CUSTOMERS.SHIPMENT_CUSTOMER_UID AND SHIPMENT_LOCATION.COMPANY_ID = SHIPMENTS.COMPANY_ID INNER JOIN CUSTOMERS_DELIVERY_ADDRESSES ON CUSTOMERS_DELIVERY_ADDRESSES.ID = SHIPMENT_LOCATION.CUSTOMER_ADDRESS_ID AND CUSTOMERS_DELIVERY_ADDRESSES.COMPANY_ID = SHIPMENTS.COMPANY_ID INNER JOIN SHIPMENT_DELIVERY_NOTES ON SHIPMENT_DELIVERY_NOTES.SHIPMENT_ID = SHIPMENTS.ID AND SHIPMENT_DELIVERY_NOTES.SHIPMENT_LOCATION_UID = SHIPMENT_LOCATION.SHIPMENT_LOCATION_UID AND SHIPMENT_DELIVERY_NOTES.COMPANY_ID = SHIPMENTS.COMPANY_ID AND SHIPMENT_DELIVERY_NOTES.DELETED_AT IS NULL INNER JOIN DELIVERY_NOTES ON DELIVERY_NOTES.ID = SHIPMENT_DELIVERY_NOTES.DELIVERY_NOTE_ID AND DELIVERY_NOTES.COMPANY_ID = SHIPMENTS.COMPANY_ID AND DELIVERY_NOTES.DELETED_AT IS NULL INNER JOIN DELIVERY_NOTE_LINE_ITEMS ON DELIVERY_NOTE_LINE_ITEMS.DELIVERY_NOTE_ID = DELIVERY_NOTES.ID AND DELIVERY_NOTE_LINE_ITEMS.COMPANY_ID = SHIPMENTS.COMPANY_ID AND DELIVERY_NOTE_LINE_ITEMS.DELETED_AT IS NULL WHERE SHIPMENTS.COMPANY_ID = '1' AND SHIPMENTS.STATUS_ID != '3' GROUP BY SHIPMENTS.ID, SHIPMENTS.UUID, SHIPMENTS.SHIPMENT_NUMBER, USER_DETAILS.CODE, USER_DETAILS.FIRST_NAME, USER_DETAILS.LAST_NAME, CUSTOMERS_DELIVERY_ADDRESSES.DELIVERY_LOCATION, CUSTOMERS_DELIVERY_ADDRESSES.CUSTOMER_CONTACT_NO, DELIVERY_NOTES.DELIVERY_NOTE_NUMBER, DELIVERY_NOTES.DATE_OF_ISSUE, DELIVERY_NOTES.CUSTOMER_ORDER_NUMBER, DELIVERY_NOTES.REFERENCE_NUMBER, DELIVERY_NOTES.SHIPMENT_TYPE, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_NAME, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_NUMBER, DELIVERY_NOTES.CUSTOMER_DELIVERY_CONTACT_EMAIL, DELIVERY_NOTE_LINE_ITEMS.ITEM_CODE, DELIVERY_NOTE_LINE_ITEMS.SLIP_NO, DELIVERY_NOTE_LINE_ITEMS.SECTION_NUMBER, DELIVERY_NOTE_LINE_ITEMS.QUANTITY, DELIVERY_NOTE_LINE_ITEMS.WEIGHT, DELIVERY_NOTE_LINE_ITEMS.ITEM_DESCRIPTION, DELIVERY_NOTE_LINE_ITEMS.LENGTH ORDER BY SHIPMENTS.ID DESC;",
                "query_name": "query1",
                "query_procedure": "query",
                "is_individual": false,
                "order_no": 1
            }
        ]
    },
    {
        "name": "POD Shipment List PDF Record Export Template",
        "slug": "pod_shipment_list_pdf_record_export_template",
        "description": "POD Shipment List PDF Record Export Template",
        "max_row_count": 0,
        "header_row": 0,
        "data_start_row": 0,
        "data_end_row": 0,
        "data_filepath": null,
        "template_type": "pdf",
        "pdf_configurations": {
            "template_content": "<div class=\"container py-2\" style=\"font-family:'Segoe UI', Arial, sans-serif; background:rgb(253,240,240); max-width:1100px; font-size:14px;\"><div class=\"row mb-5\" style=\"background:rgb(34,30,32); padding:22px 24px; border-radius:8px; align-items:center;\"><div class=\"col-2\"><img src=\"https://altaiseer.com/wp-content/uploads/2021/12/cropped-TALCO-Logo-3.png\" style=\"max-height:52px; background:#fff; padding:8px; border-radius:6px;\" /></div><div class=\"col-6\"><h2 style=\"color:#fff; font-weight:600; margin:0;\">Proof Of Delivery Report</h2><p style=\"color:rgb(250,225,225); font-size:13px; margin:0;\">Generated on: {{currentDate}}</p></div></div>{{#each (lookup . \"query 1\")}}<div class=\"row g-4 mb-5\"><div class=\"col-12 mb-4\"><div class=\"card border-0 shadow-sm\" style=\"border-left:5px solid rgb(122,18,20);\"><div class=\"card-body\"><h6 style=\"color:rgb(97,15,16); font-weight:600;\">Shipment Information</h6><div class=\"row mt-3\"><div class=\"col-6\"><label class=\"small text-muted d-block\">Shipment Number</label><span class=\"fw-bold\">{{this.[Shipment Number]}}</span></div><div class=\"col-6\"><label class=\"small text-muted d-block\">Delivery Note Number</label><span class=\"fw-bold\">{{this.[Delivery Note Number]}}</span></div></div></div></div></div><div class=\"col-12 mb-4\"><div class=\"card border-0 shadow-sm\" style=\"border-left:5px solid rgb(97,15,16);\"><div class=\"card-body\"><h6 style=\"color:rgb(97,15,16); font-weight:600;\">Customer Details</h6><div class=\"row mt-3 text-center\"><div class=\"col-3\"><label class=\"small text-muted d-block\">Customer Code</label><span class=\"fw-bold text-danger\">{{this.[Customer Code]}}</span></div><div class=\"col-3\"><label class=\"small text-muted d-block\">Customer Name</label><span class=\"fw-bold\">{{this.[Customer Name]}}</span></div><div class=\"col-3\"><label class=\"small text-muted d-block\">Delivery Location</label><span class=\"fw-bold\">{{this.[Delivery Location]}}</span></div><div class=\"col-3\"><label class=\"small text-muted d-block\">Delivery Contact Number</label>{{#if this.[Delivery Contact Number]}}<span class=\"fw-bold\">{{this.[Delivery Contact Number]}}</span>{{else}}<span class=\"text-muted small\">N/A</span>{{/if}}</div></div></div></div></div><div class=\"col-12 mb-4\"><div class=\"card border-0 shadow-sm\"><div class=\"card-body\"><h6 style=\"color:rgb(97,15,16); font-weight:600;\">POD Details</h6><div class=\"mt-3\"><label class=\"small text-muted d-block mb-1\">OTP</label>{{#if this.otp}}<span class=\"fw-bold\">{{this.otp}}</span>{{else}}<span class=\"text-muted small\">N/A</span>{{/if}}</div><div class=\"mt-3\"><label class=\"small text-muted d-block mb-2\">POD Images</label>{{#if this.[POD Images].length}}<div class=\"d-flex flex-wrap gap-3\">{{#each this.[POD Images]}}<div style=\"width:120px; height:90px; border-radius:6px; overflow:hidden; border:1px solid rgb(250,225,225); box-shadow:0 1px 3px rgba(0,0,0,0.08);\"><img src=\"https://deliveryapp.altaiseer.com/lcp-altaiseer-api/{{this.image}}\" style=\"width:100%; height:100%; object-fit:cover;\" /></div>{{/each}}</div>{{else}}<span class=\"text-muted small\">No POD Images</span>{{/if}}</div><div class=\"mt-3\"><label class=\"small text-muted d-block mb-2\">Customer Signature</label>{{#if this.[Customer Signature]}}<img src=\"https://deliveryapp.altaiseer.com/lcp-altaiseer-api/{{this.[Customer Signature]}}\" style=\"max-width:260px; max-height:140px; border:1px solid rgb(250,225,225); border-radius:6px;\" />{{else}}<span class=\"text-muted small\">No Signature Available</span>{{/if}}</div></div></div></div></div>{{/each}}</div>",
            "template_header": null,
            "template_footer": null,
            "is_paginated": false,
            "is_header_enabled": false,
            "is_footer_enabled": false,
            "is_repeatative_header": false,
            "is_repeatative_footer": false,
            "is_first_page_header_only": false,
            "is_first_page_footer_only": false,
            "page_size": "A4",
            "orientation": "portrait",
            "margin_top": 60.0,
            "margin_bottom": 30.0,
            "margin_left": 15.0,
            "margin_right": 15.0,
            "is_watermark_enabled": false,
            "watermark_text": null,
            "watermark_image": null,
            "watermark_position": "center",
            "font_family": "Helvetica",
            "font_size": 12.0,
            "color_theme": "light"
        },
        "lineitems": [
            {
                "order_no": 1,
                "field_name": "shipment_number",
                "column_name": "Shipment Number",
                "field_table": "shipments",
                "display_name": "Shipment Number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 2,
                "field_name": "customer_code",
                "column_name": "Customer Code",
                "field_table": "user_details",
                "display_name": "Customer Code",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 3,
                "field_name": "customer_name",
                "column_name": "Customer Name",
                "field_table": "user_details",
                "display_name": "Customer Name",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 4,
                "field_name": "delivery_location",
                "column_name": "Delivery Location",
                "field_table": "customers_delivery_addresses",
                "display_name": "Delivery Location",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 5,
                "field_name": "delivery_note_number",
                "column_name": "Delivery Note Number",
                "field_table": "delivery_notes",
                "display_name": "Delivery Note Number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 6,
                "field_name": "otp_number",
                "column_name": "otp",
                "field_table": "shipment_location",
                "display_name": "OTP NUMBER",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 7,
                "field_name": "pod_images",
                "column_name": "POD Images",
                "field_table": "shipment_location",
                "display_name": "POD Images",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 8,
                "field_name": "customer_signature",
                "column_name": "Customer Signature",
                "field_table": "shipment_location",
                "display_name": "Customer Signature",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            },
            {
                "order_no": 9,
                "field_name": "customer_delivery_contact_number",
                "column_name": "Delivery Contact Number",
                "field_table": "shipment_location",
                "display_name": "Delivery Contact Number",
                "default_value": null,
                "field_type_id": "String",
                "is_individual": false,
                "individual_column": null
            }
        ],
        "queries": [
            {
                "query_string": "select shipments.shipment_number as shipments__shipment_number, user_details.code as user_details__customer_code, user_details.first_name || ' ' || coalesce(user_details.last_name, '') as user_details__customer_name, customers_delivery_addresses.delivery_location as customers_delivery_addresses__delivery_location, string_agg(distinct delivery_notes.delivery_note_number, ', ') as delivery_notes__delivery_note_number, shipment_location.otp_number as shipment_location__otp_number, COALESCE((SELECT JSON_AGG(JSON_BUILD_OBJECT('image', img)) FROM unnest(string_to_array(shipment_location.pod_images, ',')) AS img), '[]') as shipment_location__pod_images, shipment_location.customer_signature as shipment_location__customer_signature, shipment_location.customer_delivery_contact_number as shipment_location__customer_delivery_contact_number from shipments left join shipment_customers on shipment_customers.shipment_id = shipments.id and shipment_customers.company_id = shipments.company_id left join user_details on user_details.user_id = shipment_customers.customer_id and user_details.company_id = shipments.company_id left join shipment_location on shipment_location.shipment_id = shipments.id and shipment_location.shipment_customer_uid = shipment_customers.shipment_customer_uid and shipment_location.company_id = shipments.company_id left join customers_delivery_addresses on customers_delivery_addresses.id = shipment_location.customer_address_id and customers_delivery_addresses.company_id = shipments.company_id left join shipment_delivery_notes on shipment_delivery_notes.shipment_id = shipments.id and shipment_delivery_notes.shipment_location_uid = shipment_location.shipment_location_uid and shipment_delivery_notes.company_id = shipments.company_id and shipment_delivery_notes.deleted_at is null left join delivery_notes on delivery_notes.id = shipment_delivery_notes.delivery_note_id and delivery_notes.company_id = shipments.company_id and delivery_notes.deleted_at is null left join delivery_note_line_items on delivery_note_line_items.delivery_note_id = delivery_notes.id and delivery_note_line_items.company_id = shipments.company_id and delivery_note_line_items.deleted_at is null where shipment_location.shipment_location_uid = ':grid_params.$gparam_2' group by shipments.shipment_number, user_details.code, user_details.first_name, user_details.last_name, customers_delivery_addresses.delivery_location, shipment_location.pod_images, shipment_location.customer_signature, shipment_location.otp_number, shipment_location.customer_delivery_contact_number order by shipments.shipment_number;",
                "query_name": "query 1",
                "query_procedure": "query",
                "is_individual": false,
                "order_no": 1
            }
        ]
    }
]